ComfyUI Node

Motorway 6x8

Six in, eight out, two taps into the route

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

Motorway 6x8 is the wide fan-out of the six-input family: six values in, eight ANY outputs out, plus the continuing MOTORWAY πŸšŒπŸ’¨ wire. It's from the agilly1989 Nodes/Motorways pack, and it's the node for the moment where a packed stop has to feed a lot of consumers - a checkpoint's model, VAE and conditioning reaching several samplers and detailers, without eight wires dragging across the canvas.

The 6x8 names the shape. Because key slots are generated per output, you get eight lanes (A through H) with only six inputs - so lanes G and H are pure reads. No input wire, just a _key widget each: type an existing key and ANY (G) / ANY (H) return whatever earlier stops stored under those names. Six fresh writes plus two free taps into the route's history, all in one node.

How it works

Same engine as every Motorway node. The motorway is a custom object that behaves like a dict, keys stored under sha256 hashes. When the node runs it pops the incoming MOTORWAY πŸšŒπŸ’¨, stores each connected ANY_(A)–ANY_(F) input under its _key widget value, clones the bag, reads one key per output slot, and passes the bag onward. Keys written at earlier stops are readable at later stops by name; a reused key overwrites the old value rather than appending.

That keyed-by-name design is the same idea as rgthree's Context nodes and Efficiency Nodes - fewer wires, values traveling by name. Motorway just implements it as a loose dict, which is fast to build and genuinely tidier, at the cost of you remembering what you named things. That tradeoff is the whole community debate around pipe nodes, and it's worth knowing before you commit.

The inputs and outputs that matter

Required MOTORWAY πŸšŒπŸ’¨ input (Motorway-type only). Six optional inputs ANY_(A) through ANY_(F) with _key widgets. Outputs: MOTORWAY πŸšŒπŸ’¨, ANY (A) through ANY (H). The A–F lanes write-and-read; G and H are read-only taps. Empty keys idle their lane, so this node happily runs as a 4x5.

Installing it

ComfyUI Manager - search ComfyUI_agilly1989_motorway - or:

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. One-person beta project with an honest "it works on my system" README - pin a version if a shared workflow depends on it.

Common issues

The tell is KeyError: Key: 'x' doesn't exist in motorway (README's 'MotorwayClass' object has no attribute 'hash_'): an output read a key nothing has written, usually a typo or case mismatch - keys are exact strings. And with this many read lanes, the overwrite rule bites harder: two stops both writing "model" means only the last one survives. Keep keys unique and this becomes a genuinely pleasant distribution hub.

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

Outputs (9)

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