ComfyUI Node

Motorway 8x10

The maximum fan-out β€” spread one bus to ten places

By agilly1989Β·Created 2 years agoΒ·Updated about a year agoΒ· 7
Motorway 8x10
  • MOTORWAY πŸšŒπŸ’¨
  • ANY_(A)
  • ANY_(B)
  • ANY_(C)
  • ANY_(D)
  • ANY_(E)
  • ANY_(F)
  • ANY_(G)
  • ANY_(H)
  • 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 8x10 is the widest node in this batch of the Motorway family: eight inputs to load values onto the bus, ten outputs to spread them around. It's from ComfyUI_agilly1989_motorway, agilly1989's "pipe" implementation for ComfyUI - a named-value dictionary that rides one MOTORWAY πŸšŒπŸ’¨ wire, so you can stop dragging a dozen wires from the top of the graph to the bottom.

The governing rule: inputs write, outputs read, independent. Ten outputs is the maximum this family offers, which makes 8x10 the hub node - the place where a bus branches out to feed a whole section of the graph. Ten lookups means ten destinations: a sampler, an upscaler, several save and preview nodes, a controlnet block, a face detailer. You contribute eight values and fan the bus out ten ways.

How it works

Every Motorway node runs the same routine with different socket counts. The bus is a dict-like object whose keys are sha256 hashes of the names you type - exact, case-sensitive. The node stores each connected input under its _key name, clones the bus, and emits the clone plus one output per non-empty output key. Values persist downstream until a later write to the same key overrides them.

Because outputs max out here, the key fields run to the larger count: eight input sockets but ten _key fields, ANY (A)_key through ANY (J)_key. The extra two keys exist only to drive output sockets. If you're coming from a smaller Motorway node, that's the one layout difference worth noticing.

The inputs and outputs that matter

  • MOTORWAY πŸšŒπŸ’¨ - required bus input and the bus output that carries the line onward.
  • ANY (A) through ANY (H) - eight inputs, each with a _key name field.
  • ANY (A) through ANY (J) - ten outputs, each with a _key lookup field.

Ten outputs means ten keys to type and ten wires to route. Keep them in order - A through J with no gaps - because outputs are positional and only emitted for non-empty keys, and a blank in the middle shuffles everything after it up a socket.

Installing it

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

Restart ComfyUI, or grab it from ComfyUI Manager (search "motorway"). No pip packages, no model files - pure Python, and the clone registers all ~120 Motorway variants at once.

Common issues

  • 'MotorwayClass' object has no attribute 'hash_' - a read key was never written to the bus. Check spelling and case; keys are exact.
  • Needs a bus to ride. Start the chain with MotorwayStart or a Motorway primitive that acts as one.
  • Gaps in output keys renumber sockets. Fill A through J in order or your ten wires land wrong.
  • Silent overwrites on duplicate keys. The later writer wins, no warning.
  • Beta. The README warns it's broken with async and owns the "I broke it" disclaimer. Fine for single-run graphs; don't base a batch pipeline on it yet.
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_(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)*β€”