Nodes/ComfyUI-ProportionChanger/ProportionChanger Pose Detector
ComfyUI Node

ProportionChanger Pose Detector

The DWPose detector that feeds the proportion machine

By grmchn·Created about a year ago·Updated 3 months ago· 102
ProportionChanger Pose Detector
  • image
  • pose_keypoint
score_threshold0.30

Every pose-control workflow needs a detector first, and in this pack that's ProportionChanger Pose Detector. You drop in an image, it finds the person and their skeleton, and it hands you a POSE_KEYPOINT - the exact format every other node in the pack expects. It looks like a dozen other DWPose detector nodes on the Manager, so what makes this one worth reaching for?

The honest answer: not much, if you already own a DWPose detector. But there are two things it does that matter for this pack specifically. First, it's the same code lineage the rest of the pack was ported from - kijai's WanVideo UniAnimate pose detector - so the keypoint format, ordering, and canvas handling line up with what ProportionChanger Reference and Params assume. Second, it includes the toe keypoints (indices 19–24), which most OpenPose-style outputs drop. That matters more than you'd think: feet are exactly what you're likely to be proportion-changing, and the render and reference nodes are built around having them.

How it works

Under the hood it's the standard DWPose stack: a YOLOX person detector plus a DWPose whole-body keypoint model (both TorchScript, yolox_l + dw-ll_ucoco_384_bs5). On the first run it auto-downloads both from hr16's HuggingFace repos into unianimate/models/DWPose/ inside the pack folder, so there's no separate model installation step - you just need network access once. Then it runs detection on each input frame, converts to POSE_KEYPOINT using the actual canvas dimensions, and tags each frame with canvas_width/canvas_height. If a frame fails detection it emits an empty frame rather than crashing, which keeps a video batch from dying on one bad shot.

The two inputs

  • image - any IMAGE tensor; batches are processed frame by frame.
  • score_threshold (default 0.3) - how confident a keypoint must be to count. Lower it for low-res or heavily cropped subjects where joints get fuzzy; raise it if you're seeing stray points.

The output, pose_keypoint, wires straight into Pose Render for a preview, ProportionChanger Reference to actually change proportions, or a video conditioning chain.

Install and notes

Shared pack install - ComfyUI Manager search "ComfyUI-ProportionChanger", or clone + pip install -r requirements.txt + restart. Dependencies are light for this node (torch, numpy, opencv, huggingface_hub); the onnxruntime requirement in the pack's requirements.txt only matters for the mascot nodes.

Where people get tripped up: the first run feels frozen while the two models download (they're a few hundred MB combined), and if you're offline it just silently fails. Also remember this detects humans - feed it a mascot suit or a stylized character and the output will be missing or mangled, which is exactly what the pack's mascot nodes are for. And if your proportions look wrong downstream, check the detection before blaming the transform: a bad skeleton gets faithfully "fixed" into a bad skeleton.

CategoryProportionChanger

Inputs (2)

NameTypeDefaultDescription
imageIMAGEInput image for pose detection
score_thresholdFLOAT0.300–1Score threshold for pose detection

Outputs (1)

NameTypeDescription
pose_keypointPOSE_KEYPOINT