ComfyUI Node

Pipe [LP]

The one node that's both ends of the wire at once

By LevelPixel·Created 2 years ago·Updated 6 months ago· 31
Pipe [LP]
  • pipe
  • model
  • pos
  • neg
  • latent
  • vae
  • clip
  • controlnet
  • image
  • any1
  • any2
  • any3
  • any4
  • any5
  • pipe
  • model
  • pos
  • neg
  • latent
  • vae
  • clip
  • controlnet
  • image
  • seed
  • any1
  • any2
  • any3
  • any4
  • any5
seed0

The pack's own README puts it plainly: Pipe is "extremely useful and extremely easy to use" precisely because it's both an input and an output on the same node. Where Pipe In and Pipe Out split the job in two - bundle here, unbundle there - Pipe does both at once. You can drop it mid-graph, feed it whatever you have on hand, and pull out whatever you need right there, without a matching node on the other end.

What it does

Same idea as Pipe In and Pipe Out combined into one node: any of the standard pipeline types you wire in - model, conditioning, latent, VAE, CLIP, ControlNet, image, seed, or one of five open "any" slots - get bundled into a PIPE_LINE, and every single one of those types is also available as its own individual output on the same node, unbundled and ready to use immediately. It's the node you reach for when you need both the compact pipe and quick access to one of its pieces at the same spot in the graph, without adding a second node just to split it back out.

The pack's own author is upfront that this convenience has a cost: because it exposes every slot as both an input and an output, it's a busier node visually than Pipe In or Pipe Out. Their own recommendation is to use it "where it is absolutely necessary" and reach for the split Pipe In / Pipe Out pair otherwise, purely for a tidier-looking graph. Functionally there's no real downside to using Pipe everywhere - it's a style call, not a correctness one.

Inputs and outputs that matter

All optional, all the same set on both sides:

  • pipe, model, pos, neg, latent, vae, clip, controlnet, image, seed, any1any5 as inputs - wire in whatever you have.
  • The exact same list, plus pipe, comes back out as individual outputs - wire out whatever you need.

Nothing is required. Leave a slot empty on the input side and its matching output will just carry nothing forward.

Installing it

Through ComfyUI Manager, search "ComfyUI Level Pixel" or "ComfyUI-LevelPixel." Or by hand:

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

Restart ComfyUI afterward. Pure graph plumbing again - no model downloads, no extra dependencies.

Where people get burned

Same custom-type gotcha as the rest of the family: PIPE_LINE only connects to other LP pipe nodes, not to rgthree's Context or any other pack's bundling type, even though they're solving the same conceptual problem.

The other thing worth knowing before you commit to using Pipe everywhere: because every input doubles as an output, it's easy to end up with a node on your canvas that looks like it's doing thirty things when it's really doing two or three. If you find yourself squinting at a Pipe node trying to figure out what actually flows through it, that's the moment to swap it for the Pipe In / Pipe Out pair instead - same behavior, clearer graph.

CategoryLevelPixel/Utils

Inputs (15)

NameTypeDefaultDescription
pipeoptPIPE_LINE
modeloptMODEL
posoptCONDITIONING
negoptCONDITIONING
latentoptLATENT
vaeoptVAE
clipoptCLIP
controlnetoptCONTROL_NET
imageoptIMAGE
seedoptINT00–18446744073709550000
any1opt*
any2opt*
any3opt*
any4opt*
any5opt*

Outputs (15)

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