ComfyUI Node

Motorway 4x0

The on-ramp with no exits, and why it's genuinely useful

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

A Motorway node with zero outputs sounds like a dead end, and in most packs it would be. In the agilly1989 Motorway bus system it's actually the opposite: Motorway 4x0 is the pure "load the bus" node. You feed it four values, it files all four onto the bus under their keys, and then the bus keeps driving - because the MOTORWAY πŸšŒπŸ’¨ output is always first, even when there are no data outputs.

The author's own Example.json uses exactly this pattern: a Motorway 4x0 right after a checkpoint loader, with the model, CLIP, VAE and latent all typed into its key fields in one place. Every node downstream then pulls what it needs by key, and the graph reads like a highway map instead of a plate of spaghetti.

How it works

The pack is a pipe implementation: a custom MotorwayClass bus carries values from node to node under string keys. This node has four data inputs - ANY_(A), ANY_(B), ANY_(C), ANY_(D), all typed * so they accept anything - and four key fields ANY_(A)_key through ANY_(D)_key. Each letter's key files that letter's input onto the bus. Connect the checkpoint to ANY_(A) and type model into ANY_(A)_key; connect the CLIP to ANY_(B) with key clip, and so on. Blank keys do nothing, so it's fine to leave some lanes empty.

Since there are no data outputs, this node's job is purely to commit values to the bus for later. The only output is the bus itself, MOTORWAY πŸšŒπŸ’¨, which you chain into the next ramp. The bus is cloned at every node, so whatever you file here is a snapshot - later writes to the same key on another node will overwrite it for everything downstream of that node, but a side branch that forked off earlier keeps what it saw.

You can even use it as your graph's "setup" block: all four of the things every ramp needs (model, clip, vae, seed) in one tidy column at the top of the canvas. That's the workflow-decluttering pitch, and it's the honest best use of this node.

Install

ComfyUI Manager search "ComfyUI_agilly1989_motorway", or:

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

Restart ComfyUI. No models to grab, no pip dependencies - pure Python.

Watch out

Remember every bus needs a start: chain this from MotorwayStart or a Motorway primitive, not from thin air. And the README's signature error applies here with feeling - 'MotorwayClass' object has no attribute 'hash_...' means some downstream node asked for a key you never filed in on this 4x0. Double-check the key strings, because they're hashed internally and a typo points at an empty slot. One more: because a 4x0 has no data outputs, whatever you store here is only useful if something downstream actually reads it - file values you plan to use, or you're just adding a node that does nothing.

Categoryagilly1989 Nodes/Motorways

Inputs (9)

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

Outputs (1)

NameTypeDescription
MOTORWAY πŸšŒπŸ’¨MOTORWAY πŸšŒπŸ’¨β€”