Nodes/Frog Node Pack/🐸 Pipe Out
ComfyUI Node

🐸 Pipe Out

Unpacking your model stack where you need it

By RabbitThatIsPinkΒ·Created 3 months agoΒ·Updated 24 days agoΒ· 1
🐸 Pipe Out
  • basic_pipe
  • basic_pipe
  • model
  • clip
  • vae
  • positive
  • negative

If 🐸 Pipe In is the zip at one end of your graph, 🐸 Pipe Out is the unzip at the other. Its entire job is to take a BASIC_PIPE - one wire carrying your model, CLIP, VAE, and both conditionings - and fan it back out into the five individual typed outputs you can actually connect to a sampler, an upscaler, or a save node. You almost never use one without the other, and this is the node that makes the round trip work.

The mechanism is one line of Python dressed up as a node. FrogPipeOut receives a basic_pipe input, unpacks the tuple into (model, clip, vae, positive, negative), and returns five outputs plus one extra: the same pipe passed through unchanged. That passthrough is the detail worth understanding, because it means the pipe doesn't die at the unpack node. You can pull the model out to feed one branch while letting basic_pipe keep flowing downstream to a second FrogPipeOut that needs the whole stack again. One pipe can fan out to many consumers without you redrawing the bundle.

The tuple format is Impact Pack's BASIC_PIPE convention, which the Frog Pack explicitly matches. The tooltip on the input says it outright: wire from 🐸 Pipe In or Impact Pack's ToBasicPipe. That compatibility is the reason this node is more than pack-specific furniture - if you've got half a workflow built on Impact Pack pipes, Frog Pipe In/Out plugs straight into it.

What you actually set: nothing. No widgets, no toggles, no knobs. You wire a pipe in and the six outputs appear. The practical workflow is:

  1. 🐸 Pipe In bundles model, clip, vae, positive, negative from your loader and CLIP encode.
  2. The single basic_pipe wire threads through a clean stretch of canvas.
  3. 🐸 Pipe Out sits where the action is and gives you model, clip, vae, positive, and negative to plug into your KSampler.

For the beginner, the one thing to internalize is that a pipe is not magic - it's a typed tuple. If you connect it to something that expects a different arrangement of values, ComfyUI's type system catches it before anything runs, which is exactly the safety you want from a plumbing node. The KB's node-plumbing doc frames these utilities as fighting repetition and illegibility; Pipe Out is the payoff side of that deal - you hid the noise upstream, now you get clean sockets exactly where they're needed.

One design note: Pipe Out returns the pipe and the unpacked values in one node, so you don't need a separate reroute or a second node to keep the pipe alive. That single decision removes a whole class of "wait, I need the model here too" rewiring.

Installing it

Same pack, same steps as everything in Frog Node Pack:

  • ComfyUI Manager: search Frog Node Pack, install, restart.
  • Manual: cd ComfyUI/custom_nodes && git clone https://github.com/RabbitThatIsPink/FrogNodePack, restart, hard-refresh (Ctrl+Shift+R).

No extra dependencies - the pack's requirements.txt is empty by design, and Pillow (its only runtime library) ships with ComfyUI. Look for 🐸 Pipe Out under the 🐸 Node Pack category.

Common issues

The failure mode to expect is a type mismatch the first time you mix conventions - say, a pipe that came from a node expecting (model, clip, vae, positive, negative) with conditioning in a different slot. ComfyUI will refuse the connection or throw at queue time; that's the signal to check which pack produced the pipe. If you wired everything within the Frog Pack, Pipe Out just works - it's not on the README's WIP list and is one of the most dependable nodes in the pack.

Category🐸 Node Pack

Inputs (1)

NameTypeDefaultDescription
basic_pipeBASIC_PIPEWire from 🐸 Pipe In or Impact Pack's ToBasicPipe.

Outputs (6)

NameTypeDescription
basic_pipeBASIC_PIPEPass-through pipe β€” wire to the next node that needs the full pipe.
modelMODELCheckpoint model.
clipCLIPCLIP encoder.
vaeVAEVAE.
positiveCONDITIONINGPositive conditioning.
negativeCONDITIONINGNegative conditioning.