Motorway 10x5
Five values live, five more riding along
- 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)
The Motorway 10x5 is the motorway's even split: ten things go in, five come out, and the other five just keep riding the bus. It's the node you reach for when one stage of your workflow needs about half of what's currently in flight, and you don't want to re-route every wire to get it there.
It's part of agilly1989/ComfyUI_agilly1989_motorway, a one-person beta pack that implements a keyed "pipe" for ComfyUI. The concept: instead of a fixed-tuple pipe like rgthree's Context nodes, you get a bag of named values traveling on one wire. Any node can write values in under whatever names it likes, and any node can read them back out by name. The 10x5 sits right at the balanced point of that design - a full-width write side plus a real handful of read slots.
How it works. Ten ANY_(A)βANY_(J) inputs, each with a _key string field beside it. Connected input plus a filled-in key means the value is stored on the motorway under that name; blank key means that slot is ignored. On the way out, ANY (A) through ANY (E) pull by key from ANY_(A)_key through ANY_(E)_key. Under the hood the MotorwayClass hashes each key with sha256 and stores the value as an attribute, then clones itself before passing the bag onward - so what this node emits is a snapshot, and values written later can't reach back and change it.
Inputs and outputs that matter. The required MOTORWAY ππ¨ input is the bus; chain this after a MotorwayStart. The ten ANY_ inputs are wildcard-typed, so they take models, conditioning, images, or anything else without complaint. The five ANY outputs are also wildcards and wire straight into whatever needs that value. The key discipline is really the whole game: pick names you'll remember, use them consistently across all the ramps in the chain, and remember that case and whitespace count.
Install. Via ComfyUI Manager (search "ComfyUI_agilly1989_motorway") or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway
Restart ComfyUI. There are no extra dependencies and nothing to download - pure Python custom nodes.
Common issues. The signature error is 'MotorwayClass' object has no attribute 'hash_', which means a read key never matched a write key anywhere upstream. It's almost always a typo or a difference in case. Two things trip people up specific to this shape: keys on slots CβJ still exist even though only five outputs read them back, so it's easy to write a value here nobody will ever read from this node; and if you leave any of the five output keys blank, that output simply doesn't materialize, which can break ComfyUI's output wiring. And mind the beta status - this pack is still being actively broken and fixed by its author, so update with your eyes open.
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 (6)
| Name | Type | Description |
|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β |
| ANY (A) | * | β |
| ANY (B) | * | β |
| ANY (C) | * | β |
| ANY (D) | * | β |
| ANY (E) | * | β |