Lighting Modifier (Single)
20 lighting looks behind one ID number
- modified_prompt
The Lighting Modifier (Single) is the node that started ComfyUI-Variationator - v1.0 was basically just this, and it's still the one the pack's own quickstart points you at first. If you want to see the same subject at sunrise, golden hour, blue hour, and wet night without rewriting a prompt by hand, this is the node. Type your base prompt once, pick a number from 1 to 20, and out comes a comma-joined prompt with a full lighting description appended. That's the entire job, and it does it well.
It's pure string manipulation. The node instantiates a PromptOrchestrator that loads 20 hand-written lighting modifiers, each with an ID, a description, tags, and a DRY or WET category. Modifier 7, for example, expands to golden hour, warm low-angle side-light, clear sky. With preserve_base=True (the default), the node just appends that text: "Sports car on highway" becomes "Sports car on highway, golden hour, warm low-angle side-light, clear sky". Flip preserve_base=False and it first strips common lighting keywords (sunrise, sunset, morning, night…) out of your base text, then appends - handy when your prompt already says "at sunset" and you're swapping in night instead.
The three inputs you actually touch:
text- your base prompt, multiline.modifier_id- an integer from 1 to 20. This is the whole game: 1–16 are DRY (clear conditions), 17–20 are WET (low light, wet surfaces, reflections).preserve_base- append vs. replace. Keep ittrueunless your base prompt already names a time of day.
The single output, modified_prompt, is a plain STRING, so it wires straight into your CLIP Text Encode (or whatever text encoder your checkpoint uses). Because every node in this pack outputs STRING, you can chain them: Lighting #7 into Seasonal #12 into Camera #4 gives you a layered prompt in one pass.
Install is the same story as the whole pack: no Python dependencies, no model downloads, nothing to cache. ComfyUI Manager → search "Variationator" → install → restart, or cd ComfyUI/custom_nodes && git clone https://github.com/MushroomFleet/ComfyUI-Variationator.git. The repo ships an install-portable.bat that runs pip install -r requirements.txt, but there is no requirements.txt in the repo - you don't need it, the nodes run on pure Python. All nodes land under Prompt Orchestration.
Where people get burned: mostly over-stacking. The README itself warns against piling on 10+ modifiers - prompts get chaotic and the model starts averaging them into mush. Two to four dimensions is the sweet spot. And one honest caveat from how text works in 2026: comma-joined modifiers slot right into tag-based models (SD 1.5, SDXL, Pony, Illustrious), but if you're on an LLM-encoded model like Flux or Z-Image, they still work as plain descriptive text - just keep an eye on prompt length, since those models drift past roughly 75–100 effective tokens. If variations start looking samey, that's the classic fix: mix a DRY modifier with a WET one for contrast.
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 | — |