Nodes/ComfyUI_agilly1989_motorway/AddNoise_motorway_edition
ComfyUI Node

AddNoise_motorway_edition

The first step of custom sampling, minus the wire tangle

By agilly1989·Created 2 years ago·Updated about a year ago· 7
AddNoise_motorway_edition
  • MOTORWAY 🚌💨
  • MOTORWAY 🚌💨
INPUT_model_keymodel
INPUT_noise_keynoise
INPUT_sigmas_keysigmas
INPUT_latent_image_keylatent_image
OUTPUT_LATENT_keyLATENT

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 (default model)
  • INPUT_noise_key - where the noise lives (default noise)
  • INPUT_sigmas_key - the sigma schedule (default sigmas)
  • INPUT_latent_image_key - the latent you're starting from (default latent_image)
  • OUTPUT_LATENT_key - where to store the noised latent (default LATENT)

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 MotorwayStart node (or a primitive like MotorwaySeed). 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 main these 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.
Categoryagilly1989 Nodes/Motorway-ed/_for_testing/custom_sampling/noise

Inputs (6)

NameTypeDefaultDescription
MOTORWAY 🚌💨MOTORWAY 🚌💨
INPUT_model_keySTRINGmodel
INPUT_noise_keySTRINGnoise
INPUT_sigmas_keySTRINGsigmas
INPUT_latent_image_keySTRINGlatent_image
OUTPUT_LATENT_keySTRINGLATENT

Outputs (1)

NameTypeDescription
MOTORWAY 🚌💨MOTORWAY 🚌💨