ComfyUI Node

WanViTPoseEstimator

The pose detector behind WanViTPoseRetargeter, as a standalone node

By red-polo·Created 11 months ago·Updated 11 months ago· 8
WanViTPoseEstimator
  • image
  • pose_image

This is the unglamorous half of the WanViTPoseRetargeter pack: no retargeting, no proportion math, just pose detection with a skeleton image out the other end. You feed it an image, it gives you a stick figure. That sounds boring until you need exactly that, because it's the same detector the pack's fancier nodes use, exposed on its own.

What it's for

Three honest uses. You can preview what the detector sees before committing to a full Animate run - useful when the pack's retargeting is misbehaving and you want to know whether the detection is the problem or the retargeting is. You can debug a driving clip frame by frame. And you can grab a pose skeleton for any conditioning workflow that just wants keypoints drawn out, independent of Wan Animate.

One detail worth knowing: it doesn't only take single images. Feed it a whole batch of frames and it runs pose estimation on each one, drawing every skeleton onto a canvas sized like the first frame. Feed it a clip and you get a pose video out - the stick-figure equivalent of the input, no retarget applied.

How it works

Same two ONNX models as the rest of the pack, downloaded manually from Wan-AI/Wan2.2-Animate-14B on HuggingFace:

  • yolo10m.onnx - person detection, finds the bounding box.
  • vitposeh_wholebody.onnx - wholebody keypoints, including hands and face, not just the 17 body joints.

The output pose_image is the skeleton drawn on a black canvas - body, hands and face included - in the same visual format Wan2.2-Animate expects for conditioning, since that's what the detector was lifted from.

Inputs and output

  • image - whatever you want a skeleton of. A still, or a batch of frames.
  • pose_image - the drawn skeleton(s).

That's the entire schema. One in, one out.

Install

Same as the parent pack - there's only one install, this node ships in the same custom node folder:

cd ComfyUI/custom_nodes
git clone https://github.com/red-polo/ComfyUI-WanViTPoseRetargeter.git
python -m pip install -r requirements.txt

Then grab the two ONNX files from Wan-AI/Wan2.2-Animate-14B and place yolo10m.onnx in models/det/ and vitposeh_wholebody.onnx in models/pose2d/. Restart ComfyUI. This node is not zero-setup just because it's simple - the models are required, and if they're missing you'll hit a RuntimeError: ... is not existed! from the model-loading code.

Common issues

The whole failure surface here is the models and the subject. Missing models give you the runtime error above. A blurry subject, extreme camera angle, or heavily cropped person gives you a skeleton missing limbs or nothing at all - and since the drawing code silently skips low-confidence keypoints, a half-empty skeleton is usually a detection problem, not a node problem. onnxruntime will fall back to CPU if CUDA isn't available, so it always runs; it just runs slower.

If you only need the skeleton, this node is all you touch. If you need the video's motion retargeted onto a reference character's proportions, that's the pack's main node, WanViTPoseRetargeter.

CategoryWanViTPoseRetargeter

Inputs (1)

NameTypeDefaultDescription
imageIMAGEInput image for pose detection

Outputs (1)

NameTypeDescription
pose_imageIMAGE