Nodes/ComfyUI_Dados_Nodes/CSV Multi DropDown
ComfyUI Node

CSV Multi DropDown

One CSV, a row of dropdowns, zero text-node spaghetti

By DadoIrie·Created 2 years ago·Updated a day ago· 10
CSV Multi DropDown
    • combined_selections
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    csv_text
    remove_duplicatesfalse

    If you've ever built a "variations" workflow - same scene, different character, different lighting, different lens - you know the pain of trying to choose between options inside ComfyUI. The CSV Multi DropDown node attacks that the way a spreadsheet person would: you hand it plain text, it renders a dropdown per line, and each dropdown's choice comes out as its own output. Feed the combined output into your prompt and you've got a batch-variation control panel without a single extra text node.

    How it works

    The input csv_text defines your dropdowns, one per line, and the format is refreshingly loose:

    color,"green,blue,yellow"
    camera,wide,medium,closeup
    lighting,studio,neon,dramatic
    

    Each line's first item is the dropdown's name, everything after the comma is an option. Both color,"green,blue,yellow" (quoted) and color,green,blue,yellow (bare) parse fine. Two behaviors worth knowing:

    • An option literally named random makes that dropdown roll a random choice from its list on every run.
    • The remove_duplicates toggle strips duplicate entries from each dropdown when on.

    The dropdowns themselves are rendered by the pack's web UI (the node registers an API handler to push your selections back into the node). The results come out of the right side: a combined_selections output that joins everything into one comma-separated string - ready to drop straight into a prompt - plus individual outputs named 1 through 30, one per dropdown. Wire the combined output into your positive prompt and you have a working prompt-variation system.

    Why you'd actually use it

    This shines when your workflow is "same render, many quick permutations." Instead of editing prompt text between runs, you set each dropdown once and the choices ride along. It also plays nicely with batch loops - change one dropdown between queue entries and watch the combined output change. The per-dropdown numbered outputs matter if you want individual options for different inputs (a color dropdown feeding one text input, a style dropdown feeding another), rather than one joined string.

    Where it's less useful: it's not a random-prompt engine. The random option is per-dropdown and crude compared to a wildcard processor, and there's no seed control. For heavy randomization, pair it with the pack's Wildcards Processor instead.

    Install

    Same as the whole pack - ComfyUI Manager → search "Dados Nodes", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/dadoirie/ComfyUI_Dados_Nodes.git
    cd ComfyUI_Dados_Nodes
    pip install -r requirements.txt
    

    then restart ComfyUI. No extra downloads for this node.

    Common issues

    The usual failure is malformed CSV - a line with only one item, or a stray quote, and that dropdown silently stops appearing. The tooltip's example is your friend; keep every line to name,option,option. If the dropdowns don't render at all, you're almost certainly running an older ComfyUI: this pack uses the newer extension API (ComfyExtension + comfy_api.latest), so keep ComfyUI updated. And if a random dropdown ever comes back empty, check that the line actually has entries after the name - a random pick from an empty list returns empty, and that's the node telling you the input is wrong.

    CategoryDado's Nodes/Text & Prompt

    Inputs (2)

    NameTypeDefaultDescription
    csv_textSTRINGEach line defines a dropdown. First item is the ID, rest are options. Use "random" to select a random option. color,"green,blue,yellow" & color,green,blue,yellow (both formats supported)
    remove_duplicatesBOOLEANfalseRemove duplicate entries in dropdowns

    Outputs (31)

    NameTypeDescription
    combined_selectionsSTRING
    1STRING
    2STRING
    3STRING
    4STRING
    5STRING
    6STRING
    7STRING
    8STRING
    9STRING
    10STRING
    11STRING
    12STRING
    13STRING
    14STRING
    15STRING
    16STRING
    17STRING
    18STRING
    19STRING
    20STRING
    21STRING
    22STRING
    23STRING
    24STRING
    25STRING
    26STRING
    27STRING
    28STRING
    29STRING
    30STRING