RupertAvery / DiffusionToolkit

Metadata-indexer and Viewer for AI-generated images
MIT License
738 stars 46 forks source link

add ability to export prompt data to text file #78

Open mlengle opened 1 year ago

mlengle commented 1 year ago

please add ability to export image metadata to a text file

the format could be plain text like invokeai does in invoke_log.txt

[Generated] "\invoke\outputs\001933.b74dc82b.2350011342.png": "professional illustration of dark room, mysterious (test tube glass green liquid)+ on the floor leaking
detailed, hdr, muted colors, art, pastel -s 25 -S 2350011342 -W 640 -H 768 -C 7.5 -A k_dpmpp_2_a

or some json format

RupertAvery commented 1 year ago

That's a useful feature. I'm sure others would like different formats depending on what tool they use.

Would it be dumped into a single text file?

mlengle commented 1 year ago

it can prompt for a file name or gather into a single file, just start with anything and then watch for people's complains/praises :)

as for the formats, anything fits if it's easy to parse with a regexp

noantidote commented 11 months ago

I would like this feature also. or just be able to mouse highlight the prompts in prompt tab and copy/paste into notepad.

Woisek commented 11 months ago

please add ability to export image metadata to a text file

Why don't you just activate the option to save to a TXT file when generating images? 🤔

noantidote commented 11 months ago

good question. let me explain. i use dynamic prompts in auto1111 and make like 3000 images with random prompts. i have in the past checked the box to make the text file of ALL of the prompts. But this became somewhat useless because i would grade all 3000 png files for either "keep and make new images from this exact prompt using different models/seeds" or else the image would be in the "delete" file. so now the huge list of 3000 prompts doesn't mean so much. I just want prompts of the images I put into the "keep" folder. Ideally I'd like a script that reads a folder on my harddrive and makes a CSV file of every prompt in that folder (since those are the random prompts I want to replicate since they gave an interesting image in the first place). I have spent a great deal of time interrogating chatgpt and I have a script that is about 90% there, but I can't figure out/ find out on the internet what keyword in a png file is used to denote the prompt. I think it is "title" but I haven't had a chance to test it yet. So as I try to tackle this problem from several angles I wanted to feature request the ability to mouse-lasso the prompts listed in the program and copy paste.

On Thu, Sep 21, 2023 at 8:07 AM Woisek @.***> wrote:

please add ability to export image metadata to a text file

Why don't you just activate the option to save to a TXT file when generating images? 🤔

— Reply to this email directly, view it on GitHub https://github.com/RupertAvery/DiffusionToolkit/issues/78#issuecomment-1729529887, or unsubscribe https://github.com/notifications/unsubscribe-auth/A3RW2ZQSXZ7IBYLCHD7RQJLX3Q3YHANCNFSM6AAAAAAXAFO4YU . You are receiving this because you commented.Message ID: @.***>

Woisek commented 11 months ago

I still don't quite get it, but if you sort the images already, where is the problem to move the txt files along with the image you keep? Besides that, what you obviously need, is some external tool, and not something that A1111 should or could do. Once the image is generated (and no further processing is done), the job and purpose of A1111 is over.

The only thing that comes near your request, would be the image browser extension in A1111. But then you have to talk to AlUlkesh if this is even possible and he is willing to implement such a feature. I don't see how or why A1111 should take this task.

Another possibility would be a command line tool, that reads all PNGs in a folder and outputs the prompts into a text file. I'm not aware of such a tool, but that doesn't mean it doesn't exists already. The only thing I could suggest here, would to get in touch with receyuki and ask him, if his SD Prompt Reader could be modified to batch extract prompts from images, either directly from the program itself or when used as a command line tool.

noantidote commented 11 months ago

I just ended up brute-forcing the keyword for the prompt and made my own python script. it scrapes all the prompts off of all the png's in any given folder with the photo name. I could include all the other meta data if i want since the csv file separated each category, making it easy to, say, change all of the prompts by adding a new keyword, or manipulating the seeds and it is all saved back to the same folder as a csv file, ready to be copy/pasted back into auto1111 to make more variations with those same good prompts. thanks for your help.

On Thu, Sep 21, 2023 at 10:30 AM Woisek @.***> wrote:

I still don't quite get it, but if you sort the images already, where is the problem to move the txt files along with the image you keep? Besides that, what you obviously need, is some external tool, and not something that A1111 should or could do. Once the image is generated (and no further processing is done), the job and purpose of A1111 is over.

The only thing that comes near your request, would be the image browser extension in A1111. But then you have to talk to AlUlkesh if this is even possible and he is willing to implement such a feature. I don't see how or why A1111 should take this task.

Another possibility would be a command line tool, that reads all PNGs in a folder and outputs the prompts into a text file. I'm not aware of such a tool, but that doesn't mean it doesn't exists already. The only thing I could suggest here, would to get in touch with receyuki and ask him, if his SD Prompt Reader could be modified to batch extract prompts from images, either directly from the program itself or when used as a command line tool.

— Reply to this email directly, view it on GitHub https://github.com/RupertAvery/DiffusionToolkit/issues/78#issuecomment-1729819267, or unsubscribe https://github.com/notifications/unsubscribe-auth/A3RW2ZSYDLKV6ZZ6P7PUPI3X3RMS5ANCNFSM6AAAAAAXAFO4YU . You are receiving this because you commented.Message ID: @.***>