Nodes/jan-prompt-presets/Lighting Presets
ComfyUI Node

Lighting Presets

The other half of the cinematic prompt formula

By kursopiko·Created 6 months ago·Updated 6 months ago· 0
Lighting Presets
    • lighting_prompt
    presetNone / Custom
    custom_override

    Camera language gets the credit, but lighting is where the mood actually comes from. "Golden hour" versus "moody thriller" on the same subject is a different image entirely, and it's all down to a few well-chosen phrases. Lighting Presets is the sibling of Camera Presets: a dropdown of lighting setups, each expanded into a descriptive prompt string you drop into your positive prompt. If you're building the classic subject → camera → lighting → setting structure, this is the lighting block.

    How it works

    Same mechanism as Camera Presets - a lookup table, no model, no network. Nine presets, and these strings are longer and more clause-heavy than the camera ones, since lighting wants a few linked ideas to land: direction, quality, colour, atmosphere. "Golden Hour" gives you warm golden sunlight plus long soft shadows plus amber tones plus rim light. Feed the whole thing in and let the model sort it out.

    The custom_override input behaves identically to its camera sibling: fill it in and it replaces the dropdown completely. Handy as a saved "my go-to lighting" box.

    The options

    • Dramatic - strong directional light, deep harsh shadows, chiaroscuro
    • Cinematic - three-point lighting, color grading, anamorphic flare
    • Golden Hour - warm sunlight, long soft shadows, amber tones
    • Neon Night - vibrant neon, cyan/magenta spill, cyberpunk atmosphere
    • Moody Thriller - low key, cool tones, noir atmosphere
    • Soft Natural Daylight - diffused overcast light, even illumination
    • Moonlit Night - cool pale moonlight, silver and deep blue tones
    • Studio - professional softbox, clean white background
    • None / Custom - empty; use the override

    Inputs: preset and optional custom_override. Output: lighting_prompt, a plain STRING.

    Should you bother?

    These are longer phrases, so the "just type it yourself" argument is a little weaker here than with the camera node - this genuinely saves you a paragraph of prompt-writing per mood, and the wording is decent. Where it shines is again consistency: batch a character study across "Golden Hour", "Neon Night" and "Studio" and the lighting language stays uniform while the mood changes, which makes the comparisons read clean. Not a workflow-changer, but a nice block to have on the palette.

    Installing it

    Part of jan-prompt-presets (https://github.com/kursopiko/jan-prompt-presets) by JAN (@kursopiko). ComfyUI Manager: search jan-prompt-presets, install, restart. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/kursopiko/jan-prompt-presets
    

    Restart ComfyUI. No dependencies, no downloads. Node lives under prompt/presets.

    Troubleshooting

    • Empty output. You're on "None / Custom" with a blank override. Pick a preset.
    • Whitespace-only override ignored. The override is stripped before checking, so spaces fall back to the dropdown - intended behaviour, but it surprises people.
    • Node not in the menu. Pack not installed or no restart; check prompt/presets.
    Categoryprompt/presets

    Inputs (2)

    NameTypeDefaultDescription
    presetCOMBONone / CustomSelect a predefined lighting preset for your SDXL prompt.
    custom_overrideoptSTRINGIf filled, this overrides the dropdown selection entirely.

    Outputs (1)

    NameTypeDescription
    lighting_promptSTRING