Nodes/Orion4D_MetaNode/πŸ“¦ List Packer (Infinite)
ComfyUI Node

πŸ“¦ List Packer (Infinite)

Stop dragging ten wires β€” stuff them in a list instead

By orion4dΒ·Created 5 months agoΒ·Updated 5 months agoΒ· 5
πŸ“¦ List Packer (Infinite)
  • item_1
  • list_out

ComfyUI is great at moving one thing at a time, and useless at moving a bunch of things. There's no native "this is a list of mixed stuff" type - a wire carries an image, a string, a latent, but never a pile of all three at once. That's the gap the List Packer fills. Plug in as many inputs as you like, and out the other end comes one Python list you can feed to a script, a loop, or this pack's own List Unpacker.

The "(Infinite)" in the name isn't marketing. When you connect a wire to item_1, the node grows an item_2 port. Connect that, and item_3 appears. That's all JavaScript on the node's frontend - the Python class only declares item_1 in its schema, and everything else materializes as you plug things in. It's a small trick, but it means you never have to plan ahead: add as many slots as the workflow needs, no config required.

The mechanism itself is dull in the best way. Each execution collects everything arriving on its item_N ports, sorts the keys numerically so your wiring order is preserved, drops any that are None, and returns one Python list on list_out. That list can hold images, strings, ints, latents - whatever you wired in, in the order you wired it.

What you actually set

There are no settings. The only field in the schema is item_1 (type *, meaning "anything"), and the rest of the ports appear dynamically.

  • Inputs: item_1, then item_2, item_3, … - one per connected wire.
  • Output: list_out - a Python list of everything that arrived.

How you'd use it

The natural pair is this pack's List Unpacker (list_in β†’ up to 32 item_N outputs): pack things on one side of the graph, unpack them on the other, and you've turned a tangle of long wires into one clean bus. The other big consumer is PyCodeMax - the pack's Python-execution node loves a ready-made list in a variable. But honestly, the most common beginner use is just debugging and tidying: gather a prompt string, a seed, and an image, and hand the bundle to a script node in one move instead of five.

Troubleshooting

  • Empty slots are skipped. If item_2 is unwired, the output list has no None placeholder in that position. That's usually what you want, but if a script later indexes by position, a skipped slot shifts everything - keep your inputs contiguous.
  • Order follows the port number, not the order you connected them. It's sorted numerically, which is a feature once you know it.
  • This is a utility node, not a model loader - if it doesn't show up after install, see the pack's shared setup below.

Installing it

Everything in this pack ships together, so you get the Packer as part of Orion4D_MetaNode. Easiest route: ComfyUI Manager, search "Orion4D_MetaNode", install, restart. Or the manual way:

cd ComfyUI/custom_nodes
git clone https://github.com/orion4d/Orion4D_MetaNode

Restart ComfyUI and the node lives under Orion4D_MetaNode β†’ Utils. The pack's requirements are just numpy, Pillow, torch and opencv-python - all things ComfyUI already installs - so there's no extra dependency work for this node. One fair warning: this is a young, one-developer pack with a small community footprint, so don't expect a huge trail of tutorials; the code is simple enough that the README plus a little poking covers it.

CategoryOrion4D_MetaNode/Utils

Inputs (1)

NameTypeDefaultDescription
item_1opt*β€”

Outputs (1)

NameTypeDescription
list_out*β€”