Nodes/Kinburg-Nodes/Combo to String
ComfyUI Node

Combo to String

The Primitive-node trap, fixed

By Kinburg·Created 3 months ago·Updated 7 days ago· 1
Combo to String
    • string
    value

    ComfyUI's Primitive node is a classic gotcha. Plug it into a STRING input and it happily becomes a text box. Switch it to combo mode and suddenly it won't connect to that same text field at all - a COMBO output only wires into a COMBO input, even when the value it's holding is just a word like ru or euler.

    Combo to String is the targeted fix for exactly that case. Where Any to String takes a wildcard * input and stringifies whatever shows up, this node's value is declared as a COMBO widget, and a small frontend patch (the pack's web/combo_to_string.js) lets a Primitive's COMBO output connect and pushes the selected value into that widget. Whatever lands there comes back out as a proper STRING.

    The node's VALIDATE_INPUTS is deliberately permissive - it accepts any incoming value instead of checking it against a hardcoded option list, because the real value is pushed in by the connected Primitive and never appears in the placeholder list. That's why the input shows a placeholder like "(connect a combo / Primitive)": the list you see is just a stand-in.

    The input that matters:

    • value - connect a Primitive in combo mode (or any combo-style output) here.

    The output:

    • string - the selected combo value as a real STRING, ready for any text socket.

    Use case, concretely: you have a Primitive holding a sampler name, a language code, or a model-name fragment that a downstream node wants as text. Combo to String turns it into text without you retyping it. The general-purpose sibling is Any to String (wildcard input, accepts anything); this one is for the specific COMBO-can't-reach-STRING problem, and it's the one I'd reach for when I know the source is a combo.

    Install through ComfyUI Manager (search "Kinburg-Nodes") or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Kinburg/Kinburg-Nodes
    

    then restart ComfyUI. It's a one-author personal pack (Kinburg) with per-package docs and a 1395-check test suite - the kind of maintenance you rarely see in a personal collection. No model downloads, no extra dependencies for this node; the only heavy dependency in the whole pack is llama-cpp-python for the Local LLM nodes, which install.py handles automatically.

    Where people get stuck: nothing about this node. The one thing to remember is that the frontend patch has to be active for the Primitive link to connect - if you've disabled the pack's web extensions, this node loses its reason to exist. Otherwise it's a one-wire utility that just works.

    CategoryKinburg-Nodes/util

    Inputs (1)

    NameTypeDefaultDescription
    valueCOMBOConnect a Primitive (combo) output here. Its selected value is passed through as a STRING.

    Outputs (1)

    NameTypeDescription
    stringSTRING