ComfyUI Node

Motorway 6x7

Six in, seven out, one free read lane

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

Motorway 6x7 is the six-input fan-out: six values in, seven ANY outputs out, plus the continuing MOTORWAY πŸšŒπŸ’¨ wire. It's from the agilly1989 Nodes/Motorways pack, and it's the stop you pick when six things arrive but seven things need to be handed off - one of which is a value that was written earlier in the route.

The 6x7 names the shape. Key slots are generated per output here, so you get seven lanes (A through G) even though only six inputs feed in. That means lane G is a pure read: no input wire, just a _key widget - type an existing key and ANY (G) returns that value. If an earlier stop parked the seed under "seed," lane G hands it back without you reconnecting a thing.

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 one key per output slot, and passes the bag forward. Any key written at an earlier stop is readable at any later stop; a reused key overwrites the old value rather than merging - the README's one hard rule.

That extra G lane is the reason to pick this over a 6x6. With a 6x6 every lane is a matched write-and-read; with a 6x7 you get the same six round-trip lanes plus a free tap into anything the route already carries. It's the "I need six fresh values and also want to broadcast one old value" node.

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 (G). The A–F lanes write-and-read; G is read-only. Empty keys idle their lane, so you can leave the G key blank if you don't need the tap.

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; it's pure Python on ComfyUI's own comfy_types. One-person beta project - the README opens with a straight-up "if things break it's because I broke it" - so expect occasional churn if you update.

Common issues

KeyError: Key: 'x' doesn't exist in motorway (README form: 'MotorwayClass' object has no attribute 'hash_') means an output read a key nothing has written - check spelling and case; keys are exact strings. The G lane is where beginners trip, because it looks like a normal input but has no input wire - it only reads. And keep the overwrite rule in mind: if a later stop reuses one of your six write keys, the earlier value is silently replaced.

Categoryagilly1989 Nodes/Motorways

Inputs (14)

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β€”

Outputs (8)

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