Nodes/Skoogeer-Noise/Add Latent Noise (Seeded)
ComfyUI Node

Add Latent Noise (Seeded)

Yes, It's the Same as Latent Noise — Here's Why

By ttulttul·Created 9 months ago·Updated 3 months ago· 14
Add Latent Noise (Seeded)
  • latent
  • mask
  • LATENT
seed0
strength1.00

Let's get the awkward part out of the way: this node and the pack's Latent Noise do the same job. Both add seeded Gaussian noise to a latent, both scale strength relative to the latent's standard deviation, both take an optional mask. The only real difference is which menu they live under and which of the pack's two source repos they came from - Skoogeer-Noise was assembled by merging code from ttulttul's older ComfyUI-FlowMatching-Upscaler and ComfyUI-QwenRectifiedFlowInverter projects, and "Add Latent Noise (Seeded)" is the QwenRectifiedFlowInverter lineage while LatentNoise is the FlowMatching-Upscaler one. If you're new to the pack, pick one and ignore the other.

So why write about it at all? Because if you search for "add noise to latent" in ComfyUI, you'll land here, and the answer you need is: yes, this is the right tool, the seedable noise-in-latent-space tool you're picturing.

How it works

Mechanically it's the same recipe as the sibling node: draw Gaussian noise shaped like the latent, scale it by the per-sample standard deviation times strength, add it. A strength of 1.0 adds noise with the same std as the latent itself, so the setting behaves identically across different latents and resolutions. Seeds are masked to valid 64-bit range, and batch items get deterministic per-index offsets. The mask input, when supplied, is resized to latent resolution (bicubic when downscaling) and confines the noise to masked regions.

The inputs that matter

  • latent - the latent dict to perturb.
  • seed - reproducibility. Same seed, same noise, guaranteed.
  • strength - relative to the latent's std. 0.1–0.3 is gentle; 1.0 is heavy.
  • mask (optional) - localize the effect.

Output is a LATENT you can feed anywhere a latent goes.

Installing it

Part of Skoogeer-Noise. Manager → search "Skoogeer-Noise", or:

cd ComfyUI/custom_nodes
git clone https://github.com/ttulttul/Skoogeer-Noise

Restart ComfyUI. Dependencies (torch, numpy>=1.26, einops, pyyaml>=6.0.3) are ComfyUI-standard; no model files to fetch.

Common gotchas

First, don't install a second pack to get this - you already have it, under the other name. Second, if you're on Flux.2, remember its latents are patchified (128 channels, 2x2 blocks), and noise that operates on spatial neighborhoods will create block artifacts. Wrap with Unpatchify Flux.2 Latent before and Patchify Flux.2 Latent after. Third, strength is relative to the input's std, which means the same value on a higher-variance latent adds more absolute noise. That's intended - it keeps the knob meaningful - but it surprises people the first time.

CategoryLatent/Noise

Inputs (4)

NameTypeDefaultDescription
latentLATENTLatent to receive additional Gaussian noise.
seedINT00–18446744073709550000Seed for generating repeatable noise.
strengthFLOAT1.000–10Strength of the noise. 1.0 adds noise with the same standard deviation as the latent.
maskoptMASKOptional mask (often image-sized) to limit the noise addition to masked areas. The mask is resized to latent resolution (bicubic when downscaling).

Outputs (1)

NameTypeDescription
LATENTLATENT