Nodes/ComfyUI-CSV-Loader/Load Lighting CSV
ComfyUI Node

Load Lighting CSV

Butterfly lighting, minus the glossary lookup

By Philip-Combs·Created 3 years ago·Updated about a year ago· 20
Load Lighting CSV
    • positive prompt
    • negative prompt
    lighting

    There's a whole vocabulary for how light hits a subject - butterfly, broad, rim, golden hour - and models actually respond to it. The catch is remembering the words and spelling them right mid-workflow. Load Lighting CSV is a dropdown of lighting terms that drops the correctly named setup into your prompt, so "Backlighting" or "Bright Festive Holiday Lights" is one click instead of one anxious memory check.

    It's one of ten CSV loaders in PCMonsterx/ComfyUI-CSV-Loader. Same pattern as its siblings: read a file, build a dropdown, return the prompt text. The shipped lighting.csv is a solid starter set - Artificial Indoor Lighting, Backlighting, Bright and Sunny, Broad Lighting, Butterfly Lighting, and more - each ready to prepend to your subject.

    How it works

    When ComfyUI builds the node menu, the node loads custom_nodes/ComfyUI-CSV-Loader/CSV/lighting.csv, skips the header, and parses each row into a name → [positive, negative] pair. The names become the dropdown options; the positive string is what lands in your prompt when you select one. That's the whole mechanism - no models, no inference, no API.

    The CSV is name,prompt,negative_prompt, the same layout as Automatic1111's styles.csv. The pack was explicitly built to help A1111 migrants carry their prompt libraries over, and the author's own style lists were folded into it. If you've got a folder of saved A1111 prompts, they'll drop straight into this format.

    Inputs and outputs

    One input, one dropdown:

    • lighting - every lighting term from the CSV. Refresh re-reads the file and rebuilds the list.

    Two STRING outputs:

    • positive prompt - the lighting phrase. Wire it into the positive input of a CLIP Text Encode node, ideally ahead of your subject.
    • negative prompt - present on every node in the pack for symmetry, but the shipped lighting rows leave it empty. You'll usually ignore it.

    Because both outputs are plain text, you can stack this with the pack's other loaders - lighting from here, framing from Load Composition CSV, an art movement from its sibling - and merge them all at the text encoder.

    Installing it

    No dependencies beyond ComfyUI itself, no model files, nothing to download. Pure Python using only ComfyUI's folder_paths. Clone it:

    cd ComfyUI/custom_nodes
    git clone https://github.com/PCMonsterx/ComfyUI-CSV-Loader
    

    Restart ComfyUI. Done.

    Where people get burned

    • Your edit doesn't show. The CSV is parsed once when the node menu builds. Edit, then hit Refresh, or you'll keep seeing the old list.
    • "Error loading lighting.csv, check the console." That's the node's failure fallback. The code hardcodes the path with Windows-style separators, so on Linux and macOS this error is the usual outcome of an otherwise-correct install - verify the folder is named exactly ComfyUI-CSV-Loader with the CSV in its CSV subfolder. A broken row (a line without all three columns) triggers it too.
    • It's a zombie pack. The README opens with the author declaring it unsupported and pointing at Dr.Lata nodes and forks. Simple enough that it keeps working, but treat it as frozen.

    The technique itself is worth it: naming a lighting setup is one of the highest-leverage moves in modern prompting, and it doesn't cost a single LoRA slot. This node just makes the vocabulary a dropdown instead of a study session.

    CategoryCSV Loaders

    Inputs (1)

    NameTypeDefaultDescription
    lightingCOMBO1 options: Error loading lighting.csv, check the console

    Outputs (2)

    NameTypeDescription
    positive promptSTRING
    negative promptSTRING