ComfyUI Node

Motorway 2x10

Motorway 2x10

By agilly1989Β·Created 2 years agoΒ·Updated about a year agoΒ· 7
Motorway 2x10
  • MOTORWAY πŸšŒπŸ’¨
  • ANY_(A)
  • ANY_(B)
  • MOTORWAY πŸšŒπŸ’¨
  • ANY (A)
  • ANY (B)
  • ANY (C)
  • ANY (D)
  • ANY (E)
  • ANY (F)
  • ANY (G)
  • ANY (H)
  • ANY (I)
  • ANY (J)
β—„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β€”β–Ί
β—„ANY_(J)_keyβ€”β–Ί

Motorway 2x10 is the biggest fan-out in the two-input row of the agilly1989 Motorway pack: two values in, ten named values out. Eight of those ten outputs are read-only taps into anything already riding the bus. When you need one node to act as the distribution point for an entire graph - two live values carried forward, eight settings surfaced for consumers all over the canvas - this is the shape.

The Motorway is a beta "pipe" implementation by solo dev agilly1989, same genre as rgthree's Context nodes and Impact Pack pipes: collapse a tangle of wires into one bus connection. The transport here is a MotorwayClass object passed down the MOTORWAY πŸšŒπŸ’¨ wire, which is the required input on every node and the always-first output so the route keeps going. Every flow begins at MotorwayStart (the Motorway primitive nodes can also start one), then the bus threads through whatever junctions you add.

How it works

Same key mechanism as the rest of the pack. Two values into ANY_(A) and ANY_(B), named by ANY_(A)_key and ANY_(B)_key, and they're stored on the bus. Because outputs outnumber inputs, the node carries the maximum ten key slots - ANY_(A)_key through ANY_(J)_key:

  • inputs ANY_(A) and ANY_(B) with keys
  • read-only key slots ANY_(C)_key through ANY_(J)_key
  • the required MOTORWAY πŸšŒπŸ’¨ bus input
  • outputs MOTORWAY πŸšŒπŸ’¨, ANY (A) through ANY (J)

Slots A and B write and immediately read back. The other eight are taps: type any key that exists on the bus and its output hands over the value. In practice that's a control panel - pass model and clip onward while exposing seed, steps, cfg, positive, negative, denoise, latent and lora right here. One node replaces what would otherwise be a spider's nest of wires.

The key detail about the "10": the pack's generator is capped at MAX_IN = 10 and MAX_OUT = 10 in ramps/generated.py, so 10 is the largest fan-out the defaults ship. Per the README you can raise those numbers (up to 52) and regenerate, if you genuinely need wider.

Keys are sha256-hashed into hash_… attributes, so a missing key errors as 'MotorwayClass' object has no attribute 'hash_', and writing the same key twice anywhere overwrites the first value.

Installing

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

then restart ComfyUI, or install via ComfyUI Manager under ComfyUI_agilly1989_motorway. No pip dependencies, no model downloads - pure Python, clone-and-restart and you're set.

Common issues

  • hash_ error: key never written or mistyped. Matching is exact - case and spaces count.
  • Empty key slots mean those outputs are never produced - wire anything into them and ComfyUI rejects the missing output. Fill all ten.
  • Don't key a slot you left disconnected; an unconnected input stores None and can erase a real value.

Beta pack, honest warning from the author, and at ten lanes this is the biggest hub in the box - ideal for a workflow where everyone reads from the same route.

Categoryagilly1989 Nodes/Motorways

Inputs (13)

NameTypeDefaultDescription
MOTORWAY πŸšŒπŸ’¨MOTORWAY πŸšŒπŸ’¨β€”
ANY_(A)opt*β€”
ANY_(B)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β€”
ANY_(J)_keyoptSTRINGβ€”

Outputs (11)

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