Split Primitives (misc)
Unpack a bundle and get your typed values back
- combined
Split Primitives (misc) is the receiving end of this pack's primitive-bundling story. Where Combine Primitives (misc) gathers a seed, a steps count, a prompt, and a couple of booleans onto one combined wire, this node unpacks that same package back into individual typed outputs - INT_01, FLOAT_02, STRING_03, and so on - plus a length output. If you've ever dragged a value across half a graph just to use it once, this pair is the excuse to stop.
The one input. combined, typed PRIMITIVES, straight from Combine Primitives (misc). That's it - no widgets, no options. The node's entire job is restoring the bundle to the primitive values it was packed from.
The outputs. Here's the part that makes the node feel alive: the output slots are typed by name and they sync themselves to whatever the upstream Combine has connected. Pack an INT, a STRING, and a BOOLEAN and you'll get INT_01, STRING_02, BOOLEAN_03 as labeled outputs; add a fourth input upstream and the Split grows a slot to match. The sync even works when the bundle travels through a relay node in between - the README explicitly calls out Any Switch (misc) and Reroute - and output names like INT_01 come from the type recorded in the package, not from a guess.
The last output is always length (INT), the number of unpacked values, which you'll want whenever the downstream logic depends on how many things came through. If the bundle is empty, the node returns just length (0) - ComfyUI's variable-output handling keeps it from blowing up on zero.
Install. Same as the rest of the pack, from ComfyUI/custom_nodes:
git clone https://github.com/wraith-executioner-year-2/comfyui-misc/
Restart ComfyUI; it's in the misc category. No models, no requirements - the heavy lifting here is in the Python node and a web extension that keeps the dynamic, type-synced slots in order.
Where people get burned: the auto-sync is frontend work, and that's exactly where the pack's own changelog has spent most of its bug-fixes. The output slots don't snap into their final typed shape instantly on workflow load or copy-paste - the node deliberately preserves already-connected links first, then applies the type sync once the graph settles. That's by design (links survive restores), but it means a freshly-pasted Split can briefly show generic slots before settling. Also remember the PRIMITIVES type is pack-local: a Split Primitives input only accepts this pack's combined, so it can't unpack some other suite's bundle. Stay inside the pack and it's seamless; try to cross wires and you'll get a type mismatch you can't wire past.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| combined | PRIMITIVES | — |
Outputs (0)
No outputs