ComfyUI Node

Pipe Out [LP]

Unbundle a pipe back into the individual wires you actually need

By LevelPixel·Created 2 years ago·Updated 6 months ago· 31
Pipe Out [LP]
  • 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.

CategoryLevelPixel/Utils

Inputs (1)

NameTypeDefaultDescription
pipePIPE_LINE

Outputs (15)

NameTypeDescription
pipePIPE_LINE
modelMODEL
posCONDITIONING
negCONDITIONING
latentLATENT
vaeVAE
clipCLIP
controlnetCONTROL_NET
imageIMAGE
seedINT
any1*
any2*
any3*
any4*
any5*