Nodes/Otonx's Custom Nodes/OTX Versatile Multiple Inputs 6
ComfyUI Node

OTX Versatile Multiple Inputs 6

Six mixed-type slots, one node — biggest in the series, same conversion bug

By budihartono·Created 3 years ago·Updated 2 years ago· 1
OTX Versatile Multiple Inputs 6
    • value_1
    • value_2
    • value_3
    • value_4
    • value_5
    • value_6
    ◄value_1►
    ◄valuetype_1▾►
    ◄value_2►
    ◄valuetype_2▾►
    ◄value_3►
    ◄valuetype_3▾►
    ◄value_4►
    ◄valuetype_4▾►
    ◄value_5►
    ◄valuetype_5▾►
    ◄value_6►
    ◄valuetype_6▾►

    OTX Versatile Multiple Inputs 6 is the six-slot flagship of Otonx's mixed-type input series: six multiline textboxes, each with a dropdown declaring int, float, or string, all in one node. The promise is that a single box can feed six differently-typed values downstream and save you a pile of dedicated input nodes. It's part of Otonx's Custom Nodes, a small personal pack by Budi Hartono that's been quietly sitting since 2024 - and before you wire six values through it, you should know the type conversion doesn't actually run.

    How it works (and the gotcha)

    The design is straightforward: type a value in each value_N box, choose its type in valuetype_N, and the node converts the text and returns it. That's what the comments in the source promise. Here's the reality:

    if valuetype_1 == "INT":
        value_1 = int(value_1)
    elif valuetype_1 == "FLOAT":
        value_1 = float(value_1)
    elif valuetype_1 == "STRING":
        value_1 = str(value_1)
    

    The dropdown choices are registered lowercase - 'int', 'float', 'string' - but every if checks the uppercase "INT", "FLOAT", "STRING". Those never equal each other, so the conversion block is dead code. Every slot hands back the literal text you typed, as a string. Set the dropdown to "int" all you like; the number still travels downstream as text.

    The outputs are wildcard (*), which is exactly what makes this dangerous: ComfyUI lets you plug them into any input, including ones that genuinely need an INT or FLOAT. The error then surfaces one or two nodes later, where a node receives a string that should have been a number. That's a confusing bug to chase if you don't know it's coming.

    The inputs and outputs that matter

    Six slots, each a value_N multiline textbox plus a valuetype_N dropdown, feeding six wildcard outputs (value_1 through value_6). The honest best use right now is text-heavy slots - the multiline boxes make it a tidy home for prompts, tags or small config snippets you want visible in one block. For actual numbers, use the pack's Integer Multiple Inputs nodes instead, or convert explicitly downstream.

    Installing it

    Pure Python, no dependencies, nothing to download besides the repo itself. Via ComfyUI Manager search "Otonx", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/budihartono/comfyui_otonx_nodes
    

    Restart ComfyUI and it's under OtonxPack.

    Common issues

    • Type dropdown does nothing - the case mismatch above. Verify with a debug node once and you'll stop expecting it to convert.
    • Downstream type errors - the string is leaking through a wildcard socket. Add an explicit converter, or swap numeric slots for typed integer/float nodes.

    It's a shame, because six editable slots in one visible block is a nice idea. As shipped, treat it as a multi-text-box and do your own type handling - the dropdown is the furniture, not the function.

    CategoryOtonxPack

    Inputs (12)

    NameTypeDefaultDescription
    value_1STRING—
    valuetype_1COMBO3 options: int, float, string
    value_2STRING—
    valuetype_2COMBO3 options: int, float, string
    value_3STRING—
    valuetype_3COMBO3 options: int, float, string
    value_4STRING—
    valuetype_4COMBO3 options: int, float, string
    value_5STRING—
    valuetype_5COMBO3 options: int, float, string
    value_6STRING—
    valuetype_6COMBO3 options: int, float, string

    Outputs (6)

    NameTypeDescription
    value_1*—
    value_2*—
    value_3*—
    value_4*—
    value_5*—
    value_6*—