OTX Versatile Multiple Inputs 4
Four slots, three types, one node — and a type dropdown that doesn't do what you think
- value_1
- value_2
- value_3
- value_4
The pitch of OTX Versatile Multiple Inputs 4 is a single box where each of four slots can hold an int, a float, or a string - you type the value, pick the type from a dropdown, and the node hands it back as whatever you chose. Four different data types from one node instead of four single-type nodes. It's part of Otonx's Custom Nodes, a small personal pack by Budi Hartono that gets essentially zero community discussion, and it's worth reading this one with your skeptic hat on, because the type dropdown has a real bug hiding in the source.
How it works (and where it breaks)
Each slot is a multiline textbox plus a valuetype_N dropdown offering int, float, or string. In the code, the conversion is straightforward:
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)
Here's the thing: the dropdown emits lowercase int/float/string, but the checks compare against uppercase "INT"/"FLOAT"/"STRING". Those never match. So that entire block never fires, and every slot returns the raw text you typed, as a string - no matter what you set the dropdown to. It's a one-word-per-branch case mismatch, and it means the node currently doesn't convert anything.
The outputs are wildcard (*), so ComfyUI lets you wire them into anything. That's the trap: the connection succeeds, and then the downstream node gets a string where it asked for a number, which can error or behave oddly a few steps later. If you're typing "512" into a slot and feeding it to something that wants an INT, don't trust the dropdown - the number isn't a number until the consumer converts it.
The inputs and outputs that matter
Four slots, each with:
value_N- multiline textbox, default empty, where you type the valuevaluetype_N- dropdown: int / float / string
Four outputs (value_1 through value_4), all wildcard type. The genuinely good use of this node today is text: the multiline textbox makes it a decent place to park prompts or JSON snippets in one visible block. For numbers, treat the dropdown as decoration and either convert downstream or stick with a proper typed node.
Installing it
The pack is pure Python, no dependencies, no model downloads. Install via ComfyUI Manager (search "Otonx") or clone:
cd ComfyUI/custom_nodes
git clone https://github.com/budihartono/comfyui_otonx_nodes
Restart ComfyUI and find it under OtonxPack.
Common issues
- Numbers come out as text - the case mismatch above. Verify by wiring the output into a Show Text / debug node and checking the type.
- A node two hops downstream fails on a "string" where it expected an INT - that's this bug surfacing late. Convert explicitly, or use the Integer Multiple Inputs node for numbers.
A 0-impression utility node with a conversion bug is not a hill worth dying on - but knowing the dropdown is cosmetic saves you a genuinely confusing hour of debugging.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| value_1 | STRING | — | |
| valuetype_1 | COMBO | 3 options: int, float, string | |
| value_2 | STRING | — | |
| valuetype_2 | COMBO | 3 options: int, float, string | |
| value_3 | STRING | — | |
| valuetype_3 | COMBO | 3 options: int, float, string | |
| value_4 | STRING | — | |
| valuetype_4 | COMBO | 3 options: int, float, string |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| value_1 | * | — |
| value_2 | * | — |
| value_3 | * | — |
| value_4 | * | — |