Nodes/comfyui-darkil-nodes/Custom combo box [darkilNodes]
ComfyUI Node

Custom combo box [darkilNodes]

A combo box you actually get to populate yourself

By pytraveler·Created 7 months ago·Updated 15 days ago· 9
Custom combo box [darkilNodes]
    • str_selected
    • ❓help
    list_selectornope

    ComfyUI is full of dropdowns you can't edit - model lists, scheduler lists, hardcoded option sets. This node is the opposite: a dropdown whose options you define yourself, right in the node's properties. It's the kind of tiny utility that earns its place the first time you build a workflow with a fixed set of presets - "Cinematic", "Portrait", "Macro" - and want them as one tidy selector instead of a pile of booleans or a string you hand-type.

    How it works

    The node has a single visible input, list_selector, typed as a COMBO with a placeholder default of "nope". The actual options come from the node property text_for_combo: a semicolon- or pipe-separated list. So golden hour; blue hour; harsh noon becomes a three-option dropdown, and the selected value is passed straight through.

    Under the hood it's deliberately trivial - the node's function reads list_selector and returns it, plus a help string. There's no parsing magic, no transformation. That's the point: a custom combo is a selection, and the selection is the output.

    Inputs and outputs

    • list_selector (COMBO) - the dropdown, populated from text_for_combo.
    • Output str_selected (STRING) - the chosen value, ready to feed a prompt, a filename, a text-concat node, whatever.
    • Output ❓help (STRING) - the node's own help text, which is a pattern the whole darkilNodes pack uses: every utility carries its documentation on a live output socket.

    Where people get burned

    The classic miss is editing the wrong place: text_for_combo is a property, not a widget, so it lives in the node's property panel, not on the canvas. And remember the output is a plain string - it won't magically switch models or flip nodes. If you want the selection to do something, you wire str_selected into a string-to-whatever router. One more: the placeholder default "nope" means if you forget to set the property, your dropdown contains exactly one useless option - so set the property first, then connect.

    Installing

    It ships in pytraveler/comfyui-darkil-nodes. ComfyUI Manager search ComfyUI-darkil-nodes, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/pytraveler/comfyui-darkil-nodes
    

    Restart ComfyUI. No Python deps, no models - it's a pure logic/UI node.

    CategorydarkilNodes/logic

    Inputs (1)

    NameTypeDefaultDescription
    list_selectorCOMBOnope

    Outputs (2)

    NameTypeDescription
    str_selectedSTRING
    ❓helpSTRING