ComfyUI Node

Motorway 10x4

Model, clip, vae and latent all on one wire

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

If you've used ComfyUI's own CheckpointLoaderSimple, you know the classic quartet: MODEL, CLIP, VAE, and the latent you start from. The Motorway 10x4 is the node that turns that quartet into a single wire. Ten inputs feed the bus, four outputs come off it - which lines up almost suspiciously well with the four things a text-to-image stage actually needs.

This is the "main line" junction in agilly1989/ComfyUI_agilly1989_motorway. The pack is one developer's keyed-pipe system for ComfyUI: instead of dragging four wires across the canvas to every sampler and encoder, you load them once, tag them with names, and let the bus carry them. The 10x4 is a natural fit for that because it mirrors the standard pipeline's real dependencies. Write the model, the clip, the vae and the latent into the bag; read them back out right where the sampling happens.

How it works. The motorway is a MotorwayClass - a bag of values keyed by string, with keys hashed to sha256 attribute names. Each of the ten ANY_(A)–ANY_(J) inputs pairs with a _key field: connect a checkpoint's MODEL output to ANY_(A) and type model, and it's on the bus under that name. Outputs pull by key, so ANY (A) returns whatever ANY_(A)_key names. Every node clones the bag before passing it on, so the four outputs here all read from the same consistent snapshot. If you later write a new value under an existing key, the newest writer wins for everyone downstream.

Inputs and outputs that matter. The required MOTORWAY πŸšŒπŸ’¨ input is the pipe; it has to already be flowing from a MotorwayStart or an earlier ramp. The ten ANY_ inputs are wildcards. The four ANY (A)–ANY (D) outputs are what you actually use - in a basic setup those are your model, positive/negative conditioning, and latent heading into a KSampler. Everything is wildcard-typed, so the node never complains about what you plug in; mismatches only show up as errors downstream if you wire the wrong value to the wrong slot.

Install. Grab it from ComfyUI Manager (search "ComfyUI_agilly1989_motorway") or clone it in:

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

Restart ComfyUI afterward. No dependencies beyond the ComfyUI core you already run - no models to fetch, no pip packages to install.

Common issues. The error that tells you everything is 'MotorwayClass' object has no attribute 'hash_': it means an output key didn't match anything written upstream. Keys are exact - a stray space or a capital letter and you'll chase it. Also remember the pack is beta with a capital B: the README literally says "IF THINGS BREAK ITS BECAUSE I BROKE IT." If you load someone's shared workflow and it uses this pack, you'll find it in Manager's missing-node list, but be prepared for the odd breaking update.

Categoryagilly1989 Nodes/Motorways

Inputs (21)

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_(I)opt*β€”
ANY_(J)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 (5)

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