Nodes/ComfyUi-MpiNodes/Mpi Packer 10
ComfyUI Node

Mpi Packer 10

When five slots on one wire just isn't enough

By MadPonyInteractive·Created 11 months ago·Updated 5 days ago· 3
Mpi Packer 10
  • 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_1any_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_1any_10 - all optional, all wildcard. Wire in your ten values; leave the rest empty.
  • pack (output) - the MPI_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.

CategoryMpiNodes/Logic

Inputs (10)

NameTypeDefaultDescription
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)

NameTypeDescription
packMPI_PACK