ComfyUI Node

Motorway 9x4

Nine in, a clean four-port exit ramp

By agilly1989Β·Created 2 years agoΒ·Updated about a year agoΒ· 7
Motorway 9x4
  • 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_(A)_keyβ€”β–Ί
β—„ANY_(B)_keyβ€”β–Ί
β—„ANY_(C)_keyβ€”β–Ί
β—„ANY_(D)_keyβ€”β–Ί
β—„ANY_(E)_keyβ€”β–Ί
β—„ANY_(F)_keyβ€”β–Ί
β—„ANY_(G)_keyβ€”β–Ί
β—„ANY_(H)_keyβ€”β–Ί
β—„ANY_(I)_keyβ€”β–Ί

Motorway 9x4 is the ramp node for when you've got nine things to put on the bus and exactly four you need to hand off at the far end. Four wildcard inputs? No - nine inputs (A through I), and four pull-port outputs (A through D). The name is [inputs]x[outputs], so 9x4 stashes a lot and surfaces a sensible handful.

If you've spent any time with this pack's naming, the behavior is familiar: every ANY input gets a _key text field where you type the name it's stored under, and every ANY output is a query that retrieves by key. The inputs are optional - you can leave some unplugged and the node just passes the Motorway through - which makes the 9x4 flexible: use all nine when you're collecting a full generation bundle, use three, or use it as a pure bus that only pulls values out.

The four-output shape turns out to be a genuinely comfortable number. Four is "model, clip, vae, conditioning" or "positive, negative, mask, seed" or any set you want to keep within arm's reach while the rest of the bundle keeps travelling. You're not forced to route everything through outputs, and you're not forced to keep four in mind either - the whole point of the Motorway is that any node later in the chain can query any key, so these four outputs are conveniences, not requirements.

Mechanically nothing special differentiates this from the other ramps: the MOTORWAY connection carries a dict-like bag keyed by your strings (stored under sha256 hashes), every hop clones the bag so parallel branches stay independent, and reading a key that was never set raises the pack's signature error, 'MotorwayClass' object has no attribute 'hash_'. That error is your friend - it means a typo or an ordering problem, not corruption.

Installation is the pack-standard: ComfyUI Manager (search "agilly1989" or "ComfyUI_agilly1989_motorway") or

cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway

then restart ComfyUI. Zero model downloads, zero extra Python packages - it's a pure-Python pack, so the install is genuinely painless.

Caveats are the family's shared ones. Keys are case-sensitive and exact; a key read before it's written fails loudly rather than silently. The pack is one person's beta - the README opens with "IF THINGS BREAK ITS BECAUSE I BROKE IT" - so treat it as a convenience layer, not infrastructure. And if four outputs feels like more than you'll use, that's a sign to step down to the 9x3. This node earns its keep when you've got a real four-pack to surface.

Categoryagilly1989 Nodes/Motorways

Inputs (19)

NameTypeDefaultDescription
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)_keyoptSTRINGβ€”
ANY_(B)_keyoptSTRINGβ€”
ANY_(C)_keyoptSTRINGβ€”
ANY_(D)_keyoptSTRINGβ€”
ANY_(E)_keyoptSTRINGβ€”
ANY_(F)_keyoptSTRINGβ€”
ANY_(G)_keyoptSTRINGβ€”
ANY_(H)_keyoptSTRINGβ€”
ANY_(I)_keyoptSTRINGβ€”

Outputs (5)

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