Nodes/ComfyUI-molbals-light-presets/Prompt Style Appender
ComfyUI Node

Prompt Style Appender

A curated cinematography vocabulary on a dropdown

By molbal·Created 7 months ago·Updated 7 months ago· 0
Prompt Style Appender
    • STRING
    base_prompt
    style_selection
    composition_selection

    The Prompt Style Appender is a prompt-builder node that appends carefully-written lighting and camera vocabulary to whatever prompt you feed it. Instead of hand-typing "dramatic Rembrandt lighting, low angle shot" and hoping the wording lands, you pick "Rembrandt Light" from one dropdown and "Low Angle" from another, and it does the phrasing for you. It ships as part of molbal/ComfyUI-molbals-light-presets, a tiny pack that's exactly what its name says: light presets, no heavy machinery.

    Why reach for it? Two reasons, and they're both about consistency. First, photographic lighting is one of the few prompt ingredients that reliably moves the result when phrased right - models trained on photography data know what "chiaroscuro" or "caustics" mean. Second, when you're iterating - comparing three lighting setups on the same subject, or generating a batch that has to stay visually coherent - you want the same phrasing every time. A dropdown can't be typo'd. That's the whole pitch, and honestly it's a good one for batch work.

    How it works

    There's no magic here, and no model. The node is a thin Python shim over two JSON files that ship with the pack: lighting_styles.json (33 lighting presets) and camera_comps.json (86 composition/camera presets). Each entry pairs a short name - [Professional] Rembrandt Light, [Standard] Golden Hour, Dutch Angle - with a full descriptive sentence.

    When you run it, the node looks up the two names you selected, grabs their prompt text, and joins them to your base prompt with commas, filtering out whatever you left empty. So "a woman in a red coat" + Golden Hour + Low Angle becomes something like:

    a woman in a red coat, bathed in the long, honey-colored rays of a setting sun low on the horizon, casting a warm, nostalgic glow and stretching shadows across the landscape, (Low-angle shot: camera positioned below eye level, looking up at the subject...)
    

    The output is a plain STRING, which is the one thing beginners consistently trip over - more on that below.

    The inputs that matter

    There are only three, and the two that matter are dropdowns:

    • base_prompt - your subject and scene, in your own words. Multiline, so paste freely.
    • style_selection - 33 lighting presets, grouped [Standard], [Professional], and [Creative] in the names. Standard is safe, Professional is named cinematography techniques, Creative is where the fun (neon wash, bioluminescent, cyberpunk strobe) lives.
    • composition_selection - 86 angle/shot/framing presets, from Low Angle to Security Cam Angle.

    The first, empty entry in each dropdown is deliberate: it means "append nothing." The single output (STRING) wires into a CLIP Text Encode node's positive input.

    Installing it

    The pack has no dependencies - no requirements.txt, no model downloads, pure standard library. Install like any custom node: in ComfyUI Manager, search "molbal" and install ComfyUI-molbals-light-presets, then restart. Or the manual route:

    cd ComfyUI/custom_nodes
    git clone https://github.com/molbal/ComfyUI-molbals-light-presets
    

    Then restart ComfyUI. You'll find Prompt Style Appender under the text/processing category.

    Gotchas & troubleshooting

    • The output is text, not a conditioning. This is the trap. You cannot wire the STRING straight into a sampler - it has to pass through a CLIP Text Encode node first. Forgetting that is how you get a mystery error on a node that looks like it should just work.
    • A single blank dropdown entry means the JSON failed to load. The node falls back to one empty option and prints Error loading lighting JSON to your ComfyUI console. That happens if the pack folder was renamed or moved after install. Re-clone and restart.
    • Want your own presets? The JSON files are plain text. Add an entry with a name and a prompt, restart ComfyUI, and your custom style shows up in the dropdown alongside the built-ins. Since the node re-reads the files at runtime, hand-editing is safe - you're just changing strings.
    • It won't fix your prompt. This is vocabulary, not a magic bullet: if your base prompt is contradictory, a nicely-phrased lighting suffix won't rescue it.

    One honest caveat: this is a brand-new, single-commit pack from a small author, not a community staple. What it does is simple enough to be trustworthy - but you're buying curation, not plumbing, and the value is only there if you actually reuse the dropdowns across a batch. If that's your workflow, it's a nice little tool. If you type every prompt from scratch, skip it and save the RAM (which, to be fair, is zero - it's the most "light" pack you'll ever install).

    Categorytext/processing

    Inputs (3)

    NameTypeDefaultDescription
    base_promptSTRING
    style_selectionCOMBO33 options: , [Professional] Softbox Effect, [Standard] Hard Direct Sun, [Standard] Muted Overcast, [Standard] Back Lighting, [Creative] Top-Down Noir, +27
    composition_selectionCOMBO86 options: , Low Angle, High Angle, Eye Level, Extreme Low Angle, Extreme High Angle, +80

    Outputs (1)

    NameTypeDescription
    STRINGSTRING