zero01101 / openOutpaint

local offline javascript and html canvas outpainting gizmo for stable diffusion webUI API 🐠
MIT License
504 stars 44 forks source link

[Feature Request] Modular prompt management #159

Open muunkky opened 1 year ago

muunkky commented 1 year ago

For the best results, Prompts need to change a lot while outpainting. For me, this becomes the most inhibitive aspect of outpainting.

What I would love is the ability to add multiple prompt segments that you can turn "on" and "off". I'm imagining many text boxes with a check box beside them. Then you can put the prompt for the head in one, the background in another, and so on for various parts / aspects of the image. Then when outpainting you can select the relevant prompt "modules" for the area you are out/in-painting.

So far, I have been copying the original prompt in and editing it every time I run the imagine or inpaint tool. I guess I could use a document to organize the prompt and copy-paste as necessary. That would probably be the best alternative, or a spreadsheet maybe. I just discovered the prompt history tool, so maybe that will help a little.

Overall, I was just surprised at how much prompt refining was required to get good results

zero01101 commented 1 year ago

hey, so i certainly agree that there's a good amount of prompt work involved with anything substantial in stable diffusion, but i don't think this is a particularly fluid way of enhancing it. just off the top of my head:

just kind of imagining trying to use something like that doesn't seem any more convenient (but potentially more error-prone) than a spreadsheet in the background like you mentioned, and i certainly have no interest in reinventing microsoft excel lol ;)

guzuligo commented 1 year ago

I think a simple interface to a text file is sufficient.

The only enhancement it would need is some keyboard shortcuts to clear prompt, replace it and append to it. Example: press shift and ctrl+v send to prompt, ctrl+x replaces prompt, ctrl+c imports what is in the prompt.

That way, you would just need to navigate your text file interface. And then you can save your text files normally and can even edit them outside of the app.

And then, maybe there can be an option when you want to continue working on a piece, you just save the canvas along with the text file and they get the same file name so that when you load, you have even the text file ready.

seijihariki commented 1 year ago

We can try using some type of autocompleting with custom user-defined tags with values; danbooru tag autocomplete style. This would avoid much clutter on the UI, and still allow for custom in/outpainting prompt shortcuts.

muunkky commented 1 year ago

@zero01101 I was really thinking of something much simpler. Just have multiple text fields with check boxes, that's it. add more text boxes for new stuff and then be able to turn it off and on as you go. Click the little trash button to remove that text box if you don't need it anymore.

If the prompt is just an aggregate of the text boxes, then that should be plenty.

Xotchkass commented 1 year ago

@muunkky I personaly don't think this is enough, because you need to rearange tags and change their weights. I am thinking about something like this. where every box is draggable and have weight field. Untitled-2022-05-06-2040

muunkky commented 1 year ago

that's fancy. I was just thinking "I don't want there to be a fish here" or "I don't want it rendering the face in this part" or "let's add a pretty painting here"