Inject Noise
Putting noise back into a latent, on purpose
- latents
- noise
- mask
- LATENT
Inject Noise is the node that actually does the thing this whole pack exists for. Noisy Latent Image generates noise, Unsampler derives noise from an image and a prompt, Get Sigma calculates how strong the noise should be - and Inject Noise is where all of that lands: it takes a latent and a batch of noise and mixes them at a strength you control. Everything else in ComfyUI_Noise is either upstream or downstream of this one node.
How it works
It's straightforward once you see it: take latents, take noise, scale the noise by strength, add it in. Optionally restrict where it lands with a mask. There's no sampler involved and no denoising happening here - this node only ever adds noise, it never removes it. That's deliberate; removing it is what your KSampler is for afterward.
The inputs and outputs that matter
latents is required - the thing getting noised. strength (default 1, range 0–200, step 0.01) is the number you'll actually fight with, and it's worth internalizing that this is a raw scale factor, not a 0–1 "denoise"-style slider - eyeball it wrong and you'll either get no visible change or something closer to fresh noise than your original latent. noise and mask are both optional in the schema, but functionally you need noise wired to something (a Noisy Latent Image or an Unsampler output) or there's nothing for the node to inject. mask lets you confine the noise to a region instead of the whole latent - useful if you're touching up part of an image without disturbing the rest. Output is a single LATENT, headed to a sampler (with add_noise off if this is standing in for the sampler's own noise) or to VAE Decode if you're intentionally roughing up an image that's already been through encode/decode.
How to install it
Search "ComfyUI Noise" in ComfyUI Manager, or:
cd ComfyUI/custom_nodes
git clone https://github.com/BlenderNeko/ComfyUI_Noise
Restart ComfyUI afterward. No models, no heavy requirements - this is pure tensor math.
Common issues & troubleshooting
Guessing strength is the main way this node goes wrong. Since it's not bounded to a familiar 0–1 range, people either leave it near the default and wonder why nothing visibly changed, or crank it and blow the latent out to soup. The pack's own answer to this is Get Sigma - a separate node built for exactly one job, calculating the correct strength for your sampler/scheduler/step combination so you're not eyeballing it.
If you're feeding this from an Unsampler, make sure normalize was enabled on that node - Inject Noise expects normalized noise, and mismatched scale here compounds with an already-wrong strength guess.
Leaving noise unplugged is easy to do since it's optional in the schema, but there's genuinely nothing for the node to do without it - always wire in a source of noise first. And if you're using mask, feather the edges the way you would on any masked-latent operation; hard mask boundaries at higher strengths tend to show as a visible seam once the region is denoised back out.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| latents | LATENT | — | |
| strength | FLOAT | 1.000–200 | — |
| noiseopt | LATENT | — | |
| maskopt | MASK | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |