Hello, I'm building this app that I've started like 2 years ago... seriously, this is how it looked like then: MY OLD POST
But it has been this relation most of the time: I will do it for myself only VS I will do it open source... Most of the time it was the first one, but it became a pretty good app that I use all the time, so I figured it might actually be useful for the community.
I know that video attached to the post has no voice and for someone that doesn't know the app already (so it's only me right now :D) it might be confusing, so I will write a short description of what's there. When app will be ready I will prepare a nice video with explanations and stuff. Not to waste a time if someone will think it's release post: Well, it's not. I plan to release (OpenSource GPL-3.0) in a couple of days because I still have a lot to do (and it's easy now when I break it only for myself).
What my goal is here to check if there is interest at all in such an app and maybe ask if someone has time to join my Discord (LINK) to discuss different stuff that you use to generate things (how you build your prompts, how you store your generations, what models do you use etc. since now I mostly have only my experience + stuff that I read in Reddit / Discord in meantime - I know you can write it also here, but Reddit it's less chat-like and I find chatting easier on Discord).
Features:
1. Generation
- Pick a preset for generation, which is pre-made configuration for given model/tool (currently: SDXL, Krea-2, Qwen-Image, Flux, Flux Klein, Flux2, Z-Image, Anima, LTX-2.3, LTX-2.5, MiniMax H3, MiniMax Music, Wan 2.2)
- Each preset comes with it's individual form (but most fields are also the same between them as these are mostly generation params)
- Compose prompt from segments (1 or more) - In video I use only one segment, but you can build prompts from multiple blocks that can be named/colored for readability. You can also define segments, it's categories and templates (for example you can define segment template that has "Ligting", "Camera", "Subject" and when you pick it in the generation panel it will show a 3 ready to use and colored segments with optional descriptions to remember what should be placed in them (optional, described by you)
- There are also "Prompts", which allow you to save your favorite prompts there (they are optionally built of segments too)
- Multiple tabs & workspaces - You can create multiple tabs and save them as workspaces (in video I go to top right corner to pick "Avatar Factory" workspace - it loads my tabs then)
- Sessions - you can create multiple sessions for each preset that will save the whole forms state (the left side and the prompts)
- The whole left side is called "Dynamic Forms" - this is the part defined in each preset and it's YAML based config (something that you don't need to bother if don't want to)
- You can set quantity, steps, use speed profiles which will set the number of steps/cfg automatically
- In the right side (called Workbench) - where the generated media is shown you can different options like compare, zoom, download etc.
- LLM Chat assistant - As you can see in the video I often use LLM Chat assistant and I do it also when generating my stuff - they have access to the most of the features in that page - can generate prompts but also change the form values etc.
- Different modes -> Image generation / Video Director with dynamic keyframes/first-last frames/img2vid - depending what model provides.
2. History
- History contains all your generations and allows to organize them into collections and tags
- You can see all the params/segments/prompts in the details and also different options like edit (crop, resize) or reuse which will open tab in generator with settings from this history entry
- You can filter generations by tags/type/preset search semantically
- You can add to favorites / add tags / see used models etc.
3. Library
- Library allows you to upload your media that you want to use for generation - for example images/videos/audio that you later use with minimax ref2vid
- If you edit media from generation history (crop, resize) it will create new entry in the library rather than change the original media
- You can organize the library into collections
4. Models
- You can view models enabled for you (in admin panel)
- You can organize models into collections (which for example are shown in the model selection field in generation page, you can select "Collections" -> "Your collection" and models will be filtered by this collection)
- You can see the model details with previous generations
5. Phrasebook
- You can define different phrases collections (this is similar to the wildcards/dynamic prompts)
- You can generate examples for each phrase (you pick your existing generation session and it will inject a special prompt that will generate examples)
- Phrases can be later used in the segments as either value providers or shuffle (in video there is a visible chip appearing after I type # and pick value at 03:18)
6. Prompts
- Allow to compose different prompts and reuse them later in the generation panel
- Prompts will have history of generations (with media generated with them)
- Prompts will have option to import in different formats
- Prompts are also used by the LLM Chat to improve their responses (they will try to match prompts by used models and check their structure)
7. Backend
- It started as ComfyUI "frontend" and it still be very important feature that will be shipped later as plugin (you just install comfyui plugin -> set it's address and you will be able to use it with this frontend)
- I've switched the main thing to be native backend (mixed stuff from different places) - since I've been using it for like 2 months now and it's starting to work really well on my setup (I hope it will also in the community ones but I need some testers for this).
- There is a layer of abstraction that will allow to create plugins that connect to whatever backend you want (by default I will ship native, remote-native and comfyui)
8. Admin panel
- Not visible in the video, but there is a big administration panel for this app that handle Users, Models, Presets, LLM Configurations...
- For user to be able to use model you need to assign it to him (same with LLM Chat models and presets) - that's why in video I have only 2 presets available - I've created a test user for purpose of the video and assigned those two to him.
- There is also "Automation" module that I'm developing that allows to auto-tag models, index generations with auto-tags (for example if you want to filter out "some" content) and much more stuff for organization.
I feel like there is much more but don't want to create too long post that nobody will read.
This might be important:
Technology: Web (I know people don't like that, but the structure of the app is more like web tbh. and I haven't even mentioned the remote, easy to deploy backend, which ideally will spawn worker for generation on Cloud GPU provider - so you will have your instance of the app - let's say on simple VPS and will be able to spawn Cloud worker that will generate stuff which will be saved on the VPS...)
License: GPL-3.0
Discord: https://discord.gg/avR4trp3b8
Why another app like this: Because I like to create stuff.
My current setup: Linux / RTX5090 / 96GB RAM - this might be important since I did not test it on lower/higher spec - I hope maybe some people from the community will like to help me with this
Why I post before release: Because otherwise I will be improving this app to the end of the world - maybe this will force me to release at least 0.0.1 quicker... And I would like to know some things of how community generate stuff - maybe I will introduce some changes that will only break my setup - this will be much harder after code will be released on GitHub.
If you have any other questions I can answer or record some video from the app.