Motorway 4x5
Four in, five out β one extra lane of headroom
- MOTORWAY ππ¨
- ANY_(A)
- ANY_(B)
- ANY_(C)
- ANY_(D)
- MOTORWAY ππ¨
- ANY (A)
- ANY (B)
- ANY (C)
- ANY (D)
- ANY (E)
Motorway 4x5 is a fan-out ramp with a little headroom: four inputs, five outputs, from the agilly1989 Motorway pack. The fifth output is the tell - it's a pure exit with no matching input, which means this node isn't just for moving the four things you feed it; it's for pulling one extra value off the bus while you're at it. That makes it a nice "consolidate and grab one more thing" node between phases of a workflow.
The pack is a pipe implementation. A MotorwayClass bus carries values under string keys from node to node; each Motorway AxB is an on/off ramp that files inputs onto the bus and pulls outputs off. Everything starts with MotorwayStart (or a Motorway primitive like MotorwaySeed), and the bus always flows out of the first output socket. The README sets expectations early: "CURRENTLY IN ACTIVE DEVELOPMENT (BETA)! IF THINGS BREAK ITS BECAUSE I BROKE IT." Useful, but treat it as beta.
The node in detail
Required input MOTORWAY ππ¨, four data inputs ANY_(A) through ANY_(D) (typed * - any type), and five key fields ANY_(A)_key through ANY_(E)_key, because every input and every output gets a key slot. Outputs are ANY (A) through ANY (E), with the bus always first.
Lanes AβD are write-through: input A files under key A and output ANY (A) reads key A back out. Lane E is the spare - no input, so ANY_(E)_key is purely a "pull something off the bus" key. Type seed there and output ANY (E) hands you whatever upstream filed under seed, independent of the four inputs. That's the headroom doing its job.
So the natural pattern: keep four core values flowing inline through AβD, and use E as a grab-bag exit for that one extra value (a seed, a batch size, a filename) that the next node needs. The bus is cloned at every node, so forking the same bus into two ramps keeps their writes isolated.
Install
ComfyUI Manager, search "ComfyUI_agilly1989_motorway". Or:
cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway
Restart ComfyUI. No model downloads, no pip packages - pure Python.
Common issues
The README's documented error 'MotorwayClass' object has no attribute 'hash_...' is what you'll see when an output key points at a value nobody wrote - usually a typo, and keys are sha256-hashed internally so the typo just reads an empty slot. And the blank-key trap: wire ANY (E) but leave ANY_(E)_key empty and there's nothing in that lane. Fill the key on every output you actually use.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β | |
| ANY_(A)opt | * | β | |
| ANY_(B)opt | * | β | |
| ANY_(C)opt | * | β | |
| ANY_(D)opt | * | β | |
| ANY_(A)_keyopt | STRING | β | |
| ANY_(B)_keyopt | STRING | β | |
| ANY_(C)_keyopt | STRING | β | |
| ANY_(D)_keyopt | STRING | β | |
| ANY_(E)_keyopt | STRING | β |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β |
| ANY (A) | * | β |
| ANY (B) | * | β |
| ANY (C) | * | β |
| ANY (D) | * | β |
| ANY (E) | * | β |