Sampler Pipe Out
Unwrap a sampler pipe back into its parts
- pipe
- model
- positive
- negative
- vae
- image
- clip
- latent
Sampler Pipe Out is the mirror image of this pack's Sampler Pipe In. Pipe In bundles model, positive, negative, VAE, image, clip and latent into a single pipe; Pipe Out takes that bundle and splits it back into seven individual outputs. One wire in, seven out - the bookend that makes the whole bundling trick usable.
The practical play is this: Pipe In collects your sampler inputs once, near the top of your workflow, then you can unpack the same bundle in several places. Build the sampler pipeline once, branch it to two different samplers, and both get the same model, conditioning and VAE without you redrawing a web of connections. Reorganizing later means moving one wire instead of seven.
How it works
The mechanism is a plain dictionary lookup. Each output pulls its key out of the pipe with pipe.get(...), so anything that wasn't put into the bundle on the input side comes out as nothing. That's the behavior to understand: a pipe built with only model and positive gives you a model and positive output, and silence on the other five pins. No phantom empty values.
Inputs and outputs
pipe(*, optional) - the bundle from Sampler Pipe In (or anything shaped like it).
Outputs: model (MODEL), positive (CONDITIONING), negative (CONDITIONING), vae (VAE), image (IMAGE), clip (CLIP), latent (LATENT).
Where people trip up
The classic failure: a downstream node requires an input that the pipe never had, and you get a runtime error that's hard to trace because the wire looks connected. The pipe is an untyped dict, so ComfyUI won't warn you at build time - it only breaks when the graph runs. If you wire a latent output and the pipe was packed without a latent, that output is None, and whatever you fed it into will complain.
Also worth knowing: because the pipe format is a plain, untyped dict, it only reliably interoperates with this pack's own pipe nodes. Other packs have their own pipe conventions (rgthree's Context, Impact Pack's pipelines), and they are not the same bundle. Trying to cross-pollinate pipes between packs is how you get confusing mid-run failures.
The upside of the design is that everything is optional everywhere. Pack a minimal pipe - model and positive only - and Pipe Out hands back exactly those. It's the "do what you wired, ignore the rest" philosophy, and for a bundler node that's the right call.
Installation
Part of ComfyUI-Jax-Nodes. ComfyUI Manager: search "ComfyUI-Jax-Nodes", install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/Kebolder/ComfyUI-Jax-Nodes
No pip dependencies, no model downloads. It runs on ComfyUI's newer extension API, so keep ComfyUI current (late 2025 or newer). Small pack, light maintenance - a node this simple doesn't need much.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| pipeopt | * | — |
Outputs (7)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| positive | CONDITIONING | — |
| negative | CONDITIONING | — |
| vae | VAE | — |
| image | IMAGE | — |
| clip | CLIP | — |
| latent | LATENT | — |