Anima Noise Sculpt
The whisper of noise that makes skin read as skin
- model
- MODEL
Real skin has pores, real fabric has weave, real photos have grain. Diffusion models with anime priors smooth all of that away by default - it's the "beauty filter" look, and it's the number-one thing that gives an AI image away. Anima Noise Sculpt's fix is almost embarrassingly direct: in the late denoising steps, when fine detail is being decided, it injects a tiny, controlled amount of noise into the latent. Just enough grain that the decode has something to turn into texture. That's the whole trick.
It comes from Danrisi's AnimaDynamicCFG pack - the same author who trained the UltraReal Anima realism fine-tune - and if you've ever stared at a supposedly realistic render with skin like polished plastic, you'll recognize exactly what this node is for.
Why "tiny" is the whole design
The noise isn't just dumped in; it's shaped. In the window between start_percent (0.6) and end_percent (0.95), the node draws Gaussian noise scaled by strength, then multiplies it by a sine envelope:
noise = randn_like(denoised) * strength * sin(t * pi)
where t runs 0→1 across the window. The envelope is zero at both ends, peaks in the middle, and fades back out - so the grain appears around the 60–95% zone, does its texturing work, and then the remaining denoising steps settle it back down instead of amplifying it into static. It's the difference between "grain" and "snow," and the sine fade is why you can get away with the values you're about to set.
The inputs that matter
strength(0.02, range 0–0.2) - the amount of noise. The README's recommendation is 0.01–0.03, and that's not a typo. These are latent-space values; 0.02 looks absurdly small as a number and is exactly the right order of magnitude.start_percent/end_percent(0.6 / 0.95) - the window. The defaults deliberately skip the earliest steps (structure) and the very end (where the sampler is polishing). Nudgingend_percentup toward 1.0 leaves less room for the noise to settle.
Wiring it in
Model patch, single MODEL output, same chain position as the other realism nodes:
Checkpoint Loader → Anima CFG Schedule (Advanced) → Anima Noise Sculpt → KSampler
It's a post_cfg_function patch, so it chains freely with Frequency Boost and Latent Mean Correction. One honest note: Frequency Boost and Noise Sculpt both target over-smooth output, at different scales - boost amplifies texture that's already there, sculpt invents grain that isn't. They complement each other, but pick one as the primary and keep the other subtle.
Installing
ComfyUI Manager (search "AnimaDynamicCFG") or:
cd ComfyUI/custom_nodes
git clone https://github.com/DanrisiUA/ComfyUI-AnimaDynamicCFG.git
Restart, find it under Anima/realism. Pure torch, no dependencies, no model downloads.
Gotchas
- The slider goes to 0.2, but you don't. At anything past ~0.05 the whole image starts looking like it was filmed through a bad denoiser. If you're tempted to crank it because 0.02 "isn't doing anything," check the output at 100% zoom first - the effect is subtle by design.
- The grain is seeded by torch's RNG. Same seed, same sampler, same grain pattern - reproducible run to run. Change your seed and you get different grain, which is usually what you want for variety.
- If you're already pushing
high_freq_scalehard on Frequency Boost, dial Noise Sculpt down or off. Two texture remedies at once is how you get crunchy, noisy output that reads as more artificial, not less.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| strength | FLOAT | 0.0200–0.2 | — |
| start_percent | FLOAT | 0.600–1 | — |
| end_percent | FLOAT | 0.950–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |