Anima Mod Guidance (model patch)
Quality steering that isn't just prompt text
- model
- clip
- positive
- negative
- MODEL
Anima's default output is famously plain. It's not a flaw so much as a design choice - the base model was never aesthetic-tuned - but it means new users generate one bare-prompt image, conclude the model looks bad, and bounce. The community's own fix is mostly about prompting: find artist tags, use a latent upscale pass. Anima Mod Guidance attacks the same problem from a different angle - instead of steering through the prompt, it steers through the model's own internals.
How it steers, without touching your prompt
This is a MODEL → MODEL patcher, not a sampler. It wires a learned adapter - a small pooled_text_proj MLP - into Anima's AdaLN timestep embedding. You give it quality_tags (what you want more of) and quality_neg (the counter-pole), it encodes both through CLIP, and the adapter projects the difference between them into a guidance delta that gets injected per transformer block according to mod_w_profile. It's a second, independent lever alongside your actual prompt and CFG - closer to a quality dial baked into the architecture than to more prompt text.
Inputs and outputs that matter
model- the model to patch.clip- required, to encodequality_tags/quality_neg.quality_tags(defaulthighres, best quality, score_7) andquality_neg(defaultscore_1, score_2, score_3, worst quality, lowres, old, bad hands, bad anatomy) - the steering axis. Anima genuinely was trained with Pony-stylescore_xtags, soscore_7in the default is real, not decorative - just don't push it toscore_9, which tends to pull the output toward furry/e621 territory since that's where the score classifier's training data leans.mod_w_profile- the per-block schedule, and the one setting worth understanding before you touch anything else:offdisables guidance entirely - no download, no hook, zero overhead.step_i8_skip27(default) protects the first eight blocks and the final compensation block from steering, applying the guidance to everything in between. Best overall quality, but the tooltip is honest that it can show minor anatomy drift on LoRAs that are already prone to it.step_i14is the safe fallback - steers only from block 14 onward, more conservative, less expressive.uniform_w3recovers old pre-update behavior. Not recommended - the tooltip flags it as prone to pink-collapse.
positive/negative- CONDITIONING inputs. This node only reads them to compute the steering delta; wire the same conditioning you're feeding your actual sampler here too.
Output is a patched MODEL, ready to feed into any sampler - the base or Advanced Spectrum samplers, the SPEED node, or a stock KSampler.
Installing it
ComfyUI Manager - search SpectrumKSampler, install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/sorryhyun/ComfyUI-Spectrum-KSampler
Restart ComfyUI. On first actual use, the ~12MB pooled_text_proj adapter auto-downloads to ComfyUI/models/anima_mod_guidance/ - expect a short one-time pause the first time you run a graph with this node in it.
Common issues & troubleshooting
Seeing anatomy drift on a specific LoRA. That's the known tradeoff of the default step_i8_skip27 profile on drift-prone LoRAs. Switch to step_i14 - it steers a narrower band of blocks and stays closer to the trained manifold.
Output looks washed out toward a generic "polished anime" look. Overuse of score_x-style quality tags does exactly that - it narrows the output distribution toward whatever aesthetic the training data's classifier favored. If you're already specifying an artist tag or an unusual style, it's worth dropping the quality-tag prefix rather than fighting it with mod guidance.
Wondering if this works on a non-Anima checkpoint. The whole pack - mod guidance included - was built and tuned specifically for Anima's DiT. It may run on other DiT models that expose compatible sampler internals, but the pack doesn't claim quality or stability there.
Not sure it's doing anything at all. Unlike the integrated samplers, this node's clip input is required, not optional - so if it's wired at all, guidance is active. If you want to A/B it, set mod_w_profile = off rather than disconnecting clip.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | Model to patch with mod guidance. | |
| clip | CLIP | CLIP encoder for encoding positive quality tags. | |
| quality_tags | STRING | highres, best quality, score_7 | Quality tags to steer generation toward via modulation. |
| quality_neg | STRING | score_1, score_2, score_3, worst quality, lowres, old, bad hands, bad anatomy | Quality-negative baseline for the mod-guidance steering axis (delta = proj(quality_tags) − proj(quality_neg)). Leave EMPTY to reuse the CFG negative (legacy behavior). Set a clean counter-pole (e.g. 'worst quality, score_1') to decouple the quality axis from the broad CFG negative, which is anti-correlated with the intended quality direction. Does NOT change the CFG negative itself. |
| mod_w_profile | COMBO | step_i8_skip27 | Per-block guidance schedule preset. 'off' disables modulation guidance entirely (no adapter download, no extra hook). 'step_i8_skip27' (default) protects early tonal-DC blocks 0–7 and the final compensation block 27, applying w=3 to blocks 8–26 — best overall quality but can occasionally show minor anatomy drift on drift-prone LoRAs. 'step_i14' is the SAFE option: steers only from block 14 onward, reliably stays inside the trained manifold at the cost of a slightly less expressive result. 'uniform_w3' recovers pre-0413 behavior (not recommended — prone to pink-collapse). |
| positive | CONDITIONING | — | |
| negative | CONDITIONING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |