Nodes/ComfyUI-AnimaDynamicCFG/Anima CFG Schedule (Advanced)
ComfyUI Node

Anima CFG Schedule (Advanced)

One node to run all three CFG tricks at once

By DanrisiUA·Created 3 months ago·Updated 3 months ago· 5
Anima CFG Schedule (Advanced)
  • model
  • MODEL
cfg_start5.5
cfg_end3.5
schedule
transition_start0.00
transition_end1.00
adaptive_strength0.30
target_divergence1.00
rescale0.00

If you've read the rest of this pack, you know the three tricks: ramp CFG across the run for structure-then-realism, damp it adaptively when the model pushes too hard, and rescale the output so higher CFG doesn't oversaturate. Individually they're three separate nodes, and separately they don't always stack - the schedule and adaptive nodes both want to own the CFG formula, and the last one in the chain silently wins. Anima CFG Schedule (Advanced) is the answer to that: all three, fused into one patch, one MODEL in and one MODEL out.

It's the node the README's own example workflow reaches for, and honestly the one I'd start with if you're new to the pack. One node instead of three, no ordering surprises, and a coherent set of defaults that are already tuned for realism work.

What it combines under the hood

  • Scheduled curve: same interpolation as the plain schedule node - cfg_startcfg_end across the run using one of the six curves (cosine is the recommended one).
  • Adaptive damping: on top of the scheduled value, it measures the cond - uncond divergence each step and multiplies: scheduled_cfg * (target / actual) ^ adaptive_strength. Note the difference from the standalone Anima Adaptive CFG - here the result is clamped to a minimum of 1.0 rather than a min/max box, and it modifies the schedule rather than a fixed baseline.
  • Rescaling: when rescale is above 0, a post-CFG hook normalizes the output's std toward the conditional prediction's, the same trick as Anima CFG Rescale.

It uses both hook points - the CFG function and the post-CFG chain - inside one node, which is exactly why the README's example chains it with Anima Frequency Boost afterward without conflict.

The inputs that matter

Most of them carry over from the simpler nodes. The two that deserve your attention:

  • adaptive_strength (default 0.3) - the tooltip says it plainly: 0 = pure schedule, 1 = heavy adaptive damping on top. 0.3 is a light hand; that's the point.
  • rescale (default 0, tooltip: "0 = off, 0.7 = recommended") - off by default, which is a good reminder that rescaling is a remedy, not a requirement. Turn it on when you're pushing CFG high enough to oversaturate.

The README's suggested starting point for Anima realism fine-tunes: cfg_start=5.5, cfg_end=3.5, cosine, adaptive_strength=0.3, rescale=0.7.

Wiring it in

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

It owns the CFG formula, so your KSampler's CFG field is ignored - expected. And because it's one node doing the CFG work, you don't need any other CFG-family node in the graph. Add realism nodes freely; they're post-CFG and don't collide.

Installing

ComfyUI Manager (search "AnimaDynamicCFG") or:

cd ComfyUI/custom_nodes
git clone https://github.com/DanrisiUA/ComfyUI-AnimaDynamicCFG.git

Restart, find it under Anima/sampling. Torch only, no downloads.

Gotchas

  • Don't double up the remedies. adaptive_strength at 1 and rescale at 0.7 is two corrections fighting for the same output. Start conservative - 0.3 adaptive, 0.7 rescale - and only push one of them.
  • The adaptive clamp is a floor, not a ceiling. If the model runs hot, this node lets CFG rise back up (it only clamps at 1.0), so you're relying on the adaptive multiplier alone to keep things realistic. That's usually fine; just don't assume a max.
  • If you've got a standalone schedule or adaptive node elsewhere in the chain from an older workflow, delete it. This node replaces them, and the leftover will just be silently overridden.
CategoryAnima/sampling

Inputs (9)

NameTypeDefaultDescription
modelMODEL
cfg_startFLOAT5.50–100
cfg_endFLOAT3.50–100
scheduleCOMBO6 options: linear, cosine, sine, ease_in, ease_out, ease_in_out
transition_startFLOAT0.000–1
transition_endFLOAT1.000–1
adaptive_strengthFLOAT0.300–10 = pure schedule, 1 = heavy adaptive damping on top
target_divergenceFLOAT1.000.01–100
rescaleFLOAT0.000–1Post-CFG std rescaling (0 = off, 0.7 = recommended)

Outputs (1)

NameTypeDescription
MODELMODEL