Nodes/ComfyUI-Anima-Enhancer/Anima Layer Replay Patcher
ComfyUI Node

Anima Layer Replay Patcher

Anima's hands keep melting? Replay blocks 3,4,5 and watch them come back

By AdamNizol·Created 6 months ago·Updated 6 months ago· 62
Anima Layer Replay Patcher
  • model
  • MODEL
enable_replaytrue
block_indices3,4,5
denoise_start_pct0.50
denoise_end_pct1.00
enable_spectrumfalse
spectrum_w0.20
spectrum_m16
spectrum_lam0.50
spectrum_warmup_steps6
spectrum_window_size2
spectrum_flex_window0.00

Anima is a genuinely great model and it has a genuinely annoying habit: hands, small details, and stray artifacts come out soft, especially on the early previews. The Anima Layer Replay Patcher is a model patch node that attacks exactly that - by literally running a few internal transformer blocks twice during part of the denoising schedule. It started as a reddit comment by the author (Adam Nizol, aka Sixhaunt on r/StableDiffusion and Xanthius on HuggingFace - the same person behind the Ace-Step concept sliders) saying "replaying blocks 3,4, and 5 helps with the hands and other small details/artifacts with Anima preview 1 and 2." Then he shipped it as a node so everyone else could.

There's no model download, no API key, no heavy dependency. It's a tiny pure-Python patch that sits in your model's path and makes Anima generate better-looking output. That's the whole pitch.

How it actually works

ComfyUI models are objects you can clone and wrap, and this node leans on both tricks. It clones your model, finds the repeated transformer-block container inside the diffusion model (it scores candidate nn.ModuleLists by name and shape, so it works across Anima, Cosmos, and Predict2-style checkpoints without hardcoding), and monkey-patches the forward passes of the blocks you selected.

"Replay" means the block's output is fed back through the same block a second time - one block, run twice in sequence, so it gets a second look at its own refinement. It's only active inside your chosen denoise window, and the patches are restored afterwards. No leaks into other workflows, which matters because a bad patch node is how people get mysterious errors three workflows later. There's even a safety cleanup that strips stale replay patches from older buggy versions of this pack, which tells you the author has been bitten by his own technique.

The node also refuses to run on the wrong architecture. If your loaded model isn't Anima/Cosmos/Predict2-like, it raises a clear error instead of silently doing nothing. For SDXL or Flux, just don't.

The inputs that matter

Most of the knobs you can leave alone. The two that do the work:

  • block_indices - comma-separated block numbers, default 3,4,5. That default exists for a reason; it's the author's tested sweet spot for hands and fine detail. You can also write ranges like 3-5 or 3,4,5,8. Lower numbers are earlier (more structural) blocks, higher numbers are closer to the output.

  • denoise_start_pct / denoise_end_pct - when replay is active during denoising. Default 0.50 to 1.00, meaning the second half of the schedule. The first half is where the image's coarse structure forms; replaying there tends to overdo it.

  • enable_replay - master on/off, added in PR #1. Set it false and you're just using Spectrum.

  • enable_spectrum - the optional accelerator. When on, the node stops running the full model every step after a warmup: it caches real outputs and predicts the ones in between with a regularized Chebyshev-polynomial fit (blended with a Taylor extrapolation via spectrum_w). It only evaluates the model every spectrum_window_size steps. That's latent-caching-adjacent territory, and the README's honest claim is around 35% faster in tested setups. spectrum_m is the polynomial order, spectrum_lam the regularization, spectrum_warmup_steps how many real steps to collect before predicting.

The single output is a patched MODEL. Wire it between your checkpoint loader and your sampler - the README's advice to put it directly before the sampler is right, and that's the only wiring it needs.

Installing it

ComfyUI Manager: search for ComfyUI-Anima-Enhancer and install. Or the manual route:

cd ComfyUI/custom_nodes
git clone https://github.com/AdamNizol/ComfyUI-Anima-Enhancer.git

Then restart ComfyUI. There is no requirements.txt and no model download - the only dependency is torch, which you already have. This is as low-friction as custom nodes get.

Where people get burned

The one real complaint in the wild: ComfyUI Manager sometimes doesn't detect the pack, leaving the "Anima Layer Replay Patcher" node marked missing in a downloaded workflow. The fix is the manual clone above - it works fine, it just needs a hand sometimes. This is a tiny one-man pack, so if it's not in your Manager search results, that's a detection hiccup, not a broken install.

Beyond that: the node only supports Anima/Cosmos-family models (it errors otherwise), and it's a tuning tool, not a magic button. If 3,4,5 at 0.50–1.00 overdoes it - you can get a smoothed-out or double-processed look - try 3,4 or a narrower window like 0.65–0.95. And remember Anima's other documented speed/detail story: latent upscaling between samplers at 1.25 with 0.25–0.35 denoise remains the community's favorite detail fix. Replay and latent upscale attack different problems, and they stack fine.

Categorymodel/patches

Inputs (12)

NameTypeDefaultDescription
modelMODEL
enable_replayBOOLEANtrue
block_indicesSTRING3,4,5
denoise_start_pctFLOAT0.500–1
denoise_end_pctFLOAT1.000–1
enable_spectrumBOOLEANfalse
spectrum_wFLOAT0.200–1
spectrum_mINT161–32
spectrum_lamFLOAT0.500–100
spectrum_warmup_stepsINT60–50
spectrum_window_sizeINT2
spectrum_flex_windowFLOAT0.000–1

Outputs (1)

NameTypeDescription
MODELMODEL