Nox Prompt Lighting Master
The light setup you can read like a lighting plan
- lighting_prompt
- mood_notes
- technical_notes
- preset_status
Lighting is where generated images fall apart first - flat light, wrong mood, colors that fight each other. Nox Prompt Lighting Master is the pack's dedicated answer: one node that consolidates light source, quality, time of day, fill, backlight, practicals, atmosphere, and color gel into a single lighting prompt, plus mood notes and technical rigging notes. The README positions it as the "centralized lighting control" companion to the Builder, and the source backs that up - its vocabulary is enormous.
How it works
The constants.py dictionary for light sources alone is worth a look: something like fifty options from Daylight and Soft Light up to Aurora Curtain, Arc Welder, and Supernova Remnant, each mapping to a prompt clause and a summary. That's the whole mechanism in miniature - blueprint and key_style (the two required fields) plus the optional dropdowns resolve to curated prompt fragments, which assemble into lighting_prompt. mood_notes gives you the readable version of the look, and technical_notes collects the rigging language (fill, backlight, gels, practicals, special techniques) that you'd hand to a crew but keep out of the encode.
Two inputs are more interesting than the rest. intensity_bias nudges how strong the lighting reads, and safety_profile carries the pack's habit of safety/comfort guidance into lighting - the constants file even has notes about keeping light intensity softer for all-ages scenes. Every dropdown has a Custom Input option and matching *_custom field.
Inputs and outputs that matter
Required: blueprint and key_style. After that, light_source and time_of_day are the two that change a scene the most, so start there. Outputs: lighting_prompt (feed to Nox Prompt Builder's lighting_prompt input or straight to positive conditioning), mood_notes, technical_notes, and preset_status. Save your favorite setups with preset_action/preset_name - lighting looks are the most reusable thing in this pack.
Installing it
Pack install, once. ComfyUI Manager: search "Nox Prompter", install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/jamesk9526/NoxPrompter-ComfyUI-CustomNode
Restart, find the NoxPrompter category. Pure Python, no dependencies.
Gotchas
The classic pack-level stale README URL applies. Two practical notes: don't dump technical_notes into the encode - that's production documentation, and models don't understand "Kicker Highlights, featured edge accents" as well as they understand the plain lighting_prompt. And if you're building one master prompt by hand, use this node rather than the Builder's built-in lighting dropdowns - the README's whole point is that centralized lighting means one node owns the light so narrative, palette, and camera fragments don't contradict it. Contradiction detection between lighting and time-of-day is something the Pipeline Combiner actually checks for, which tells you the author expects you to keep it consistent.
Inputs (34)
| Name | Type | Default | Description |
|---|---|---|---|
| blueprint | COMBO | Three-Point | 12 options: None, Three-Point, Rembrandt, Split, Clamshell, High Key, +6 |
| key_style | COMBO | Softbox Key | 12 options: None, Softbox Key, Hard Spot, Fresnel, Sunbeam, Lantern, +6 |
| light_sourceopt | COMBO | Daylight | 49 options: None, Daylight, Artificial Light, Moonlight, Practical Light, Firelight, +43 |
| light_qualityopt | COMBO | Soft Light | 31 options: None, Soft Light, Hard Light, Top Light, Side Light, Backlight, +25 |
| time_of_dayopt | COMBO | Dusk | 25 options: None, Daytime, Nighttime, Dusk, Sunset, Dawn, +19 |
| fill_styleopt | COMBO | Soft Fill | 12 options: None, Negative Fill, Soft Fill, Bounce Wall, RGB Ambient, Prism Scatter, +6 |
| backlightopt | COMBO | Rim Strip | 12 options: None, Rim Strip, Hair Light, Halo Arc, Laser Back, Bioluminescent, +6 |
| practicalopt | COMBO | Lantern Cluster | 12 options: None, Lantern Cluster, Holo Billboards, Candle Field, Arc Reactors, Fiber Nebula, +6 |
| atmosphereopt | COMBO | Haze | 12 options: None, Haze, Fog Bank, Snowfall, Sand Drift, Ash Fall, +6 |
| color_gelopt | COMBO | Teal & Orange | 12 options: None, Teal & Orange, Magenta Cyan, Royal Purple, Emerald, Amber Glow, +6 |
| camera_settingsopt | COMBO | None | 12 options: None, Cinematic, Noir, Documentary, Hyperreal, Dreamscape, +6 |
| special_techniqueopt | COMBO | Shutter Drag | 12 options: None, Shutter Drag, Light Painting, Projection Mapping, Gobo Patterns, Lens Flares, +6 |
| energy_levelopt | COMBO | Dynamic | 12 options: None, Serene, Romantic, Dynamic, Sinister, Triumphant, +6 |
| safety_profileopt | COMBO | None | 12 options: None, Pyro, Laser, Water, Crowded Set, Strobe, +6 |
| subject_descriptionopt | STRING | — | |
| environment_descriptionopt | STRING | — | |
| accent_notesopt | STRING | — | |
| intensity_biasopt | FLOAT | 0.600–1 | — |
| blueprint_customopt | STRING | — | |
| key_style_customopt | STRING | — | |
| light_source_customopt | STRING | — | |
| light_quality_customopt | STRING | — | |
| time_of_day_customopt | STRING | — | |
| fill_style_customopt | STRING | — | |
| backlight_customopt | STRING | — | |
| practical_customopt | STRING | — | |
| atmosphere_customopt | STRING | — | |
| color_gel_customopt | STRING | — | |
| camera_settings_customopt | STRING | — | |
| special_technique_customopt | STRING | — | |
| energy_level_customopt | STRING | — | |
| safety_profile_customopt | STRING | — | |
| preset_actionopt | COMBO | none | 4 options: none, save, load, list |
| preset_nameopt | STRING | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| lighting_prompt | STRING | — |
| mood_notes | STRING | — |
| technical_notes | STRING | — |
| preset_status | STRING | — |