ComfyUI Node

Motorway 0x1

The Motorway off-ramp you'll reach for a hundred times

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

Motorway 0x1 is the node you'll place more than any other in this pack. It's the "off-ramp": it takes the Motorway bus in and pulls one value out of it, by key. If you've got a pipeline built on this pack's "pipe", 0x1 is how you hand a value back to a normal node.

The pack is a data-bus ("pipe") implementation for ComfyUI by agilly1989. The idea: instead of dragging model, clip, vae and latent wires everywhere, you stuff them into one MOTORWAY πŸšŒπŸ’¨ connection under string keys, and pull them back out where you need them. It's a bigger, weirder cousin of the Context nodes in rgthree-comfy - same instinct (fewer wires, cleaner graph), different religion about how to do it. Where Context bundles get passed as a single typed object, the Motorway is a key-value bag that anything can ride in.

How it works

You start with MotorwayStart, which creates an empty motorway. On-ramp nodes (Motorway Nx0) store values under keys. Then this node pulls one of them out: type a key into the ANY_(A)_key box, and the matching value appears on the ANY (A) output as type *, which wires into anything.

Internally, keys are SHA-256 hashed onto the bus object (so your key strings never collide with attribute names), and the motorway is cloned at every hop - each node hands a snapshot downstream, it doesn't mutate in place. Reuse a key and you overwrite; the last writer wins.

Inputs and outputs that matter

  • MOTORWAY πŸšŒπŸ’¨ (required) - the bus, from MotorwayStart or any prior Motorway node.
  • ANY_(A)_key (optional) - the key to pull. This is the whole job.
  • Output MOTORWAY πŸšŒπŸ’¨ - the (cloned) bus, pass it along.
  • Output ANY (A) - the value stored under that key, ready for any node.

In the pack's Example.json, a Motorway 0x1 with key clip sits right after a Motorway 4x0 that loaded model/clip/vae/latent; the clip comes off the ramp and feeds two CLIPTextEncode nodes. That's the canonical use: pull what you need, when you need it, without threading the whole pipeline.

Installing

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

or ComfyUI Manager β†’ search "ComfyUI_agilly1989_motorway". Restart ComfyUI. No Python dependencies, no model downloads - it's stdlib plus ComfyUI's own types.

Where people get burned

  • 'MotorwayClass' object has no attribute 'hash_' - the key you typed doesn't exist in the bus yet. It's exact-match, so a trailing space or a 0x1 pulling a key the 4x0 never stored will throw this.
  • Nothing comes out - same cause, usually a typo between the write key and this read key.
  • The pack is beta. The README opens with "CURRENTLY IN ACTIVE DEVELOPMENT (BETA)! IF THINGS BREAK ITS BECAUSE I BROKE IT" and flows between versions do break. Pin the version if you build something serious on it.

If you're not already building a Motorway graph, don't install this for 0x1 alone - it's only useful as part of the bus.

Categoryagilly1989 Nodes/Motorways

Inputs (2)

NameTypeDefaultDescription
MOTORWAY πŸšŒπŸ’¨MOTORWAY πŸšŒπŸ’¨β€”
ANY_(A)_keyoptSTRINGβ€”

Outputs (2)

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