Motorway 2x10
Motorway 2x10
- MOTORWAY ππ¨
- ANY_(A)
- ANY_(B)
- MOTORWAY ππ¨
- ANY (A)
- ANY (B)
- ANY (C)
- ANY (D)
- ANY (E)
- ANY (F)
- ANY (G)
- ANY (H)
- ANY (I)
- ANY (J)
Motorway 2x10 is the biggest fan-out in the two-input row of the agilly1989 Motorway pack: two values in, ten named values out. Eight of those ten outputs are read-only taps into anything already riding the bus. When you need one node to act as the distribution point for an entire graph - two live values carried forward, eight settings surfaced for consumers all over the canvas - this is the shape.
The Motorway is a beta "pipe" implementation by solo dev agilly1989, same genre as rgthree's Context nodes and Impact Pack pipes: collapse a tangle of wires into one bus connection. The transport here is a MotorwayClass object passed down the MOTORWAY ππ¨ wire, which is the required input on every node and the always-first output so the route keeps going. Every flow begins at MotorwayStart (the Motorway primitive nodes can also start one), then the bus threads through whatever junctions you add.
How it works
Same key mechanism as the rest of the pack. Two values into ANY_(A) and ANY_(B), named by ANY_(A)_key and ANY_(B)_key, and they're stored on the bus. Because outputs outnumber inputs, the node carries the maximum ten key slots - ANY_(A)_key through ANY_(J)_key:
- inputs
ANY_(A)andANY_(B)with keys - read-only key slots
ANY_(C)_keythroughANY_(J)_key - the required
MOTORWAY ππ¨bus input - outputs
MOTORWAY ππ¨,ANY (A)throughANY (J)
Slots A and B write and immediately read back. The other eight are taps: type any key that exists on the bus and its output hands over the value. In practice that's a control panel - pass model and clip onward while exposing seed, steps, cfg, positive, negative, denoise, latent and lora right here. One node replaces what would otherwise be a spider's nest of wires.
The key detail about the "10": the pack's generator is capped at MAX_IN = 10 and MAX_OUT = 10 in ramps/generated.py, so 10 is the largest fan-out the defaults ship. Per the README you can raise those numbers (up to 52) and regenerate, if you genuinely need wider.
Keys are sha256-hashed into hash_β¦ attributes, so a missing key errors as 'MotorwayClass' object has no attribute 'hash_', and writing the same key twice anywhere overwrites the first value.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway
then restart ComfyUI, or install via ComfyUI Manager under ComfyUI_agilly1989_motorway. No pip dependencies, no model downloads - pure Python, clone-and-restart and you're set.
Common issues
hash_error: key never written or mistyped. Matching is exact - case and spaces count.- Empty key slots mean those outputs are never produced - wire anything into them and ComfyUI rejects the missing output. Fill all ten.
- Don't key a slot you left disconnected; an unconnected input stores
Noneand can erase a real value.
Beta pack, honest warning from the author, and at ten lanes this is the biggest hub in the box - ideal for a workflow where everyone reads from the same route.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β | |
| ANY_(A)opt | * | β | |
| ANY_(B)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 (11)
| Name | Type | Description |
|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β |
| ANY (A) | * | β |
| ANY (B) | * | β |
| ANY (C) | * | β |
| ANY (D) | * | β |
| ANY (E) | * | β |
| ANY (F) | * | β |
| ANY (G) | * | β |
| ANY (H) | * | β |
| ANY (I) | * | β |
| ANY (J) | * | β |