Animal Pose Detection OneToAll Animation
One node for the whole OneToAll animation pipeline — pose, align, warp, done
- model
- images
- ref_image
- pose_images
- ref_pose_image
- ref_image
- ref_mask
If Animal Pose and Detection is the general-purpose version, this is the specialized one: it exists to feed the OneToAll animation approach (from ssj9596/One-to-All-Animation), where you drive one reference animal with the motion of another. Where the basic pipeline needs you to chain detection → draw → wire up the reference yourself, this node does the whole job in a single pass - detect poses, convert them to the DWPose format Wan Animate expects, align them to your reference, render the skeletons, warp the reference image, and hand you a foreground mask. Four outputs, all prepped.
The core trick is alignment. "OneToAll" means one reference animal, all your motion. Your driving video frames get their poses extracted, and then depending on align_to, those poses get fitted to your reference animal so the skeleton proportions actually match the animal you're animating:
- ref (default) - retargets the driving poses onto the reference animal's pose, so the skeleton matches the reference's proportions. You want this when the reference is a different size or shape than the driver.
- pose - warps the reference image itself to follow the driving pose frame by frame.
- none - no alignment; raw poses pass through.
If you have no reference, alignment can't happen - the node returns blank pose/ref outputs and you get nothing useful, so ref_image is effectively required for this node to be worth running.
The inputs that matter
- model - the
POSEMODELfrom ONNX Animal Detection Model Loader. Same as the main node. - images - driving video frames as an IMAGE batch.
- width / height - output dimensions (note the step is 2 here, so keep even values). 832×480 defaults.
- align_to - ref / pose / none, described above.
- draw_head - full, weak, or none, controlling how strongly head keypoints are drawn. This is a genuine tuning knob: full gives the model the most facial/head signal but amplifies jitter on small heads; weak is a middle ground people land on for animals that move their head a lot.
- ref_image (optional) - your reference animal. Bring it.
The four outputs
- pose_images - per-frame aligned skeleton batch. This is your conditioning for the generation step.
- ref_pose_image - the reference animal's pose rendered as a single image.
- ref_image - the reference image after alignment/warping, ready to drive.
- ref_mask - a foreground mask of the reference subject, for compositing the generated frames onto a background.
The general shape matches how Wan's own Animate-14B and the OneToAll community workflows wire up: reference image + reference mask + pose skeleton + prompt go in, animated frames come out.
Install and gotchas
cd ComfyUI/custom_nodes
git clone https://github.com/Code2Collapse/ComfyUI-WanAnimalPreprocess.git
pip install -r requirements.txt
Or find it as "ComfyUI-WanAnimalPreprocess" in ComfyUI Manager. Same models as the rest of the pack: ViTPose ONNX + YOLOv8 ONNX in ComfyUI/models/detection/.
Two realistic failure points. First, if your pose_images look fine but the output video ignores the reference's look, check align_to - with none you're asking the model to reconstruct the reference from a skeleton alone, and it will. Second, remember this node is tuned for OneToAll-style workflows, not generic Wan Animate. If you're doing plain pose-to-video on a single animal, the simpler Animal Pose and Detection → Draw Animal ViTPose chain is less machinery and less to get wrong. Use the specialized node when you're actually transferring motion from a driving clip onto a different reference animal - that's precisely the job it's built for, and it does it in one step instead of five.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| model | POSEMODEL | From ONNX Animal Detection Model Loader. | |
| images | IMAGE | Input video frames as IMAGE batch. | |
| width | INT | 83264–2048 | Width of the generation |
| height | INT | 48064–2048 | Height of the generation |
| align_to | COMBO | ref | Alignment mode for poses |
| draw_head | COMBO | full | Whether to draw head keypoints on the pose images |
| ref_imageopt | IMAGE | Optional reference image for pose retargeting |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| pose_images | IMAGE | Per-frame rendered pose IMAGE batch. |
| ref_pose_image | IMAGE | Pose image rendered from the reference frame (single image). |
| ref_image | IMAGE | The retargeted reference IMAGE. |
| ref_mask | MASK | Foreground MASK for the reference subject. |