ComfyUI Node

Any Pipe

Bundle six wires into one to keep a big workflow readable

By 807502278·Created 2 years ago·Updated 11 months ago· 21
Any Pipe
  • data_array
  • data_1
  • data_2
  • data_3
  • data_4
  • data_5
  • data_6
  • data_array
  • data_1
  • data_2
  • data_3
  • data_4
  • data_5
  • data_6

Any Pipe exists to fix a purely visual problem: a workflow with six separate wires running the same distance across your graph is harder to read than one wire carrying a bundle. This node packs up to six arbitrary values - data_1 through data_6, any type at all - into a single data_array output, so instead of six noodles stretching across your canvas, you've got one. Drop a second Any Pipe where you need the individual values back, and it unpacks the array straight back into data_1 through data_6 automatically.

The inputs and outputs that matter

It works both ways: data_array isn't just an output, it's also an optional input, so you can feed in a pre-built list directly and this node will split it back out into the individual named slots without you having built it with this exact node in the first place. That two-way behavior - bundle going one way, unbundle going the other, using the same node either direction - is the entire feature.

This is the same idea as rgthree-comfy's Context nodes, if you've used those: reduce a wide bundle of separate connections into a single wire that's easier to route and re-route, especially once a graph gets big enough that individual wires start crossing over each other and become hard to trace by eye. The difference is scope - rgthree's Context is built specifically around the standard model/conditioning/latent bundle a sampling pipeline needs, while Any Pipe carries anything at all, since every slot is typed "any."

One limitation the author flags directly, right in the pack's own README: nesting is buggy. The description reads "known bug: nested grouping will split" - meaning if you take the output of one Any Pipe and feed it as one of the six values into a second Any Pipe, expecting a nested bundle-of-bundles, that's the specific case that doesn't hold together correctly. Use it to flatten six wires into one; don't stack pipes inside pipes.

Installing it

Part of ComfyUI-WJNodes, no separate download. ComfyUI Manager: search "ComfyUI-WJNodes," install, restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/807502278/ComfyUI-WJNodes.git

Find it under WJNode → Other-node. Nothing else to install - it's pure data routing, no dependencies beyond a stock ComfyUI environment.

Where people get burned

Reach for this any time a subgraph passes the same set of things - a model, a couple of conditioning objects, a seed value - between two distant parts of a large workflow, and the individual wires are making the graph harder to read rather than clarifying it. Bundle at the source, run one wire across the noise, unbundle at the destination. Just keep it to one level: if you find yourself wanting to nest a pipe inside a pipe to organize an even bigger bundle, that's the documented bug waiting for you - better to flatten your data into one wider Any Pipe than to nest two.

CategoryWJNode/Other-node

Inputs (7)

NameTypeDefaultDescription
data_arrayoptLIST
data_1opt*
data_2opt*
data_3opt*
data_4opt*
data_5opt*
data_6opt*

Outputs (7)

NameTypeDescription
data_arrayLIST
data_1*
data_2*
data_3*
data_4*
data_5*
data_6*