Motorway 9x0
The biggest pure loading dock in the family
- MOTORWAY ππ¨
- ANY_(A)
- ANY_(B)
- ANY_(C)
- ANY_(D)
- ANY_(E)
- ANY_(F)
- ANY_(G)
- ANY_(H)
- ANY_(I)
- MOTORWAY ππ¨
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)throughANY (I)- nine inputs, each with a_keyfield 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 likeMotorwaySeed/MotorwayIntthat 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.
Inputs (19)
| Name | Type | Default | Description |
|---|---|---|---|
| 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)_keyopt | STRING | β | |
| ANY_(B)_keyopt | STRING | β | |
| ANY_(C)_keyopt | STRING | β | |
| ANY_(D)_keyopt | STRING | β | |
| ANY_(E)_keyopt | STRING | β | |
| ANY_(F)_keyopt | STRING | β | |
| ANY_(G)_keyopt | STRING | β | |
| ANY_(H)_keyopt | STRING | β | |
| ANY_(I)_keyopt | STRING | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β |