Nodes/ComfyUI-AnimaDynamicCFG/Anima Frequency Boost
ComfyUI Node

Anima Frequency Boost

Put the skin texture back with an FFT

By DanrisiUA·Created 3 months ago·Updated 3 months ago· 5
Anima Frequency Boost
  • model
  • MODEL
high_freq_scale1.30
low_freq_scale1.00
freq_cutoff20
start_percent0.30
end_percent1.00

The single most-cited tell that an image is AI is too-smooth skin - that "beauty filter" look where pores, hair strands and fabric weave just aren't there. Anime-prior models are especially good at it because flat shading is basically their native language. You can fight it with prompting, or you can do what Anima Frequency Boost does: take the denoised prediction into frequency space, amplify the high frequencies where texture lives, and leave the low frequencies (structure, lighting, form) alone.

It's from the DanrisiUA pack, the same author who trained the UltraReal realism fine-tune of Anima - and it reads like a fix for a specific complaint he ran into training it. Works on any model that produces over-smooth output, though.

How the mechanism works

Each step, the node runs an FFT over the spatial dimensions of the latent prediction, centers it, and applies a frequency mask:

  • The low-frequency center region gets scaled by low_freq_scale (default 1.0 - usually untouched).
  • Everything outside that center gets scaled by high_freq_scale (default 1.3).

Then it inverse-FFTs back. The boost is blended in gradually: the effective scales ramp from 1.0 up to your target between start_percent and end_percent, so early structural steps are left alone and the detail boost kicks in late, where fine detail actually forms. It runs as a post_cfg_function patch, so it plays nice in a chain alongside the pack's other realism nodes.

The inputs that matter

  • high_freq_scale (1.3, range 0.5–3.0) - how much high-frequency detail is boosted. README suggests 1.2–1.4 for realism work; that's a gentle push, and the range goes a lot higher than you'll want.
  • freq_cutoff (20) - the radius, in frequency bins, of the low-frequency region that's protected. It's not "Hz" and it's not a pixel radius you should think too hard about; it's how big a circle around the DC center stays at low_freq_scale. Lower = more of the image treated as "detail."
  • start_percent / end_percent (0.3 / 1.0) - the window where the boost ramps in.

Wiring it in

Model patch, single MODEL output. The README's full realism chain looks like:

Checkpoint Loader → Anima CFG Schedule (Advanced) → Anima Frequency Boost → KSampler

It chains after the CFG node cleanly because it hooks the post-CFG stage, not the CFG formula. If you're also using Anima Noise Sculpt, both target the same "over-smooth" complaint at different scales - boost for texture detail, sculpt for grain - and you generally want one of them dominant, not both maxed.

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. Torch only, no model downloads.

Gotchas

  • The mask is a hard box. The frequency region flips from low_freq_scale to high_freq_scale at the cutoff with no soft falloff, so push high_freq_scale too far and you'll get visible ringing/halo artifacts around edges - the classic FFT sharpening signature. 1.2–1.4 is the sane range.
  • It works on latents, not pixels. This isn't a post-sharpen; it feeds the boosted prediction back into the sampler, so it changes what later steps see, not just the final render. Effects land differently than a pixel-domain sharpen, which is why it's worth tuning against your actual sampler.
  • freq_cutoff is global - it doesn't adapt to image size. At 1024 the default 20 is a small protected core; at higher resolutions you may want to nudge it up.
CategoryAnima/realism

Inputs (6)

NameTypeDefaultDescription
modelMODEL
high_freq_scaleFLOAT1.300.5–3
low_freq_scaleFLOAT1.000.5–1.5
freq_cutoffINT201–200
start_percentFLOAT0.300–1
end_percentFLOAT1.000–1

Outputs (1)

NameTypeDescription
MODELMODEL