Mpi Packer 10
When five slots on one wire just isn't enough
- any_1
- any_2
- any_3
- any_4
- any_5
- any_6
- any_7
- any_8
- any_9
- any_10
- pack
Mpi Packer 10 is exactly what it sounds like: the 5-slot Mpi Packer with ten slots. Up to ten values of any type - image, float, int, boolean, a nested pack, whatever - bundle onto one MPI_PACK wire, and Mpi Unpacker 10 hands them back at the far end in the same order. From ComfyUi-MpiNodes (Mad Pony Interactive's utility pack), it's the version you graduate to when a region of your workflow genuinely carries a ten-field payload.
How it works
Same mechanism as the 5-slot version: a pack is a Python list, the ten any_1–any_10 inputs (all *, all optional) become [any_1 … any_10], and the matching MpiUnpacker10 reverses it. Empty slots come out of the unpacker blocked - anything downstream of an empty slot just doesn't execute, so a missing value never masquerades as None in a node that would choke on it.
The one real gotcha is the size mismatch. If you feed a 10-slot pack into the 5-slot Mpi Unpacker, the tail silently disappears - the unpacker only reads as many slots as it has outputs. The pack authors think that's a miserable thing to debug too, so the code logs a warning to the console when it drops real values. Still: match the packer count to the unpacker count, or you'll be chasing phantom missing data.
The inputs that matter
any_1…any_10- all optional, all wildcard. Wire in your ten values; leave the rest empty.pack(output) - theMPI_PACK, one wire.- Pair it with Mpi Unpacker 10 for the round trip.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/MadPonyInteractive/ComfyUi-MpiNodes
Restart ComfyUI, or use ComfyUI Manager → search ComfyUi-MpiNodes. No dependencies, no downloads. The pack is AGPL-3.0 from v1.2.7 (MIT through 1.2.6).
The honest take
Ten slots on one node is a lot of sockets, and a pack with ten named inputs is only as legible as your node titles make it. The pattern pays off when the payload is a genuine unit - a full per-subject bundle, a camera rig definition, a set of workflow parameters you pass to a shared subgraph. If you're packing ten values that are only accidentally related, you've replaced five ugly wires with one opaque bundle and learned nothing. It nests like the 5-slot version, so a pack inside a pack is fair game - 10 packers into a packer carries a hundred values on one wire. Impressive, and hopefully never necessary.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| any_1opt | * | Any value. Unconnected slots come out of Mpi Unpacker blocked. | |
| any_2opt | * | Any value. Unconnected slots come out of Mpi Unpacker blocked. | |
| any_3opt | * | Any value. Unconnected slots come out of Mpi Unpacker blocked. | |
| any_4opt | * | Any value. Unconnected slots come out of Mpi Unpacker blocked. | |
| any_5opt | * | Any value. Unconnected slots come out of Mpi Unpacker blocked. | |
| any_6opt | * | Any value. Unconnected slots come out of Mpi Unpacker blocked. | |
| any_7opt | * | Any value. Unconnected slots come out of Mpi Unpacker blocked. | |
| any_8opt | * | Any value. Unconnected slots come out of Mpi Unpacker blocked. | |
| any_9opt | * | Any value. Unconnected slots come out of Mpi Unpacker blocked. | |
| any_10opt | * | Any value. Unconnected slots come out of Mpi Unpacker blocked. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| pack | MPI_PACK | — |