Motorway 9x5
Five exits off the same nine-lane bus
- MOTORWAY ππ¨
- ANY_(A)
- ANY_(B)
- ANY_(C)
- ANY_(D)
- ANY_(E)
- ANY_(F)
- ANY_(G)
- ANY_(H)
- ANY_(I)
- MOTORWAY ππ¨
- ANY (A)
- ANY (B)
- ANY (C)
- ANY (D)
- ANY (E)
Motorway 9x5 is the ramp that starts to look like a small control panel: nine wildcard inputs (A through I) load into the Motorway, and five pull-port outputs (A through E) let you surface a fifth of the state at once. It's the [inputs]x[outputs] naming pattern working as advertised - bundle heavily, query liberally.
Here's the mental model that makes every one of these nodes click. The Motorway is a bag of keyβvalue pairs carried by one wire. You type a key next to any input and the value goes into the bag under that name. Outputs don't echo inputs - each output is a little query that fetches whatever key you typed into its key field, wherever that value was set. So a 9x5 doesn't have to be "these nine in, those five out" in any positional sense. You can store model, clip, vae, positive, negative, seed, steps, cfg, and a lora stack at the top of the graph, then use this node mid-graph to pull out, say, model, positive, negative, seed, and steps and wire them straight into a sampler. The positions don't line up; the keys are the contract.
That's also why the five-output version is worth having at all rather than always grabbing the biggest node. Five is "everything a sampler wants" - model, positive, negative, seed, steps - in one place, which is a shockingly common need. It's the ramp you put right in front of a KSampler.
Under the hood it's all the same custom type: values stored under sha256 hashes of your key strings, the bag cloned at each node so branches don't bleed into each other, and a loud 'MotorwayClass' object has no attribute 'hash_' if you ever read a key nobody wrote. Treat that error as a typo detector.
Install the pack however you like - ComfyUI Manager (search "agilly1989") or:
cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway
Restart ComfyUI and you're done. No models, no pip requirements, nothing else to fetch.
Same family warnings: keys are exact and case-sensitive, the pack is a one-person beta that the author openly says can break, and older releases had a startup-crashing clone experiment that's since been removed - if ComfyUI won't boot after an update, that's the pack to suspect first. The 9x5 is a great middle ground; you'll rarely want more exits than a sampler has inputs.
Inputs (19)
| 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_(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 | β |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β |
| ANY (A) | * | β |
| ANY (B) | * | β |
| ANY (C) | * | β |
| ANY (D) | * | β |
| ANY (E) | * | β |