Pipe Out [LP]
Unbundle a pipe back into the individual wires you actually need
- pipe
- pipe
- model
- pos
- neg
- latent
- vae
- clip
- controlnet
- image
- seed
- any1
- any2
- any3
- any4
- any5
The other half of Pipe In: once you've bundled your model, conditioning, latent and everything else into a single PIPE_LINE wire to get it across a busy canvas cleanly, Pipe Out is what unpacks it back into the individual sockets your downstream nodes actually expect.
What it does
Feed Pipe Out a pipe and it hands back every type the pipe format supports as its own output - model, positive and negative conditioning, latent, VAE, CLIP, ControlNet, image, seed, and the five wildcard "any" slots - whether or not that particular slot was actually filled upstream. Anything that wasn't set when the pipe was assembled just comes out empty; wiring an empty output into something that needs a real value will fail the same way any other missing-input error does, so it's on you to only wire out the sockets you know are actually populated.
It also re-outputs the pipe itself, so you can keep passing the bundle further down the graph after pulling out just the pieces you need at this particular stop - useful when a pipe needs to travel through several stages and only get partially unpacked at each one.
Inputs and outputs that matter
One required input:
pipe(PIPE_LINE) - the bundle to unpack. This is the only thing you have to wire in.
Ten outputs, all optional to actually use: pipe (passthrough), model, pos, neg, latent, vae, clip, controlnet, image, seed, and any1 through any5. You only drag wires from the ones you need at this point in the graph - leaving the rest unconnected costs nothing.
Installing it
Through ComfyUI Manager, search "ComfyUI Level Pixel" or "ComfyUI-LevelPixel." Or:
cd ComfyUI/custom_nodes
git clone https://github.com/LevelPixel/ComfyUI-LevelPixel.git
Restart ComfyUI. No model downloads or extra dependencies - same as the rest of the pipe/utility side of this pack.
Where people get burned
The most common trip-up is pulling an output that was never set going in. Pipe Out will happily give you a controlnet output socket even if nothing was ever wired into controlnet back at Pipe In - the node doesn't know which slots you actually intended to use, it just exposes the full set every time. If a downstream node errors out complaining about a missing or invalid input right after a Pipe Out, that's usually the first thing to check: trace back to where the pipe was assembled and confirm that particular slot was actually filled.
And as with the rest of the family: PIPE_LINE is a custom type specific to this pack, so a pipe built by Pipe In or Pipe here won't connect to a bundling node from any other pack (rgthree's Context included), even though conceptually they're doing the same job - carrying a bunch of connections down one wire so the graph stays readable.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| pipe | PIPE_LINE | — |
Outputs (15)
| Name | Type | Description |
|---|---|---|
| pipe | PIPE_LINE | — |
| model | MODEL | — |
| pos | CONDITIONING | — |
| neg | CONDITIONING | — |
| latent | LATENT | — |
| vae | VAE | — |
| clip | CLIP | — |
| controlnet | CONTROL_NET | — |
| image | IMAGE | — |
| seed | INT | — |
| any1 | * | — |
| any2 | * | — |
| any3 | * | — |
| any4 | * | — |
| any5 | * | — |