Motorway 7x1
Park seven, hand one forward
- MOTORWAY ππ¨
- ANY_(A)
- ANY_(B)
- ANY_(C)
- ANY_(D)
- ANY_(E)
- ANY_(F)
- ANY_(G)
- MOTORWAY ππ¨
- ANY (A)
Motorway 7x1 is the "park seven, hand one forward" node: seven inputs in, a single ANY output out, plus the continuing MOTORWAY ππ¨ wire. It's from the agilly1989 Nodes/Motorways pack, and it's for the workflow where you want to stage seven values but only need one of them materialized at this exact stop - the other six ride the bus and get read by key further down.
The 7x1 names the shape: seven inputs, one output. It gets seven key slots (A through G), one per input, and the single output reads by the A key. So lanes B through G are pure writes - park a model, a VAE, a latent, a mask, and let later stops fetch them by name - while lane A is a write and a read. Connect something to ANY_(A), key it, and the output returns whatever that key holds at this point in the route, which is the freshly written value unless an earlier stop already owned the key.
How it works
Same engine as every Motorway node. The motorway is a custom class that behaves like a dict, keys stored under sha256 hashes. When the node runs it pops the incoming MOTORWAY ππ¨, stores each connected input under its _key widget value, clones the bag, reads the A key for the single output, and passes the bag forward. Reads happen after writes, so the output reflects this stop's changes; values written at earlier stops remain readable by name at any later stop. Reusing a key overwrites rather than merging - the README's one rule.
That asymmetry is the point: seven lanes of storage with a single convenience tap on the front. If you've ever wanted to stage a whole batch of parameters and only peek at the seed right here, this is the cleanest shape for it.
The inputs and outputs that matter
Required MOTORWAY ππ¨ input (Motorway-type only). Seven optional inputs ANY_(A) through ANY_(G) with _key widgets. Outputs: MOTORWAY ππ¨ and one ANY (A). Only the A key produces an output, so if you need to see one of the BβG values immediately, reach for a wider fan-out instead. Empty keys idle their lane.
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 model downloads; pure Python on ComfyUI's own comfy_types. It's a one-person beta project whose README warns of breakage - pin a version for anything you depend on.
Common issues
KeyError: Key: 'x' doesn't exist in motorway (README's 'MotorwayClass' object has no attribute 'hash_') means the output read a key nothing has written - check spelling and case; keys are exact strings. And remember: leave A's key empty and the output carries no value at all, rather than passing something through. That's the one that confuses people.
Inputs (15)
| 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_(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 | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β |
| ANY (A) | * | β |