ComfyUI Node

Motorway 9x0

The biggest pure loading dock in the family

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

Nine inputs, zero outputs. That's Motorway 9x0, the biggest pure loading dock in the Motorway family - and no, the zero isn't a mistake. In ComfyUI_agilly1989_motorway (agilly1989's "pipe" implementation for ComfyUI), inputs write values onto a shared named bus and outputs read them off. A zero-output node has nothing to read, so its only job is to shove nine values onto the MOTORWAY πŸšŒπŸ’¨ bus and let the rest of the graph consume them by key.

That's the settings node you've been wanting. Park a 9x0 near the top of the workflow, type keys like "model", "clip", "vae", "positive", "negative", "seed", "steps", "cfg", "denoise" into the nine _key fields, and every downstream ramp can fetch them without a single wire running from here to anywhere. It's the highest-capacity way to define a graph's shared state in one place.

How it works

Standard Motorway machinery with the read half removed. The bus is a dict-like object whose keys are sha256 hashes of the names you type. On each run the node takes the incoming bus, stores every connected input under its _key name, clones the bus, and emits the clone as its single MOTORWAY πŸšŒπŸ’¨ output. That's the whole function: nine values in, named, released onto the bus.

Since values persist until overwritten, what you load here at the top is available at the very bottom of the graph. Since the bus is cloned rather than mutated, nothing else on it is disturbed. And because this node takes a bus as well as producing one, you can chain multiple loading docks if nine isn't enough - though at some point you're just adding inputs to a dictionary with extra steps.

The inputs and outputs that matter

  • MOTORWAY πŸšŒπŸ’¨ - the required input (bus from upstream) and the sole output (bus onward).
  • ANY (A) through ANY (I) - nine inputs, each with a _key field naming the value on the bus.

That's all there is. This node is meant to sit quietly at the top and feed everything else - the output count of zero is exactly why it never clutters a canvas.

Installing it

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

Restart ComfyUI, or install via ComfyUI Manager (search "motorway"). No pip dependencies, no model downloads - pure Python, and the whole ~120-node family registers with the clone.

Common issues

  • No start node. A 9x0 can't begin a chain - it needs a bus on its input. First node should be MotorwayStart (or a Motorway primitive like MotorwaySeed/MotorwayInt that can start a bus itself).
  • 'MotorwayClass' object has no attribute 'hash_' downstream - some output elsewhere references a key you never wrote here. Check spelling and case; keys are exact.
  • Silent overwrites. If a later ramp writes the same key, the later value wins.
  • Beta. The README flags async as broken and cheerfully admits the author breaks things. Fine for ordinary single-run graphs.
Categoryagilly1989 Nodes/Motorways

Inputs (19)

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

Outputs (1)

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