Anima CFG Schedule (Advanced)
One node to run all three CFG tricks at once
- model
- MODEL
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_start→cfg_endacross 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 - unconddivergence 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
rescaleis 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_strengthat 1 andrescaleat 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.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| cfg_start | FLOAT | 5.50–100 | — |
| cfg_end | FLOAT | 3.50–100 | — |
| schedule | COMBO | 6 options: linear, cosine, sine, ease_in, ease_out, ease_in_out | |
| transition_start | FLOAT | 0.000–1 | — |
| transition_end | FLOAT | 1.000–1 | — |
| adaptive_strength | FLOAT | 0.300–1 | 0 = pure schedule, 1 = heavy adaptive damping on top |
| target_divergence | FLOAT | 1.000.01–100 | — |
| rescale | FLOAT | 0.000–1 | Post-CFG std rescaling (0 = off, 0.7 = recommended) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |