[question] Image data

if write to Gscale input=> "{10-20}"

and

imageOptions
  guidanceScale = [input.Gscale]
  saveDescription = Guidance Scale is [input.Gscale]
  
  // or
  saveDescription = Guidance Scale is [settings.imageOptions.guidanceScale] 
  

it will assign a random Guidance Scale to the image every time, but in its saveDescription, it will write a different random number instead of the used before.

Is there any way to get the value of the guidanceScale of this image?

4 points · 4 comments · view on lemmy.world

4 Comments

perchance@lemmy.world · 3 pts · 155d (3 replies)

Sorry for the delay on this, it's a good question. I'm assuming you're talking about using this plugin: https://perchance.org/t2i-framework-plugin-v2

If so, I've just added a settings.beforeGenerate function to make this easy to do:

settings
  beforeGenerate() =>
    gs = input.Gscale.evaluateItem;
  imageOptions
    guidanceScale = [gs]
    saveDescription = Guidance Scale is [gs]

That beforeGenerate function runs right after the user clicks the generate button, but before any images are actually generated, so you can use it to do any preprocessing work, like in this example where we create a variable with a specific guidanceScale value that'll be used in multiple other places in your code during the later phases.

I've added example usage at the bottom of the settings in this generator: https://perchance.org/ai-text-to-image-generator#edit

Let me know if you notice any bugs or have any issues with it.

qinerous@lemmy.world · 1 pts · 155d (2 replies)

Thank you very much for the function, it can really be useful for many tasks!

But unfortunately, in this particular situation, it doesn't work quite as expected. Without beforeGenerate(), guidanceScale currently gives for each image a random value that you specified (for example, {10-20}).

However, beforeGenerate() takes a single value from this range and assigns it to all images

perchance@lemmy.world · 2 pts · 144d (1 reply)

Ah good point! Sorry for the delay here, I've just added the ability to write imageOptions as a function - so you should now be able to just replace your original imageOptions with something like this:

imageOptions() =>
  gs = input.Gscale.evaluateItem;
  return {
    guidanceScale: gs,
    saveDescription: `Guidance Scale is ${gs}`,
    // ... etc.
  };
qinerous@lemmy.world · 1 pts · 143d

Thank you for your help!