ComfyUI Node

Motorway 0x3

Pull the model, clip and vae trio off the bus

By agilly1989Β·Created 2 years agoΒ·Updated about a year agoΒ· 7
Motorway 0x3
  • MOTORWAY πŸšŒπŸ’¨
  • MOTORWAY πŸšŒπŸ’¨
  • ANY (A)
  • ANY (B)
  • ANY (C)
β—„ANY_(A)_keyβ€”β–Ί
β—„ANY_(B)_keyβ€”β–Ί
β—„ANY_(C)_keyβ€”β–Ί

Motorway 0x3 is the off-ramp you use when exactly three values travel together, and in ComfyUI the classic trio is model, clip and vae coming off a CheckpointLoaderSimple. One ramp, three keyed pulls, no three 0x1s stacked like a staircase.

It's part of agilly1989's "Motorway" - a key-value bus (pipe) for ComfyUI where everything rides one MOTORWAY πŸšŒπŸ’¨ connection and nodes stash and fetch values by string key. Where rgthree's Context nodes bundle things as one typed object, the Motorway is a bag: anything that fits in ComfyUI can ride in it.

How it works

A Motorway NxB node takes the bus in and exposes B keyed outputs. You type the key for each slot - model, clip, vae - and each value stored under those keys comes out on its ANY (X) output, typed * so it plugs into anything. The bus is cloned at every hop (a snapshot, not an in-place mutation), keys are exact-string and SHA-256 hashed behind the scenes, and a re-used key just overwrites.

The rhythm of a Motorway graph: MotorwayStart makes the empty bus β†’ an Nx0 on-ramp stores everything from a checkpoint loader β†’ later an off-ramp like this one hands model/clip/vae to a real node. You never drag the full checkpoint trio across the canvas again.

Inputs and outputs that matter

  • MOTORWAY πŸšŒπŸ’¨ (required) - the bus.
  • ANY_(A)_key, ANY_(B)_key, ANY_(C)_key (optional) - the three keys.
  • Outputs: MOTORWAY πŸšŒπŸ’¨, ANY (A), ANY (B), ANY (C).

Blank out a key you don't need; the output just goes unused.

Installing

cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway

or via ComfyUI Manager, then restart. No Python dependencies beyond the standard library and no model downloads.

Where people get burned

  • 'MotorwayClass' object has no attribute 'hash_' - a key isn't on the bus. It's exact-match; model with a trailing space won't find model.
  • Model won't feed the sampler - same root cause, but upstream: whatever should have stored model (a 4x0 or a CheckpointLoaderSimple wired into an on-ramp) never ran.
  • Beta breakage. The README's own header says things break because the author broke them. Pin the version if this is part of something you care about.

One aside: if you're pulling the same three keys in several places, consider storing them once and pulling once, then re-adding to the bus - the bus is cheap to clone, but your graph's readability is the real cost.

Categoryagilly1989 Nodes/Motorways

Inputs (4)

NameTypeDefaultDescription
MOTORWAY πŸšŒπŸ’¨MOTORWAY πŸšŒπŸ’¨β€”
ANY_(A)_keyoptSTRINGβ€”
ANY_(B)_keyoptSTRINGβ€”
ANY_(C)_keyoptSTRINGβ€”

Outputs (4)

NameTypeDescription
MOTORWAY πŸšŒπŸ’¨MOTORWAY πŸšŒπŸ’¨β€”
ANY (A)*β€”
ANY (B)*β€”
ANY (C)*β€”