WebcamCapture_motorway_edition
A webcam node that speaks Motorway β if you can still find it
- MOTORWAY ππ¨
- MOTORWAY ππ¨
Webcam Capture in ComfyUI already exists - it's a core node under image that snaps a frame from your camera instead of loading a file. So why would you want WebcamCapture_motorway_edition? Because it's the version that rides the MOTORWAY ππ¨ pipe: instead of passing the image in on a wire, it pulls it out of a shared key-value store and writes the captured frame back in, all by key. It's not a better webcam node. It's a webcam node that lives inside a workflow-organization experiment.
Let me be upfront about where this fits, because the whole pack is a niche of a niche. ComfyUI_agilly1989_motorway is one hobbyist's take on the "pipe" idea you already know from rgthree's Context nodes - bundle a pile of values down one connection instead of drawing forty wires. The difference is how: where Context is a fixed struct, the Motorway is a mutable dict that travels down the wire as a custom MOTORWAY ππ¨ object. Anything you want to carry, you store under a string key and read back later. In the whole r/comfyui corpus, "motorway" appears exactly five times, so this is squarely "the author's personal pipe," not a community standard. Know that going in.
How the Motorway-ed magic works
The pack has a generator (clone_nodes_in_the_dangerzone/nodes.py) that, at load time, walks every node registered in your ComfyUI and wraps each one in a _motorway_edition twin. For each non-primitive input it swaps the real socket for an INPUT_<name>_key string - the key you type in is where it looks the value up in the pipe. Primitive inputs (width, height, toggles) stay as normal widgets. Outputs become OUTPUT_<name>_key strings where results get written back. So WebcamCapture_motorway_edition is literally ComfyUI's WebcamCapture subclassed through that wrapper.
The inputs and outputs that matter
You get one required MOTORWAY ππ¨ in, and one MOTORWAY ππ¨ out - the node doesn't return the image directly, it drops it back into the pipe. The fields you actually set:
INPUT_image_key(defaultimage) - the key in the pipe holding the webcam capture path. This is the fiddly part: a normal Webcam Capture uses a special frontend webcam widget, and that gadget doesn't survive the pipe conversion, so you need the capture path to already be stored under that key upstream.width/height(default0) - resize the capture;0keeps native resolution.capture_on_queue(defaulttrue) - grab a fresh frame every time you run the queue. Turn it off to keep using the last captured frame.OUTPUT_IMAGE_key(defaultIMAGE) - the key where the resultingIMAGEtensor lands in the pipe, so a later Motorway node can read it and feed a KSampler or VAE.
Installing it
No extra Python dependencies, no model downloads - the pack is pure node code. Either grab it through ComfyUI Manager (search "ComfyUI_agilly1989_motorway") or:
cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway
Then restart ComfyUI. You'll find Motorway nodes under agilly1989 Nodes, and this one under agilly1989 Nodes/Motorway-ed/image.
The gotcha that will actually hit you
The README's banner reads "BIG BROKEN WITH ASYNC WILL FIX WHEN I GET THE TIME/MOTIVATION." It's a beta, and the author is candid about that. The sharper problem: the current release (1.1.7, "HOTFIX - REMOVED MONKEYPATCH AND GENERATED NODES") ships with the clone generator commented out in __init__.py. That means today WebcamCapture_motorway_edition doesn't register at all - this page exists because an earlier version exposed it. If you install and can't find it, that's expected, not a botched install. To resurrect it you'd uncomment the ClonedNodeMapping lines in __init__.py and re-enable the pack's .disabled prestartup script (it sorted load order so clones loaded last). That's touching a pack whose own author calls it broken, so treat it as an adventure.
If you do get a Motorway running and see 'MotorwayClass' object has no attribute 'hash_', that's the author's own error message for "you read a key that was never written" - double-check your key strings. And remember keys overwrite: reuse one further down the pipe and it silently clobbers the earlier value. Given all that, the plain core Webcam Capture is what you'll actually reach for; this one is for people committed to running their whole graph through the Motorway, and willing to beta-test the ride.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β | |
| INPUT_image_key | STRING | image | β |
| width | INT | 00β16384 | β |
| height | INT | 00β16384 | β |
| capture_on_queue | BOOLEAN | true | β |
| OUTPUT_IMAGE_key | STRING | IMAGE | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MOTORWAY ππ¨ | MOTORWAY ππ¨ | β |