ComfyUI Node

Motorway 2x9

Motorway 2x9

By agilly1989Β·Created 2 years agoΒ·Updated about a year agoΒ· 7
Motorway 2x9
  • 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_(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β€”β–Ί

Motorway 2x9 is the "two in, nine out" junction of the agilly1989 Motorway pack, and it's basically a distribution panel: two values join the bus and nine named values come off it, seven of them pure taps into things that were already stored. It's what you drop into a workflow when you're carrying only a couple of live values but a whole field of consumers each need to read something from the route.

The Motorway is a beta "pipe" implementation by solo dev agilly1989 - the same family as rgthree's Context nodes and Impact Pack pipes, but instead of passing a dict it passes a MotorwayClass bus object down one wire. That wire is the MOTORWAY πŸšŒπŸ’¨ connection, the required input on every node and always the first output so the route continues. Start with MotorwayStart; the bus has to come from somewhere.

How it works

The mechanism is the same across the pack: keys. Wire values into ANY_(A) and ANY_(B), type a name into each matching _key box, and the node stores both under those names. The pack always hands you as many key slots as the larger side - here that's nine:

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

A and B are double-duty: each key names its input and reads its own output. The seven C–I slots are taps - put a key that's on the bus into one and the output hands it over. So you might carry just model and vae forward while tapping positive, negative, seed, steps, cfg, denoise and latent that earlier nodes parked on the route. Nine useful wires, one node.

Keys are sha256-hashed into hash_… attributes internally, which is why missing keys show up as 'MotorwayClass' object has no attribute 'hash_' - the pack is not subtle about it. Same key written twice anywhere overwrites the first value.

Installing

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

then restart ComfyUI, or find ComfyUI_agilly1989_motorway in ComfyUI Manager. No pip dependencies, no model downloads. Pure Python - clone, restart, done.

Common issues

  • The hash_ error means the key was never written or is spelled differently upstream. Keys match exactly, spaces and capitalization included.
  • Every key slot must be filled. An empty _key means that output is never produced, so wiring anything into it errors on a missing output.
  • Only key inputs you've actually connected; an unconnected input with a key writes None and can wipe a stored value.

It's a beta pack and the author will tell you so. But as a "carry two, expose nine" hub, 2x9 does exactly what it says on the tin.

Categoryagilly1989 Nodes/Motorways

Inputs (12)

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

Outputs (10)

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