πͺ’ Pipe In
Bundle your wires into one cable to tame a messy graph
- model
- clip
- positive
- negative
- vae
- latent
- image
- mask
- any
- pipe-in
This node exists purely to stop your workflow from turning into spaghetti. It takes all the usual suspects - model, clip, positive, negative, vae, latent, image, mask - and rolls them into a single PIPEIN bundle you carry around on one wire instead of eight. Then, wherever you need those values again, a Pipe Out node unpacks them. It doesn't change your generation at all; it's cable management, and on a big graph that's worth a surprising amount.
Why bother
Anyone who's built a workflow past a certain size knows the pain: the same model and conditioning wires snaking across the whole canvas to four different samplers, crossing everything, impossible to follow. Pipe In collapses that. Bundle once at the start, run a single clean line to the far side of your graph, and unpack with Pipe Out where you actually need the pieces. Move things around and you're dragging one connection instead of eight. It's the same idea as rgthree's Context nodes or the old "pipe" nodes from other packs - a tidy-up tool, not a functional one. Purely optional, purely for your sanity.
The inputs and outputs that matter
Every input is optional - connect only what you want to carry:
model,clip,positive,negative,vae,latent,image,mask- the standard workflow signals. Wire in whichever ones you want bundled; leave the rest empty.any- a wildcard slot (*) for one extra value of any type that doesn't fit the named slots.
The single output is pipe-in, typed PIPEIN - the bundle. Run this one wire to wherever you need the contents, then feed it into a Pipe Out node (or Pipe Out All) to get the individual values back.
Installing it
ComfyUI Manager: search SDVN_Comfy_node, install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/StableDiffusionVN/SDVN_Comfy_node
Then pip install -r custom_nodes/SDVN_Comfy_node/requirements.txt from your ComfyUI root, and restart. Pure plumbing - nothing to download.
Where people get burned
You still need Pipe Out. Pipe In only bundles. To use the values on the other end you connect the PIPEIN output to a Pipe Out (or Pipe Out All) node, which splits it back into model/clip/etc. Wiring Pipe In to something expecting a raw MODEL won't work - the bundle is its own type.
Empty slots come out empty. Whatever you didn't connect on the way in isn't in the bundle. If Pipe Out gives you a None where you expected a latent, check that you actually wired that slot into Pipe In upstream.
It's cosmetic, not magic. Bundling doesn't cache, speed up, or change anything about execution - it's the exact same data on one wire instead of many. If a workflow is slow or wrong, Pipe In isn't the cause and won't be the fix. Use it to read your graph, nothing more.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| modelopt | MODEL | β | |
| clipopt | CLIP | β | |
| positiveopt | CONDITIONING | β | |
| negativeopt | CONDITIONING | β | |
| vaeopt | VAE | β | |
| latentopt | LATENT | β | |
| imageopt | IMAGE | β | |
| maskopt | MASK | β | |
| anyopt | * | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| pipe-in | PIPEIN | β |