Motorway 5x9
The widest fan-out in the 5-input family
- MOTORWAY ππ¨
- ANY_(A)
- ANY_(B)
- ANY_(C)
- ANY_(D)
- ANY_(E)
- MOTORWAY ππ¨
- ANY (A)
- ANY (B)
- ANY (C)
- ANY (D)
- ANY (E)
- ANY (F)
- ANY (G)
- ANY (H)
- ANY (I)
Motorway 5x9 is the fan-out monster of the five-input family: five values in, nine outputs out. It's a pipe node from the agilly1989 Nodes/Motorways pack, and it exists for the workflow where one packed stop has to feed a lot of consumers - think a checkpoint's model, VAE, and positive/negative conditioning all needing to reach several samplers and detailers without nine separate wires dragging across your canvas.
The 5x9 tells you the shape. Nine output slots means nine key lanes (A through I), but only five inputs, so four of those lanes - F through I - are pure reads with no input wire. They pull whatever keys earlier Motorway stops already wrote. That's the real reason to pick a 5x9 over smaller siblings: you can write five fresh values at this stop while simultaneously pulling back four older ones, all in one node, all off one bus wire.
How it works
Under the hood every Motorway node is a keyed bag on a bus. The motorway object acts like a dict - values stored under keys, hashed with sha256 so they never collide with ComfyUI's own attributes. When the node runs it pops the incoming MOTORWAY ππ¨, writes each connected input under its _key widget value, clones the whole bag, then reads one key per output slot and passes the bag onward. The one rule to internalize: a key written at any earlier stop is readable at any later stop, and if you reuse a key further down, the later write wins - the README's "it will be overwritten."
Because it generates a key slot for every output, the 5x9's FβI lanes are read-only by construction: type an existing key into one and the matching ANY (F)βANY (I) output returns that value. Want to broadcast "seed" to four consumers? Write it once, then read it from four separate read lanes at whatever stops need it.
The inputs and outputs that matter
Required MOTORWAY ππ¨ in (connects only to other Motorway nodes). Optional ANY_(A) through ANY_(E) inputs with _key widgets. Outputs: MOTORWAY ππ¨ plus ANY (A) through ANY (I). Empty keys idle their lane, so you never have to fill all nine - this node happily runs as a 2x4.
Installing it
ComfyUI Manager - search ComfyUI_agilly1989_motorway - or clone:
cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway
Restart ComfyUI. No requirements.txt, no models to download; it's pure Python on ComfyUI's own comfy_types. One honest caveat before you build a whole pipeline on it: the author describes it as actively-in-development beta and the README doesn't mince words about breakage, so expect occasional churn on updates.
Common issues
The failure you'll meet is KeyError: Key: 'x' doesn't exist in motorway (README's variant: 'MotorwayClass' object has no attribute 'hash_') - an output read a key no stop has written. Keys are exact strings, so a stray space or wrong case is the usual culprit. And with this many read lanes, the overwrite rule bites harder: two stops both writing "model" means only the last one survives. Keep keys unique and you've got a tidy, readable distribution hub.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β | |
| ANY_(A)opt | * | β | |
| ANY_(B)opt | * | β | |
| ANY_(C)opt | * | β | |
| ANY_(D)opt | * | β | |
| ANY_(E)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 (10)
| Name | Type | Description |
|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β |
| ANY (A) | * | β |
| ANY (B) | * | β |
| ANY (C) | * | β |
| ANY (D) | * | β |
| ANY (E) | * | β |
| ANY (F) | * | β |
| ANY (G) | * | β |
| ANY (H) | * | β |
| ANY (I) | * | β |