-
Notifications
You must be signed in to change notification settings - Fork 76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
proposal: automatic output file naming #80
Comments
I would like to ask if it is possible to embed the prompt as EXIF data in a PNG file, so that when the image is imported into photographic software, the prompt appears as a description. In general, could the JSON created with the –metadata option also be embedded as EXIF data? |
@azrahello We do export this information with the created png file since a while back (even if you do not include the -metadata flag). For example, for an image
then you will see this kind of information (including the prompt):
I did not spend too much time on the this feature, and there are probably better ways to structure this information so that it can be read by various image applications. E.g would be nice if it was shown in the info section in macOS etc (right now it is not shown) ![]() |
@anthonywu I like your suggestions here |
The intent here is to turn a long prompt paragraph into a few keywords for purposes of generating a file name from a user prompt. After some research, I considered using the
Feedback and ideas welcome from the community here. Add some convenience at the cost of complexity? |
Hello @anthonywu I fully understand your concern about the pulled dependencies. Let me just suggest an alternative solution that would potentially "externalise" the complexity and dependencies since naming the files is not really part of the generation process: as all the metadata (including the prompts) are embedded in the image, could that feature be just part of a secondary tool to "batch rename" the outputs (ie. iterating all the files in a folder, implementing your solution to extract keywords from the prompt recovered from the image metadata to rename the file)? It could become either another repository like the Streamlit frontend, or an optional component you could install with pip install mflux[renamer]. A little less user-friendly of course... Best, |
I think an opt-in renamer would be a good option if metadata is available. If the user did not elect to install the optional libraries the renamer can do a no-op and print a message. Taking this further, using uv to run such a tool in its own venv is something I can explore. Perhaps this can be done in a single standalone .py script even. |
Even though #120 satisfies some of this original request from myself, I'll keep this open because I think I can get the date/timestamp and the dimensions into the standard naming conventions as well as allow some third party programmatic control via output namer hooks. |
Currently the pattern for automatic image naming is
image.*
and the subsequent images are smartly indexed asimage-N.*
etc.However, I think we can make some improvements:
image-512x512.png
dog-play-in-park.*
. The tool can be something traditional/fast likenltk
or some other modern embedding/ranking tool for finding the most relevant keywords.{iso_date} ISO date
yyyy-mm-dd`{unix_timestamp}
viadate +%s
or python str fmt{seed}
guidance
,quantize
, etcnot trying to scope creep on what we support - just enough that every file name can be reasonably expected to be unique (seed and prompt summary, at the minimum)
We can also make a API for a
OutputFileNamer
- we'll provide reasonable defaults, and any users of the library can inject their own customization as needed.The text was updated successfully, but these errors were encountered: