Nodes/Frog Node Pack/🐸 Pipe In
ComfyUI Node

🐸 Pipe In

Pack them into a pipe

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

FrogPipeIn exists to solve the ugliest kind of ComfyUI problem: not a broken workflow, just an unreadable one. Every time you want to pass the full model stack - checkpoint, CLIP, VAE, positive conditioning, negative conditioning - from one part of your graph to another, you draw five long wires across the canvas. Do that in a few places and the graph turns into spaghetti, and you start mis-clicking connections you can't even see anymore. This node bundles all five values into a single BASIC_PIPE wire, and its sibling, 🐸 Pipe Out, unwraps them at the other end.

It's part of the Frog Node Pack from RabbitThatIsPink, a pack built around consolidating exactly this kind of plumbing so "a dozen separate nodes doing one thing each" becomes "fewer connections, same pipeline." The pipe is the purest example of that philosophy.

Here's the mechanism, and it's refreshingly boring: FrogPipeIn takes the five typed inputs - model, clip, vae, positive, and negative - and returns a single Python tuple in the order (model, clip, vae, positive, negative). FrogPipeOut just unpacks that tuple back into its five typed outputs. No sampling happens, no tensors get copied, nothing gets encoded. You pay for the pack/unpack in literally the time it takes Python to bundle a tuple.

The one detail that makes this node worth reaching for over the equivalent from another pack: the BASIC_PIPE type it speaks is the same one Impact Pack uses. FrogPipeIn's output tooltip spells it out - you can wire its output into Impact Pack's FromBasicPipe, and feed an Impact Pack ToBasicPipe into FrogPipeOut. That cross-compatibility means you're not locked into one pack's pipe ecosystem; it's the same convention ltdrdata's Impact Pack made standard. If you already use Impact Pack pipes, Frog Pipe In/Out is a drop-in with the same tuple layout.

What a beginner actually sets here: nothing. There are no widgets to fiddle with, no settings to get wrong. You wire model, clip, and vae from your checkpoint loader, and positive/negative from your CLIP Text Encode, and the single basic_pipe output carries them all. The failure mode to watch for is mislabeling - a pipe is just a tuple, so if you wire the pipe into a node that expects a different tuple shape, you get a type error at queue time, not a silent wrong image.

A quick reality check on when not to bother: if your workflow is linear and small - loader to KSampler to save - a pipe node is pure overhead in clicks, not in speed. Reach for it when the model stack has to thread through a subgraph (an upscale pass, a detailer loop, a batch region), or when you're reorganizing a big graph and want to hide the noise. The KB's node-plumbing doc makes the general case: plumbing nodes fight repetition and illegibility, and a pipe is the illegibility fix.

Installing it

Install the whole pack once - this node ships inside Frog Node Pack:

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

No extra pip dependencies. The pack's requirements.txt is deliberately empty - the only library it uses is Pillow, which ships with ComfyUI. All Frog nodes appear under the 🐸 Node Pack category in search.

Common issues

Honestly, there isn't much to break here. The two things that trip people up are connecting a pipe from a different pack convention (the type name will usually mismatch, which is ComfyUI telling you the tuples don't line up), and forgetting that Pipe In and Pipe Out are two nodes - you need both ends. This is one of the nodes in the pack that is rock solid; the README's WIP list doesn't touch the pipe pair.

Category🐸 Node Pack

Inputs (5)

NameTypeDefaultDescription
modelMODELβ€”
clipCLIPβ€”
vaeVAEβ€”
positiveCONDITIONINGβ€”
negativeCONDITIONINGβ€”

Outputs (1)

NameTypeDescription
basic_pipeBASIC_PIPEPacked pipe β€” wire to 🐸 Pipe Out or Impact Pack's FromBasicPipe.