ComfyUI Node

Motorway 4x5

Four in, five out β€” one extra lane of headroom

By agilly1989Β·Created 2 years agoΒ·Updated about a year agoΒ· 7
Motorway 4x5
  • MOTORWAY πŸšŒπŸ’¨
  • ANY_(A)
  • ANY_(B)
  • ANY_(C)
  • ANY_(D)
  • MOTORWAY πŸšŒπŸ’¨
  • ANY (A)
  • ANY (B)
  • ANY (C)
  • ANY (D)
  • ANY (E)
β—„ANY_(A)_keyβ€”β–Ί
β—„ANY_(B)_keyβ€”β–Ί
β—„ANY_(C)_keyβ€”β–Ί
β—„ANY_(D)_keyβ€”β–Ί
β—„ANY_(E)_keyβ€”β–Ί

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.

Categoryagilly1989 Nodes/Motorways

Inputs (10)

NameTypeDefaultDescription
MOTORWAY πŸšŒπŸ’¨MOTORWAY πŸšŒπŸ’¨β€”
ANY_(A)opt*β€”
ANY_(B)opt*β€”
ANY_(C)opt*β€”
ANY_(D)opt*β€”
ANY_(A)_keyoptSTRINGβ€”
ANY_(B)_keyoptSTRINGβ€”
ANY_(C)_keyoptSTRINGβ€”
ANY_(D)_keyoptSTRINGβ€”
ANY_(E)_keyoptSTRINGβ€”

Outputs (6)

NameTypeDescription
MOTORWAY πŸšŒπŸ’¨MOTORWAY πŸšŒπŸ’¨β€”
ANY (A)*β€”
ANY (B)*β€”
ANY (C)*β€”
ANY (D)*β€”
ANY (E)*β€”