ComfyUI Node

Motorway 2x6

Motorway 2x6

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

Motorway 2x6 is the "two in, six out" member of the agilly1989 Motorway pack - you bring two values to the bus and it hands you six named outputs. Two of those are the values you just dropped off; the other four are pure readouts of anything already stored upstream. It's the node for the workflow where a couple of shared values feed a whole field of consumers.

The Motorway is a beta "pipe" implementation by solo dev agilly1989, the same general idea as rgthree's Context nodes and Impact Pack pipes: one wire carries a bundle of values instead of you dragging each one across the graph. The difference is the transport - a MotorwayClass bus object that travels down a single MOTORWAY πŸšŒπŸ’¨ connection, which is the required input on every node and the first output so the route can continue. Every flow starts with MotorwayStart; the pack's primitive nodes (MotorwayInt, MotorwaySeed and friends) can also act as a start.

How it works

The whole pack runs on one mechanism: keys. Wire values into ANY_(A) and ANY_(B), name them with ANY_(A)_key and ANY_(B)_key, and they're stored on the bus under those names. The node then has six key slots - ANY_(A)_key through ANY_(F)_key - because the pack always provides as many keys as the larger of inputs or outputs:

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

Slots A and B write their input and immediately read it back out. Slots C–F are taps: put any key that exists on the bus into one of those key boxes and the matching output delivers the value. Say you've got cfg, steps, seed and denoise parked by an earlier write-only node - a 2x6 lets you surface all four right here while also passing two fresh values onward.

Internally each key is sha256-hashed into a hash_… attribute, which is why a key that doesn't exist errors as 'MotorwayClass' object has no attribute 'hash_' instead of "key not found." Writing the same key twice anywhere on the route overwrites the previous value - the bus is a set of name tags, not a history.

Installing

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

then restart ComfyUI. Or grab it from ComfyUI Manager under ComfyUI_agilly1989_motorway. No pip dependencies and no model files - pure Python, so it's clone-and-restart and you're done.

Common issues

  • hash_ error means the key was never written or is spelled differently upstream. Keys match exactly.
  • Empty key slots mean those outputs are never produced - wire anything into them and ComfyUI will complain about a missing output. Fill every _key.
  • Don't key a slot you haven't connected; an unconnected input stores None and can clobber a real value under that name.

It's a beta pack with an author who'll happily tell you it may break. For "two in, six taps," it's a tidy distribution hub that keeps your graph readable.

Categoryagilly1989 Nodes/Motorways

Inputs (9)

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

Outputs (7)

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