Motorway 10x9
Ten lanes in, nine out
- MOTORWAY ππ¨
- ANY_(A)
- ANY_(B)
- ANY_(C)
- ANY_(D)
- ANY_(E)
- ANY_(F)
- ANY_(G)
- ANY_(H)
- ANY_(I)
- ANY_(J)
- MOTORWAY ππ¨
- ANY (A)
- ANY (B)
- ANY (C)
- ANY (D)
- ANY (E)
- ANY (F)
- ANY (G)
- ANY (H)
- ANY (I)
The Motorway 10x9 is, in the shipped build, about as big as this pack gets. It's generated from the same template as every other Motorway node - ten inputs in, nine outputs out - and it's the one you reach for when a single subgraph legitimately needs nearly everything your workflow is carrying. It's the "everything and the kitchen sink" ramp, and it's honestly impressive that a pipe system this small can grow to this size without any of the plumbing changing.
It belongs to agilly1989/ComfyUI_agilly1989_motorway, a one-author beta pack that builds a keyed pipe for ComfyUI. The interesting bit: all of these nodes are generated in a loop over input/output counts in ramps/generated.py, capped at ten each. So 10x9 is right at the top of the range - the README jokes about a 420x69 node, but the shipped generator stops at ten lanes a side (you can bump the constant if you want, but it's a fork-your-own-repo situation).
How it works. The motorway is a MotorwayClass: a bag of values stored under sha256-hashed key attributes. Each of the ten ANY_(A)βANY_(J) inputs has a _key field; connect a value, name it, and it's written to the bag. The nine outputs ANY (A)βANY (I) read back by key. This node reads almost everything it writes, which makes it a good "census" point - connect your ten core values upstream, and here you can fan all nine of them out to wherever the next stage needs them, with just one value staying on the bus unread.
Inputs and outputs that matter. The required MOTORWAY ππ¨ input is the pipe; it must already be live from a MotorwayStart. All ANY_ slots are wildcards - any ComfyUI type plugs in and out. One quirk of the code: the key fields are generated up to the larger of inputs and outputs, so this node shows ten key fields even though it only reads nine values back. That tenth key (J) writes to the bag but has no output here; harmless, but easy to forget when you're auditing why an output isn't there.
Install. ComfyUI Manager (search "ComfyUI_agilly1989_motorway") or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway
Restart ComfyUI. No models, no requirements.txt, nothing extra.
Common issues. With nine read keys, this is the node most likely to surface the pack's signature error: 'MotorwayClass' object has no attribute 'hash_' - a read key with no matching write upstream, usually a typo or a case mismatch. Blank keys drop outputs, so a 10x9 with three keys empty returns a shorter tuple than ComfyUI expects for its nine outputs. And remember the beta terms: the README opens with the author admitting it's broken and that fixing it depends on time and motivation. It works - usually - but save your workflows before you update.
Inputs (21)
| 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_(J)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 | β | |
| ANY_(J)_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) | * | β |