Motorway 8x7
Nearly symmetric, leaning toward the off-ramps
- MOTORWAY ππ¨
- ANY_(A)
- ANY_(B)
- ANY_(C)
- ANY_(D)
- ANY_(E)
- ANY_(F)
- ANY_(G)
- ANY_(H)
- MOTORWAY ππ¨
- ANY (A)
- ANY (B)
- ANY (C)
- ANY (D)
- ANY (E)
- ANY (F)
- ANY (G)
Eight in, seven out - Motorway 8x7 is one output short of the symmetric ramp, which makes it the shape for a node that's mostly passing a bundle through but wants to grab a little more out than it puts in. It's part of ComfyUI_agilly1989_motorway, agilly1989's "pipe" implementation for ComfyUI, where a named-value dictionary rides a single MOTORWAY ππ¨ wire so a busy workflow doesn't need wires strung across the whole canvas.
The usual Motorway rule applies: inputs write onto the bus, outputs read off it, and the two lists are independent. With seven outputs you can fetch a lot of what's riding the bus - including values written by ramps earlier in the graph - while still contributing eight new ones. If you've ever wished there were a node that said "everything the bus knows, but bigger," this is close.
How it works
Same shared engine as every Motorway node. The bus is a dict-like object whose keys are sha256 hashes of the names you type - exact and case-sensitive. Each run: store every connected input under its _key name, clone the bus, emit the clone plus one output per non-empty output key. Values persist downstream until a later write to the same key replaces them.
Because outputs (7) and inputs (8) are close, the key fields are generated up to the larger count - here that's eight, so you get ANY (A)_key through ANY (H)_key, one per input socket, and the same eight keys double as the lookups behind the seven outputs. Nothing extra to configure; the input keys and output lookups share one namespace.
The inputs and outputs that matter
MOTORWAY ππ¨- required bus input and the bus output that carries the line onward.ANY (A)throughANY (H)- eight inputs, each with a_keyname field.ANY (A)throughANY (G)- seven outputs, each with a_keylookup field.
Store eight, fetch seven, and keep the output keys contiguous - A through G in order - because outputs are positional and only emitted for non-empty keys.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway
Restart ComfyUI, or install via ComfyUI Manager (search "motorway"). No pip dependencies, no model downloads - pure Python, and the whole ~120-node family installs with the clone.
Common issues
'MotorwayClass' object has no attribute 'hash_'- a read key doesn't exist on the bus yet. Spelling and case matter; keys are exact.- Forgetting to start the bus. First node in the chain should be
MotorwayStartor a Motorway primitive that acts as one. - Gaps in output keys renumber sockets. Keep A through G filled in order.
- Duplicate keys win silently. Later writes to the same key override earlier ones.
- Beta with disclaimers. The README flags async as broken and openly says things break because the author broke them. Fine for single-run workflows.
Inputs (17)
| 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_(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 | β |
Outputs (8)
| Name | Type | Description |
|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β |
| ANY (A) | * | β |
| ANY (B) | * | β |
| ANY (C) | * | β |
| ANY (D) | * | β |
| ANY (E) | * | β |
| ANY (F) | * | β |
| ANY (G) | * | β |