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?

  • perchance@lemmy.worldM
    link
    fedilink
    English
    arrow-up
    3
    ·
    16 days ago

    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.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      15 days ago

      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.worldM
        link
        fedilink
        English
        arrow-up
        2
        ·
        5 days ago

        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.
          };