Nodes/Comfyui-anima-sampler/Anima Flow Corrective Sampler
ComfyUI Node

Anima Flow Corrective Sampler

A drop-in KSampler that A/B tests solvers

By KeithZ117·Created 3 months ago·Updated 3 months ago· 50
Anima Flow Corrective Sampler
  • model
  • positive
  • negative
  • latent_image
  • flow_settings
  • vae
  • latent
  • image
  • log
seed1
steps30
cfg5.0
cfg_modeconst
flow_solverflow_euler
flow_scheduleflow_diffusers_linear_shift
flow_shift3.0
denoise1.00
add_noisetrue

When Anima landed, everybody discovered the same two things at once: the prompt adherence is unreal, and the model is slow. It's a 2B model that wants 30–50 steps with expensive per-step compute, so finding the sampler that squeezes the most out of each step became a minor sport. Anima Flow Corrective Sampler is what that sport produced. It got named "this fancy sampler" in the big Anima retrospective thread on r/StableDiffusion, and the pitch is simple: it's a drop-in KSampler replacement that ships with Anima's official Diffusers schedule as the default and lets you A/B test UniPC, PC3, AB2 and friends without touching a Python script.

What it actually is

Visually it's just a KSampler wearing a trench coat - model, positive, negative and latent_image go in, latent comes out. Swap it into an existing Anima workflow and the first run uses the packaged default profile, which mirrors the official Anima Diffusers config: flow_euler, 30 steps, CFG 5, constant CFG, flow shift 3.0. No settings node, no fiddling. That's the part most people want, and the part the README is careful to say is an independent implementation, not an official NVIDIA or CircleStone release.

The reason it has its own scheduler logic at all is that Anima is flow-matching, not SDXL. A rectified-flow model predicts a velocity along a near-straight noise→image path, so the old habit of reshaping the sigma curve (Karras, exponential) actively distorts it. What replaced scheduler tuning on these models is shift: the flow_shift knob (default 3.0) splits sampling effort between composition and detail, and higher values like 5.0 match the newer Cosmos 2.5 RF-linear release. As for the "corrective" in the name - it's a promise about the predictor-corrector solvers. flow_pc3_damped and flow_unipc2_x0 spend an extra model call fixing the previous step's error. With flow_euler, the default, nothing is being corrected. Treat the name as marketing and the solver list as the actual product.

The inputs that matter

The full schema has nine solver options and eight schedules, but a beginner sets four things:

  • steps - default 30, the floor the author actually tested. Anima is slow; below ~20 you're trading fidelity for seconds.
  • cfg - default 5.0, right in Anima's 4–5 sweet spot.
  • cfg_mode - const, bump cfg, or ramp cfg. Ramp is the interesting one: it starts guidance near 4.5, holds it low through the high-noise phase, and only reaches the selected CFG near the detail tail.
  • flow_solver / flow_schedule - leave them alone until the defaults disappoint you. flow_diffusers_linear_shift + shift 3.0 is what the author recommends for daily use.

On the optional side, flow_settings accepts the pack's settings node, and vae lets the node decode directly to image so you can skip the separate VAE Decode. It also outputs a log string that shows the effective profile - handy when you've been switching schedules.

Install

ComfyUI Manager works if the registry has it (search "Comfyui-anima-sampler"), or do it by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/KeithZ117/Comfyui-anima-sampler.git

Then restart ComfyUI. Two things the README spells out that people miss: there are no model weights in the repo (you still need Anima plus its Qwen3-0.6B text encoder and Qwen-Image VAE from the official card at circlestone-labs/Anima on HuggingFace), and there are no extra Python dependencies - the pyproject has an empty dependency list, so nothing to pip install.

Where people get burned

  • Wrong model family. This is built for rectified-flow models. Wire it into an Illustrious or Pony workflow and you get noise soup - check that your checkpoint is Anima (or another Cosmos-lineage flow model) before blaming the node.
  • "It's slow." That's Anima, not the sampler. 30 steps on this thing genuinely takes a minute on a 4060.
  • Soft output. That's Anima's default painterly aesthetic, not a sampler failure. The known fix from the community is a latent upscale at 1.25 with denoise 0.25–0.35 between two sampler passes.
  • The schedule dropdown looks like a lab report. Ignore it. The default is the one that matches the official Diffusers release, and the exotic names (flow_rf_linear_s_tail_shift5, flow_cosmos_lambda_biased_strong) are for reproducing Cosmos reference runs, not daily use.

If you want to go deeper than the defaults, that's what the second node in the pack is for.

Categoryanima sampler

Inputs (15)

NameTypeDefaultDescription
modelMODEL
positiveCONDITIONING
negativeCONDITIONING
latent_imageLATENT
seedINT10–18446744073709550000
stepsINT301–1000
cfgFLOAT5.0
cfg_modeCOMBOconst3 options: const, bump cfg, ramp cfg
flow_solverCOMBOflow_euler9 options: flow_euler, flow_ab2, flow_heun, flow_pc3_damped, flow_pc3_diffusers_damped, flow_3m_damped, +3
flow_scheduleCOMBOflow_diffusers_linear_shift8 options: flow_diffusers_linear_shift, flow_cosmos, flow_cosmos_rf_tail, flow_cosmos_lambda_biased_strong, flow_cosmos_rho7, flow_rf_linear_shift, +2
flow_shiftFLOAT3.01–20
denoiseFLOAT1.000.01–1
add_noiseBOOLEANtrue
flow_settingsoptANIMA_FLOW_SETTINGS
vaeoptVAE

Outputs (3)

NameTypeDescription
latentLATENT
imageIMAGE
logSTRING