AddNoise_motorway_edition
The first step of custom sampling, minus the wire tangle
- MOTORWAY 🚌💨
- MOTORWAY 🚌💨
If you've ever built a custom sampling pipeline in ComfyUI - the kind where you pick a scheduler, a guider and a sampler by hand instead of dropping in one KSampler - you already know AddNoise. It's the node that takes your blank latent, adds the starting noise, and hands the mess to the sampler. What the _motorway_edition does is let you do that without running four wires across your graph: the model, the noise, the sigmas and the latent all ride inside the Motorway, and this node pulls them out by name.
This is one of the "Motorway-ed" clones from agilly1989's ComfyUI_agilly1989_motorway pack. The idea is simple and a little weird: instead of connecting node A to node B to node C, you run one wire of type MOTORWAY 🚌💨 through a whole chain of nodes, and data travels inside it under keys you pick. It's the same instinct as rgthree's Context or the Efficiency Nodes' pipes - fewer wires, less spaghetti - just implemented by an author who, in his own words, "didn't like how other pipe implementations were implemented." Real people do use it for exactly that: in the big "wire spaghetti" thread on r/comfyui, someone posted the same workflow before and after "using motorway," and the after is dramatically easier to read.
How it works
The wrapper is a clone of ComfyUI's experimental AddNoise node (it lives under _for_testing in the original, so treat it as "works, but not exactly battle-tested"). In its Motorway form, every input that used to be a wire is now a text field asking for a key name:
INPUT_model_key- which key holds the model (defaultmodel)INPUT_noise_key- where the noise lives (defaultnoise)INPUT_sigmas_key- the sigma schedule (defaultsigmas)INPUT_latent_image_key- the latent you're starting from (defaultlatent_image)OUTPUT_LATENT_key- where to store the noised latent (defaultLATENT)
Under the hood the node reads each key out of the Motorway, calls the real AddNoise function, stores the result under OUTPUT_LATENT_key, and returns the Motorway so the chain can keep going. The only output you'll see on the canvas is MOTORWAY 🚌💨. That's the whole trick: nothing else comes out.
The defaults are worth respecting. If earlier Motorway nodes wrote your model under model, your noise under noise, your sigmas under sigmas and your latent under latent_image, you literally don't have to touch a single field. If you chose different key names upstream, change the defaults to match.
When you'd actually use it
Honestly? Only if you're doing multi-stage or custom sampling. A plain KSampler does all of this internally, and most workflows never touch AddNoise at all. You'll want this version if you're already committed to a Motorway-based pipeline and you need to re-inject noise between stages (say, for a denoise-then-refine pass where the second stage starts from a partially denoised latent).
Install
cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway
Restart ComfyUI, and it appears under agilly1989 Nodes/Motorway-ed/_for_testing/custom_sampling/noise. Or search "ComfyUI_agilly1989_motorway" in ComfyUI Manager. No pip dependencies, no model downloads - the pack is just the Motorway class, generated node wrappers, and a few primitives.
Gotchas
- Every Motorway chain starts with a
MotorwayStartnode (or a primitive likeMotorwaySeed). With nothing writing into the Motorway first, there's nothing to pull. - Keys overwrite: reuse a key further down the chain and you clobber the old value.
- If you get
'MotorwayClass' object has no attribute 'hash_', the key you typed doesn't exist in the Motorway yet - typo, or you're reading before anything wrote it. - The author is upfront that this is beta and under active development; the README opens with "BIG BROKEN WITH ASYNC WILL FIX WHEN I GET THE TIME/MOTIVATION." The current hotfix release even has the clone generation commented out, so on the newest
mainthese nodes may not register at all. If you're chasing an old workflow that uses them and they're missing, that's why. Don't DM the author on Discord - he says he'll ignore you - open an issue instead.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| MOTORWAY 🚌💨 | MOTORWAY 🚌💨 | — | |
| INPUT_model_key | STRING | model | — |
| INPUT_noise_key | STRING | noise | — |
| INPUT_sigmas_key | STRING | sigmas | — |
| INPUT_latent_image_key | STRING | latent_image | — |
| OUTPUT_LATENT_key | STRING | LATENT | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MOTORWAY 🚌💨 | MOTORWAY 🚌💨 | — |