ComfyUI Node

Motorway 7x1

Park seven, hand one forward

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

Motorway 7x1 is the "park seven, hand one forward" node: seven inputs in, a single ANY output out, plus the continuing MOTORWAY πŸšŒπŸ’¨ wire. It's from the agilly1989 Nodes/Motorways pack, and it's for the workflow where you want to stage seven values but only need one of them materialized at this exact stop - the other six ride the bus and get read by key further down.

The 7x1 names the shape: seven inputs, one output. It gets seven key slots (A through G), one per input, and the single output reads by the A key. So lanes B through G are pure writes - park a model, a VAE, a latent, a mask, and let later stops fetch them by name - while lane A is a write and a read. Connect something to ANY_(A), key it, and the output returns whatever that key holds at this point in the route, which is the freshly written value unless an earlier stop already owned the key.

How it works

Same engine as every Motorway node. The motorway is a custom class that behaves like a dict, keys stored under sha256 hashes. When the node runs it pops the incoming MOTORWAY πŸšŒπŸ’¨, stores each connected input under its _key widget value, clones the bag, reads the A key for the single output, and passes the bag forward. Reads happen after writes, so the output reflects this stop's changes; values written at earlier stops remain readable by name at any later stop. Reusing a key overwrites rather than merging - the README's one rule.

That asymmetry is the point: seven lanes of storage with a single convenience tap on the front. If you've ever wanted to stage a whole batch of parameters and only peek at the seed right here, this is the cleanest shape for it.

The inputs and outputs that matter

Required MOTORWAY πŸšŒπŸ’¨ input (Motorway-type only). Seven optional inputs ANY_(A) through ANY_(G) with _key widgets. Outputs: MOTORWAY πŸšŒπŸ’¨ and one ANY (A). Only the A key produces an output, so if you need to see one of the B–G values immediately, reach for a wider fan-out instead. Empty keys idle their lane.

Installing it

ComfyUI Manager - search ComfyUI_agilly1989_motorway - or clone:

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

Restart ComfyUI. No requirements.txt, no model downloads; pure Python on ComfyUI's own comfy_types. It's a one-person beta project whose README warns of breakage - pin a version for anything you depend on.

Common issues

KeyError: Key: 'x' doesn't exist in motorway (README's 'MotorwayClass' object has no attribute 'hash_') means the output read a key nothing has written - check spelling and case; keys are exact strings. And remember: leave A's key empty and the output carries no value at all, rather than passing something through. That's the one that confuses people.

Categoryagilly1989 Nodes/Motorways

Inputs (15)

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

Outputs (2)

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