Mood Modifier (Single)
The emotional tone dial hiding behind a number
- modified_prompt
Mood Modifier is the node that changes how a scene feels rather than what's in it. Same subject, same light, different emotional temperature - twenty hand-written mood descriptions organized into four bands: energetic/dynamic (1–4), calm/serene (5–8), mysterious/enigmatic (9–12), and luxurious/premium (13–16), with epic/heroic rounding out 17–20. It's the pack's "vibe" dimension, and for anything from portrait work to product photography, it's often the difference between a render that's technically correct and one that lands.
The format is consistent with the rest of the pack: type your base prompt, pick a modifier_id, and get back {base}, {mood description}. Modifier 13 - "luxurious elegance, premium quality, sophisticated presence" - is the one the README calls out as most popular, and you can see why: tack that onto a product shot and it reads as a commercial-grade brief. Modifier 1 is "vibrant energy, exciting atmosphere, dynamic presence"; 5 is "peaceful tranquility, calm atmosphere, serene mood"; 9 is "mysterious ambiance, intriguing atmosphere, enigmatic presence." All pure text, all designed to slot into a prompt.
The inputs: text (base prompt), modifier_id (1–20, default 7), preserve_base (default true). Note there's no DRY/WET split on this dimension - those categories only exist on lighting, seasonal, and weather - so preserve_base is the only real toggle, and for mood it mostly means "append" vs. "append after cleaning mood words out of my base." Output: single STRING, modified_prompt.
Install is the pack-standard zero-dependency affair: ComfyUI Manager → search "Variationator" → install → restart, or cd ComfyUI/custom_nodes && git clone https://github.com/MushroomFleet/ComfyUI-Variationator.git. No models, no requirements file to pip-install (the install-portable.bat references one the repo doesn't ship). Everything appears under Prompt Orchestration.
My honest take: mood is the dimension where results diverge most between models, because "vibe words" are exactly the kind of soft vocabulary that tag-based SDXL-family checkpoints and LLM-encoded models handle very differently. On a modern model that reads prompts as instructions, a phrase like "cinematic suspense, anticipatory mood" can genuinely steer a scene; on an older tag model it's weaker glue. So treat this node as a nudge, and test whether your checkpoint responds before building a whole workflow around it. If mood variations all look identical, the pack's own guidance applies: mix in a different dimension (lighting or weather) rather than stacking more mood words - more of the same dimension is prompt soup, not more mood.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | Subject description here | — |
| modifier_id | INT | 71–20 | — |
| preserve_base | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| modified_prompt | STRING | — |