Anima Sigma Scheduler
Anima's exact schedules, so you stop guessing
- sigmas
- schedule_info
Anima is Circlestone's 2B anime diffusion transformer, built on NVIDIA's Cosmos-Predict2 rather than SDXL, and it was the first anime model in a long time that made people actually switch bases. It's also a flow-matching model, which means the old "DPM++ 2M Karras at 30 steps" reflex does it no favors. The Anima Sigma Scheduler exists to take the guesswork out of that: it builds the exact fixed-shift sigma schedule Anima wants, for all three variants, with no checkpoint loading and no sampler involved.
The trick with Anima - and with flow-matching generally - is the shift. Anima's recipes all use a fixed unit-flow shift of 3.0, and what differs between variants is the step count and CFG. This node bakes that in so you get a schedule built for the variant you actually picked, not a generic curve that kind of works.
The three variants
The variant dropdown is the whole decision:
- Base (3.0) - the vanilla model. The pack's recommended settings are 30–50 steps (default 50) at CFG 4.5.
- Aesthetic (3.0) - same recipe as Base, per the pack's notes. The aesthetic fine-tune lives in the weights, not in the schedule.
- Turbo (3.0) - the step-distilled lane. 8–12 steps, CFG 1.0, and because it's guidance-distilled, a negative prompt has little to attach to. Same fixed shift.
All three share the shift; don't go hunting for a per-variant shift knob, there isn't one.
Inputs that matter
- steps - default 50, and that default is the Base-recipe number. For Turbo, pull it down into the 8–12 range.
- strict_source - a boolean that gates the schedule to the exact framework-reference recipe. Keep it on for official-ish results; the pack says Anima stays schedule-only either way.
- already_shifted - set this if your workflow has already applied Anima's model sampling shift upstream (via a
ModelSampling-style node). If you set it wrong you're either double-shifting or missing the shift, so leave it false unless you know you have a shift node in front. - start_step / end_step - slice the schedule to a subset of steps.
Outputs are sigmas (the SIGMAS tensor) and schedule_info (JSON describing the recipe and warnings). Wire sigmas into a custom-sampling path that accepts external sigmas.
Installing
The whole pack installs at once:
cd ComfyUI/custom_nodes
git clone https://github.com/rookiestar28/ComfyUI-Sigmax comfyui-sigmax
Then restart ComfyUI and search the menu for Sigmax. ComfyUI Manager also has it as "ComfyUI-Sigmax". It needs Python 3.10+, ComfyUI 0.29.0+, and no extra dependencies or model downloads - this node only emits numbers.
Common gotchas
The usual Sigmax trap applies: feed sigmas straight into the sampler and don't add a second scheduler or another time shift on top, or you'll get schedules applied twice (the README calls this out explicitly as the "appears shifted twice" failure mode). And remember the node doesn't load Anima or pick a sampler - you still need your UNETLoader/checkpoint path and a low-step-capable sampler like Euler for the Turbo lane. Anima being schedule-only means nothing in this node can fix a wrong sampler; it just makes sure the schedule isn't the thing going wrong.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| variant | COMBO | 3 options: Base (3.0), Aesthetic (3.0), Turbo (3.0) | |
| steps | INT | 501–10000 | — |
| strict_source | BOOLEAN | false | — |
| start_step | INT | 00–9999 | — |
| end_step | INT | -1-1–10000 | — |
| already_shifted | BOOLEAN | false | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| sigmas | SIGMAS | — |
| schedule_info | STRING | — |