ComfyUI Node

AnimateAnyone

Make a photo dance the 2024 way — one reference image, a stack of poses

By AuroBit·Created 2 years ago·Updated 2 years ago· 37
AnimateAnyone
  • image
  • pose_images
  • IMAGE
width512
height768
frames_per_batch14
steps25
fps7

This is the pose-driven character animation trick that had everyone losing it back in early 2024. Alibaba's AnimateAnyone paper showed you could feed one photo of a person plus a sequence of pose skeletons and get a video of that exact person performing the poses - consistent identity, clothes that move, the works. The authors never released code, so the community rebuilt it. This pack is AuroBit's ComfyUI wrapper around one of those reproductions, and the honest thing to say up front is that the whole family got overtaken: by mid-2026 Wan Animate, SCAIL and the Z-Image motion-transfer stack do this better and easier. What this node still has going for it is that it's a compact, self-contained lesson in how the SVD-based shortcut worked. And it's cheap to run.

What it actually does

One node, AnimateAnyone, and its job is deceptively simple: reference image in, skeleton frames in, video frames out. The wider workflow is where the work lives - you produce the pose stack with a ControlNet-style pose preprocessor like DWPose (extract skeletons from a driving video, or draw them), pass one clean photo of your subject, and this node turns the pair into a clip.

How it works under the hood

Here's the "reproduction" part, and it's not what the paper described. The original used a ReferenceNet to inject identity. This reproduction took a shortcut: it starts from Stable Video Diffusion (the SVD img2vid XT checkpoint) and swaps in a ControlNet trained on pose frames to steer the motion, plus a custom UNet. The reference image drives the appearance; the pose frames are the ControlNet condition at full strength (controlnet_cond_scale is hardcoded to 1.0); motion_bucket_id is pinned at 127 and guidance at 3.5. None of those three are exposed - the node hardcodes them in source.

It runs in fp16 with enable_model_cpu_offload(), so a mid-range consumer card can handle it, just slowly. And yes, it reloads the entire pipeline from disk on every single run - there's no caching in the class, so each generation pays the full load cost.

The inputs that matter

Only five knobs, plus the two feeds:

  • image (required) - your reference photo as an IMAGE batch. The node loops over every image you pass, so you can animate several subjects in one go.
  • pose_images (required) - a batch of skeleton frames, one per output frame.
  • width / height - 512×768 by default, and the code asserts both are multiples of 64. Start there; going bigger is how you run out of VRAM.
  • frames_per_batch - 14 by default, SVD's native sweet spot. It's the chunk size for long sequences, so leaving it alone is usually right.
  • steps (25) and fps (7) - self-explanatory; 25 steps is already plenty for SVD.

The output is a single IMAGE tensor holding all frames. It's not a video file - wire it into something like VHS or SaveAnimatedWEBP to get an actual clip.

Installing it - the models are the real install

The code itself is trivial:

cd ComfyUI/custom_nodes
git clone https://github.com/AuroBit/ComfyUI-AnimateAnyone-reproduction
cd ComfyUI-AnimateAnyone-reproduction
pip install -r requirements.txt

You can also search "ComfyUI-AnimateAnyone-reproduction" in ComfyUI Manager. The sharp edge is the checkpoint shuffle. The node loads from a hardcoded relative path, models/animate_anyone, so everything has to land exactly there:

  1. Download SVD img2vid XT and copy every file except the unet folder into ComfyUI/models/animate_anyone.
  2. Download animate-anyone-v1 and copy its controlnet and unet folders in too.

That's tens of GB of downloads. There's a prepare.py script in the repo that grabs it all automatically if you'd rather not babysit it.

Gotchas and honest advice

The big trap is requirements.txt, which pins diffusers==0.25 - ancient by 2026 standards. If other custom nodes in your install depend on a newer pip diffusers, that pin can yank them apart. Install it into a throwaway venv or be ready to unpin.

Beyond that: expect a slow first run (model load on every execution), and don't expect modern quality. This is the SVD-era look - wobbly limbs, soft detail, short clips. If your goal is a usable dancing character today, go get Wan Animate or SCAIL instead and treat this node as the historical artifact it is. But if you want to actually understand how pose conditioning plus a video prior produces character animation - the entire lineage ControlNet made possible - this is a great place to poke around. Just know it'll sit in your node menu under the author's typo'd category, "AnymateAnyone".

CategoryAnymateAnyone

Inputs (7)

NameTypeDefaultDescription
imageIMAGE
pose_imagesIMAGE
widthoptINT51264–10240
heightoptINT76864–10240
frames_per_batchoptINT141–1024
stepsoptINT251–1024
fpsoptINT71–1024

Outputs (1)

NameTypeDescription
IMAGEIMAGE