Doom Prompt Builder
Doom Prompt Builder
- prompt
The modern text encoder wants structure, not a comma tsunami. On Flux, Krea 2, H3, and every other LLM-encoded model, your prompt is read like an instruction: the model parses blocks and binds attributes, and a wall of tags pasted in whatever order they fell out of your head reliably blurs into mush. Doom Prompt Builder is a small, honest answer to that - it gives you seven labeled boxes - prefix, subject, style, lighting, camera, quality, suffix - and joins the ones you actually filled in, in order, with a separator you control.
That's the whole job, and it's a good job to hand to a node. You type "candlelit evening" into the lighting field instead of burying it mid-sentence, and the assembled string comes out with a clean , between sections. Empty boxes are skipped, so you can build a reusable template where half the sections stay blank and nothing breaks.
The inputs
- separator - what joins the sections. Default
,, which is the right call for almost everything. Set it to\n\n(a blank line) if you're building the block-structured prompts the KB recommends for LLM-encoded models. - prefix / subject / style / lighting / camera / quality / suffix - all optional, all multiline. The order is fixed: whatever you put in
prefixcomes first,subjectsecond, and so on. That ordering is the actual feature - word order binds attributes on these models, so "candlelit evening" in lighting and "a woman reading" in subject reads differently than the reverse.
Output is a single prompt string. Feed it into any sampler's prompt input, or into a DoomTextShow if you want to eyeball the result before it touches a model.
Where it sits in a workflow
This is a composer, not a generator - it doesn't add anything on its own. Where it earns its place is in front of the Doom pack's own prompt machinery: let DoomRandomPrompt or DoomWordbook supply vocabulary, or DoomMultiPromptLoader supply subjects, and let the Builder be the stable spine that holds the format constant while you rotate content. It also pairs naturally with Doom_ReferenceFree in image-to-image setups, where the builder gives you a fixed "what do I want changed" template.
Install is the usual pack drill:
cd ComfyUI/custom_nodes
git clone https://github.com/PeterMikhai/Doom_Flux_NodePack
Restart ComfyUI, or grab it through Manager by searching "DoomAI Nodes". No extra dependencies - this is pure string assembly.
The honest caveats
- It won't write the prompt for you. The quality of what comes out is capped by what you put in each box. It's an organizational tool, not a creative one.
- Don't over-stuff the boxes. The KB's own finding is that prompts past ~75–100 effective tokens start drifting on LLM-encoded models. Seven fat sections of boilerplate is exactly how you overshoot. Keep
qualityto one or two words, not a paragraph. - Section order is fixed. If you want "camera" before "subject", this node isn't the tool - the order is baked in.
One light note: the whole pack is Russian-authored (tooltips are in Russian, the author signs off "Znai nashih!"), so the UI is a bilingual experience - the field names are English, but hover a tooltip and you may need a translation tab. Small price for a node that does its one job without drama.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| separator | STRING | , | Разделитель секций (по умолчанию ', ') |
| prefixopt | STRING | Начало промпта | |
| subjectopt | STRING | Сюжет/объект | |
| styleopt | STRING | Стиль | |
| lightingopt | STRING | Освещение | |
| cameraopt | STRING | Камера/ракурс | |
| qualityopt | STRING | Качество/детализация | |
| suffixopt | STRING | Концовка промпта |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | Собранный промпт |