Motorway 6x3
Six into the bag, three out the door
- MOTORWAY ππ¨
- ANY_(A)
- ANY_(B)
- ANY_(C)
- ANY_(D)
- ANY_(E)
- ANY_(F)
- MOTORWAY ππ¨
- ANY (A)
- ANY (B)
- ANY (C)
Motorway 6x3 is the "six into the bag, three out the door" pipe: six inputs, three ANY outputs, plus the continuing MOTORWAY ππ¨ wire. It's from the agilly1989 Nodes/Motorways pack, and it fits the workflows where you want to carry six values along a single bus wire but only need three of them materialized at this stop.
The 6x3 names the shape. Six key slots (A through F) exist because six inputs feed in, and the three outputs read by keys A, B and C. So lanes D, E and F are pure writes - park values that some later stop will pull out by name - while A, B and C double as write-and-read. It's the pipe equivalent of "route these six, but hand me three here."
How it works
Same engine as every Motorway node. The motorway is a custom object that behaves like a dict, keys stored under sha256 hashes so nothing collides with ComfyUI's own attributes. When the node runs, it pops the incoming MOTORWAY ππ¨, stores each connected ANY_(A)βANY_(F) input under its _key widget value, clones the bag, reads keys AβC for the outputs, and passes the bag onward. A key written at any earlier stop is readable at any later stop; a reused key overwrites the old value rather than merging.
That's the whole mental model, and it's the same one rgthree's Context nodes and Efficiency Nodes sell: fewer long wires, values traveling by name instead of by copper. Motorway just implements it as a loose dict where the key string is the contract - fast to wire, and you own the naming discipline.
The inputs and outputs that matter
Required MOTORWAY ππ¨ input (Motorway-type only, so it won't connect to normal model ports). Six optional inputs ANY_(A) through ANY_(F) with _key widgets. Outputs: MOTORWAY ππ¨, ANY (A), ANY (B), ANY (C). The AβC outputs return whatever those keys hold after this stop's writes, so plugging a value into ANY_(C) and keying it positive gives you that conditioning right back out on ANY (C). 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. There's no requirements.txt and no model download - it's pure Python on ComfyUI's own comfy_types, so the install is genuinely one line. Bear in mind it's a one-person beta project; the README's top line is an honest warning that things get broken and fixed while the author iterates.
Common issues
The error you'll recognize is KeyError: Key: 'x' doesn't exist in motorway (README form: 'MotorwayClass' object has no attribute 'hash_'), which means an output read a key nothing has written - check spelling and case, keys are exact strings. And keep the overwrite rule close: six keys is six chances to silently replace a value an earlier stop parked under the same name. Unique keys, and you'll rarely see the error screen.
Inputs (13)
| 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_(A)_keyopt | STRING | β | |
| ANY_(B)_keyopt | STRING | β | |
| ANY_(C)_keyopt | STRING | β | |
| ANY_(D)_keyopt | STRING | β | |
| ANY_(E)_keyopt | STRING | β | |
| ANY_(F)_keyopt | STRING | β |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β |
| ANY (A) | * | β |
| ANY (B) | * | β |
| ANY (C) | * | β |