Bridge All JNK
The boring pass-through node that tidies up your graph
- model
- pos
- neg
- latent
- vae
- clip
- image
- model
- pos
- neg
- latent
- vae
- clip
- image
Bridge All is the rare node that does nothing and is useful precisely because of it. It takes up to seven different things - a model, positive and negative conditioning, a latent, a VAE, a CLIP, and an image - and hands every one straight back out the other side, untouched. The source is a function that literally returns its arguments. No math, no memory, no hidden behavior. It's a wire in a box.
So why would you reach for it? Graph organization. ComfyUI is notorious for turning a simple workflow into a spaghetti mess of crossing lines, and one of the oldest tricks in the book is bundling related values into one pass-through node that sits in a corner while other nodes hang off it. Want to run the same model+prompt+latent through a sub-graph, then bring the results back? Bridge All carries the whole bundle in one visual unit instead of seven parallel wires that make your canvas look like a plate of noodles. Anyone who's used a "pipe" from packs like rgthree or Efficiency Nodes knows the pattern - this is the JNK pack's minimalist take on it.
Inputs and outputs
All seven inputs are optional, and each maps one-to-one to an output of the same name:
model(MODEL) →modelpos/neg(CONDITIONING) →pos/neglatent(LATENT) →latentvae(VAE) →vaeclip(CLIP) →clipimage(IMAGE) →image
Nothing is required, nothing is converted. If you only plug in two things, you get those two back and the rest are empty. That's the whole contract.
Installing it
Standard pack install - search JNK in ComfyUI Manager, or:
cd ComfyUI/custom_nodes/
git clone https://github.com/Aljnk/ComfyUI-JNK-Tiny-Nodes.git
This node has zero dependencies beyond ComfyUI core. The pack's requirements.txt (opencv-python, pygame, google-genai) exists for the image-processing and Gemini nodes; Bridge All never touches any of it.
Where people get burned
Honestly, barely anywhere - it's a pass-through. The only way to trip over it is to expect it to do something: it won't type-convert, it won't validate that your latent matches your model, it won't warn you about anything. If you feed it garbage, it politely hands the garbage back. And if you're after actual workflow-power plumbing - conditionals, routers, anything with logic - this isn't that; it's just a bus bar. Use it as a tidy organizer and it'll never let you down; expect it to solve a routing problem and you'll be looking for the wrong tool.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| modelopt | MODEL | — | |
| posopt | CONDITIONING | — | |
| negopt | CONDITIONING | — | |
| latentopt | LATENT | — | |
| vaeopt | VAE | — | |
| clipopt | CLIP | — | |
| imageopt | IMAGE | — |
Outputs (7)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| pos | CONDITIONING | — |
| neg | CONDITIONING | — |
| latent | LATENT | — |
| vae | VAE | — |
| clip | CLIP | — |
| image | IMAGE | — |