Dream Creative Prompt Builder
A prompt builder that never calls an API
- prompt
- negative_prompt
- creative_brief_json
The pack's name is a lie, and that's a good thing. Dream Creative Prompt Builder (DreamPromptBuilder) doesn't interpret anything - it doesn't call an LLM, doesn't need an API key, doesn't even go online. What it does is turn your dream notes into a structured positive prompt, a negative prompt, and a JSON creative brief, deterministically, on your CPU. The original 2024 version of this project was a genuine LLM-powered dream explainer (that's where the "Interpreter" branding came from); v3.0.0 flipped it into offline tooling that makes no psychological claims, and this node is the pipeline's front end - it turns a paragraph of dream text into something a text-to-image model can actually chew on.
How it works
No cleverness, which is the point. It composes a prompt from a fixed template: your dream_text, wrapped in a visual_style, with mood and palette dropped in as clauses, plus a canned line about preserving "symbolic ambiguity, coherent spatial relationships, specific materials, intentional lighting, and a clear visual focal path." If you pick purpose = panorama generation, it prepends the crucial bit: seamless 2:1 equirectangular 360 panorama, level horizon. That preamble is what makes a 360 LoRA (like the 360Redmond one the author's original workflow used) actually produce a stitched-able panorama instead of a flat image. The negative prompt is fixed - a sensible list of literal text labels, watermark, UI, accidental duplicates, broken perspective, low detail plus a pointed "no clinical diagnosis."
One honest note from the prompting trenches: negatives still matter on SDXL-lineage checkpoints (which is what most 360 LoRAs ride on), so this node's fixed negative is genuinely useful there. If you're feeding a newer LLM-encoded model that ignores the negative box, don't blame the node - that's the model, not the prompt.
Inputs and outputs
- dream_text (multiline) - the source paragraph.
- purpose -
panorama generation(adds the equirect preamble),image generation,video generation, orcreative reflection. - visual_style - six presets from
cinematic surrealismtostorybook, pluscustom. - mood - seven options,
mysteriousthroughmixed. - palette - seven options,
moonlit bluethroughcustom. - custom_direction (multiline) - any extra direction; it gets appended to the prompt when non-empty.
Outputs: prompt and negative_prompt (strings you wire into a CLIP Text Encode node), and creative_brief_json - a structured brief (schema, purpose, style, mood, palette, source, disclaimer) you could save alongside a workflow or feed into Dream Journal Entry's reflection if you're building the full journaling graph.
Installing it
Shared with the whole pack - ComfyUI Manager (search ComfyUI-Dream-Interpreter) or:
cd ComfyUI/custom_nodes
git clone https://github.com/gokayfem/ComfyUI-Dream-Interpreter.git
python -m pip install -r requirements.txt
Restart ComfyUI. numpy and Pillow only. It's under text/dream journal.
Gotchas
It's a structured template, not a writer - the output is solid scaffolding, and you'll still want to hand-edit for specific shots. The custom options in style/palette don't unlock extra fields by themselves; they just avoid injecting a preset phrase, so custom_direction is where your actual direction goes. And if you're chasing panorama generation, don't skip the purpose dropdown - forgetting to set it is how you get a beautiful dreamy image that is definitely not 360.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| dream_text | STRING | — | |
| purpose | COMBO | 4 options: panorama generation, image generation, video generation, creative reflection | |
| visual_style | COMBO | 6 options: cinematic surrealism, dreamlike realism, storybook, dark fantasy, ethereal minimalism, custom | |
| mood | COMBO | 7 options: mysterious, calm, joyful, uneasy, melancholic, awe-filled, +1 | |
| palette | COMBO | 7 options: moonlit blue, warm sunrise, jewel tones, monochrome, pastel haze, natural, +1 | |
| custom_direction | STRING | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |
| negative_prompt | STRING | — |
| creative_brief_json | STRING | — |