Motorway 10x4
Model, clip, vae and latent all on one wire
- 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)
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.
Inputs (21)
| Name | Type | Default | Description |
|---|---|---|---|
| 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)_keyopt | STRING | β | |
| ANY_(B)_keyopt | STRING | β | |
| ANY_(C)_keyopt | STRING | β | |
| ANY_(D)_keyopt | STRING | β | |
| ANY_(E)_keyopt | STRING | β | |
| ANY_(F)_keyopt | STRING | β | |
| ANY_(G)_keyopt | STRING | β | |
| ANY_(H)_keyopt | STRING | β | |
| ANY_(I)_keyopt | STRING | β | |
| ANY_(J)_keyopt | STRING | β |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β |
| ANY (A) | * | β |
| ANY (B) | * | β |
| ANY (C) | * | β |
| ANY (D) | * | β |