Floats To Float (mtb)
A socket-type hack for a typo the ecosystem never fixed
- floats
- float
The node's own description is refreshingly honest about why it exists: "AD, IPA, Fitz etc have commonly [chosen] to mistype float lists as FLOAT. This is just a hack to be compatible with these." Translation - AnimateDiff, IPAdapter, and FizzNodes each shipped inputs that are actually a list of floats but are typed in ComfyUI's graph as a plain FLOAT socket instead of the proper FLOATS list type. That inconsistency is baked into those packs now and nobody's going back to fix it, so melMass built this node as a bridge: it takes a real FLOATS list and relabels it as a FLOAT socket so it'll actually connect to those inputs.
Why this matters to you
You'll hit this the moment you try to wire a genuine list of floats - say, from a scheduling node, a batch of per-frame weights, or another mtb utility - into an input on AnimateDiff, IPAdapter, or FizzNodes that ComfyUI insists is typed FLOAT. The connection will refuse to snap because the socket types don't match on paper, even though the receiving node is going to treat the data as a list at runtime anyway. This node exists purely to get past that type-checking mismatch.
Inputs and outputs
There's exactly one input and one output, no settings to configure:
floats- aFLOATSlist, the real thing.- Output:
float- the same data, now typed as a plainFLOATso it'll plug into the mistyped sockets that expect that.
That's it. No transformation happens to the actual values - this is a type-system workaround, not a math operation.
Installing it
- ComfyUI Manager - search "MTB Nodes", install, restart.
- Manual -
cd ComfyUI/custom_nodes && git clone https://github.com/melMass/comfy_mtb, restart. If you cloned manually rather than through Manager, runpip install -r requirements.txtinside thecomfy_mtbfolder first.
No models, no heavy dependencies - it's a couple lines of Python doing a type relabel.
Common issues & troubleshooting
You still can't connect the wire. Make sure you're going in the right direction. This node converts FLOATS → FLOAT, matching the direction those mistyped AD/IPA/FizzNodes inputs need. If you actually need the opposite - turning a real FLOAT output into something that looks like a FLOATS list - that's a different node in this same pack, Float To Floats (mtb), not this one.
The downstream node errors even after connecting. The type relabel doesn't validate that your data is shaped the way the receiving node expects - if AnimateDiff wants exactly one float per frame and you feed it a list of the wrong length, this node won't catch that mismatch; it just gets the wire to connect. The runtime error you'll see is coming from whatever node is actually consuming the values, not from this one.
A handful of mtb's other nodes fail to load at startup. Normal for this pack - check the console for [comfy_mtb] STATUS and http://127.0.0.1:8188/mtb for specifics. Floats To Float has no optional dependencies, so it's essentially never the node that's missing.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| floats | FLOATS | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| float | FLOAT | — |