🔗 Pipe 5CH Any
One wire instead of five — the little pipe that declutters your graph
- pipe
- any1
- any2
- any3
- any4
- any5
- pipe
- any1
- any2
- any3
- any4
- any5
The 🔗 Pipe 5CH Any exists for one reason: your workflow looks like a plate of spaghetti and you'd rather it look like a tidy cable bundle. It bundles five separate values into a single pipe, carries them down one wire, and lets you pull them out again wherever you need them. No type checking, no conversion, no magic - just organized data flow.
How it works
Each Pipe node has one pipe input/output plus a set of any1…anyN channels, and every channel accepts any ComfyUI type - IMAGE, LATENT, MODEL, MASK, STRING, you name it (the * wildcard type). You inject values into the inputs, pass the whole bundle through pipe, and downstream connect another Pipe node to retrieve the same channels.
The implementation is a direct descendant of rgthree's context-utils pattern - the source even says so - which is good news for compatibility. You can chain Pipe nodes: whatever you put into any1 on the first node comes out of any1 on every subsequent node, and a channel you leave unconnected simply inherits the value from the upstream pipe. That "inherit if empty" behavior is the part people underuse: it means you can add one extra signal at any point in a chain without re-wiring everything downstream.
What you actually set
For a 5-channel pipe, the inputs are pipe, any1, any2, any3, any4, any5 - all optional. Outputs mirror them exactly. The two inputs that matter in practice:
- pipe - the bundle you're extending or forwarding.
- any1…any5 - the values you're stuffing in or reading out.
This is also a Subgraph workhorse: a single pipe connection carries your whole signal bundle across a subgraph boundary instead of five dangling wires, which keeps modular workflows from turning into port-matching puzzles.
When to use it - and when not to
Reach for the Pipe nodes when you're threading several settings or intermediate values across a workflow (the pack's own Flux/SDXL Settings Pipe is the natural companion - it produces a pipe you can unpack with one of these). Skip them for one-off values; a direct wire is always clearer than a pipe with a single occupant.
The honest limitation: this is a dumb pipe. There's no validation, so a channel that's empty when you expect data just flows through as None and can fail further down the line with a confusing error. And it adds no per-node type safety, which is the price of being able to carry anything.
Install
It ships inside Light-x02 Nodes - install the whole pack via ComfyUI Manager (search "ComfyUI-Lightx02-Nodes") or:
cd ComfyUI/custom_nodes
git clone https://github.com/Light-x02/ComfyUI-Lightx02-Nodes
Restart ComfyUI and you'll find it under 💡Lightx02/Pipes. No extra dependencies, no downloads. If you have a much bigger bundle to carry, the same pack also ships 10, 20, 30, and 40-channel versions.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| pipeopt | pipe | — | |
| any1opt | * | — | |
| any2opt | * | — | |
| any3opt | * | — | |
| any4opt | * | — | |
| any5opt | * | — |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| pipe | pipe | — |
| any1 | * | — |
| any2 | * | — |
| any3 | * | — |
| any4 | * | — |
| any5 | * | — |