Image Noise Augmentation
The little noise nudge for image conditioning
- image
- IMAGE
The name sounds like a filter effect, and you can use it as one, but the reason it exists is more specific: some image-conditioned models expect you to add a touch of noise to the conditioning image before feeding it in. Stable Video Diffusion and unCLIP-style setups are the classic examples - perturbing the reference a little stops the model from copying it too literally and gives it room to add motion and variation. Image Noise Augmentation is the node that does that nudge.
It's part of KJNodes, kijai's utility pack, and it works in pixel space - it adds noise to the actual image, not to a latent.
How it works
It takes an image and mixes in random noise at the strength you set, seeded so the result is reproducible. That's the whole operation. In an image-to-video or unCLIP graph, you run your reference image through this before it becomes conditioning; the small amount of added noise loosens the model's grip on the exact pixels. Crank the strength up instead and it becomes a plain grain/dither effect, though that's not the main use.
The inputs and output that matter
- image - the image to noise up (usually your conditioning/reference image).
- noise_aug_strength - how much noise. For conditioning, small values are the norm - you want a nudge, not a snowstorm. Larger values make the noise visibly dominate.
- seed - fixes the noise pattern so a run is repeatable; change it to roll a different perturbation.
The output is the noised IMAGE. In a video/unCLIP workflow, wire it into the model's image-conditioning input.
Installing it
ComfyUI Manager → search KJNodes for ComfyUI → install → restart. Or cd ComfyUI/custom_nodes && git clone https://github.com/kijai/ComfyUI-KJNodes, then pip install -r ComfyUI-KJNodes/requirements.txt, and restart.
Where people get burned
- Too much strength kills the reference. For SVD/unCLIP-style conditioning, a little goes a long way - push the strength high and the model loses the reference entirely, giving you noise-driven mush instead of a guided result. Start low and inch up.
- It's pixel noise, not latent noise. If your goal is noise injection into the sampling process (the detail/variation trick that operates on latents), that's a different tool - this one lives in image space. Don't reach for it expecting latent-level control.
- Seed it if you're comparing. Leaving the seed to wander makes A/B tests meaningless; lock it while you're tuning strength, then loosen it if you want variety across runs.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| noise_aug_strength | FLOAT | 0–100 | — |
| seed | INT | 1230–18446744073709550000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |