ComfyUI Node Runs on cloud

Bus Node

Bundle model, clip, VAE and conditioning into one wire

By WASasquatch·Created 3 years ago·Updated a day ago· 1,839
Bus Node
  • bus
  • model
  • clip
  • vae
  • positive
  • negative
  • bus
  • model
  • clip
  • vae
  • positive
  • negative

If your ComfyUI graph looks like a plate of spaghetti, this is a napkin. The Bus Node bundles the five connections you drag across the canvas over and over - Model, CLIP, VAE, positive conditioning, and negative conditioning - into a single fat wire. The WAS README's own description: "condense the 5 common connectors into one, keep your workspace tidy." That's the entire value proposition, and on a big workflow it's a real one.

Anyone who's built a workflow past a handful of nodes knows the problem. Those same five wires run from your loaders all the way across to your sampler, crossing everything, and moving a node means untangling a knot. A bus lets you route all five as one line, tap into it wherever you need a specific one, and keep the layout readable.

How it works

It's a pass-through carrier. You plug your model, clip, VAE, and both conditionings into a Bus Node, and it emits a single bus output that carries all of them. Downstream, another Bus Node (or the same one's individual outputs) breaks the bundle back into its five parts so you can wire, say, just the model into a patch node, or just the conditionings into a sampler. Nothing is transformed - it's purely organizational, a way to move five things along one path and split them out where they're needed. You can chain buses across the graph so the "spine" of your workflow is one tidy line instead of five crossing ones.

The inputs and outputs that matter

  • Model, CLIP, VAE, positive, negative in - the five standard connectors, any subset of them.
  • A bundled bus out - carries all five as one connection.
  • The five individual outputs - tap whichever one you need at any point downstream.

I'm describing this from the README's explicit list of the five connectors rather than a formal schema, so I won't invent extra ports - but that model/clip/VAE/positive/negative set is exactly what it carries.

How to install it

Ships with the WAS Node Suite:

  • ComfyUI Manager: search was-node-suite-comfyui, install, restart.
  • Manually: cd ComfyUI/custom_nodes && git clone https://github.com/WASasquatch/was-node-suite-comfyui/, then pip install -r requirements.txt against your ComfyUI Python, and restart.

No model, no heavy dependency - it's a wiring convenience.

Common issues

The one that catches people: a bus only carries what you actually plugged in. If you forget to connect the VAE at the source and then try to tap VAE off the bus downstream, you get nothing - the bus didn't magically find it. Wire all five at the start of the spine and you avoid the "why is my VAE empty" head-scratch.

Worth knowing: rgthree's popular node pack has its own, arguably slicker, "Context" bus with a nicer editing experience, and a lot of people have drifted to it for exactly this job. The WAS Bus Node is perfectly fine and it's already in the suite if you have it - but if bus-wrangling becomes a big part of your life, the rgthree context nodes are worth a look. Don't mix two different bus systems on the same spine, though; pick one and stay consistent or you'll lose track of what's carrying what.

And the pack caveat: WAS Node Suite has been retired since December 2023 - used everywhere, maintained nowhere. If a ComfyUI update makes every WAS node vanish with an "Import Failed", that's suite-level dependency drift, not this node. Re-run requirements.txt against the correct Python environment (or the bundled install.bat) and restart.

CategoryWAS Suite/Utilities

Inputs (6)

NameTypeDefaultDescription
busoptBUSAn incoming bundle from an earlier Bus Node, carrying all five values on one wire. Leave it disconnected on the first node of a chain and connect the five inputs directly instead.
modeloptMODELDiffusion model to put on the bus. Connected, it replaces whatever model arrived on the bus input; disconnected, the bus keeps its own. A model has to reach the node one way or the other.
clipoptCLIPText encoder to put on the bus. Connected, it replaces whatever clip arrived on the bus input; disconnected, the bus keeps its own. A clip has to reach the node one way or the other.
vaeoptVAEVAE to put on the bus. Connected, it replaces whatever vae arrived on the bus input; disconnected, the bus keeps its own. A vae has to reach the node one way or the other.
positiveoptCONDITIONINGPositive conditioning to put on the bus. Connected, it replaces whatever arrived on the bus input. Unlike the model, clip and vae this one is not required, and stays empty if neither side has it.
negativeoptCONDITIONINGNegative conditioning to put on the bus. Connected, it replaces whatever arrived on the bus input. Unlike the model, clip and vae this one is not required, and stays empty if neither side has it.

Outputs (6)

NameTypeDescription
busBUSAll five values bundled onto one wire, to carry across the graph and unpack at the next Bus Node.
modelMODELThe model now on the bus: the model input, or the incoming bus's.
clipCLIPThe clip now on the bus: the clip input, or the incoming bus's.
vaeVAEThe vae now on the bus: the vae input, or the incoming bus's.
positiveCONDITIONINGThe positive conditioning now on the bus: the positive input, or the incoming bus's.
negativeCONDITIONINGThe negative conditioning now on the bus: the negative input, or the incoming bus's.