Nodes/image_control/abyz22_ResizeOpenpose
ComfyUI Node

abyz22_ResizeOpenpose

Reshape the skeleton, keep the pose honest

By abyz22·Created 3 years ago·Updated 2 years ago· 17
abyz22_ResizeOpenpose
  • image
  • POSE_KEYPOINT
  • IMAGE
Head Size1.00
Neck1.00
Shoulder Width1.00
Shoulder To Hip1.00
Fore Arm1.00
Upper Arm1.00
Hips1.00
Thigh1.00
Lower Leg1.00
Face1.00
Hands1.00
Line Thickness5

This is the node the pack is really about. OpenPose ControlNet locks the model into whatever skeleton you feed it - which means if the pose is slightly off, every generation is slightly off. abyz22_ResizeOpenpose lets you edit the skeleton itself: change head size, shoulder width, hip width, leg length, neck, even face and hand scale, and it redraws the pose image with those proportions. Feed the redrawn skeleton to an openpose ControlNet and the character comes out with the new proportions instead of the old ones. It's how this pack's README features - "Change Breast," "Resize Head," "Lowrise pants" - actually work: you're not describing the change, you're editing the bones.

It ships in abyz22/image_control, the Impact Pack fork, and it consumes Impact Pack's POSE_KEYPOINT data format, so Impact Pack must be installed and you need an Impact openpose detector upstream feeding it.

Inputs

  • image - used only for its dimensions; the node draws on a blank canvas of that size. The actual pose comes from POSE_KEYPOINT.
  • POSE_KEYPOINT - Impact Pack's pose data (body + optional face/hand keypoints).
  • One slider per body part: Head Size, Neck, Shoulder Width, Shoulder To Hip, Fore Arm, Upper Arm, Hips, Thigh, Lower Leg (each 0.33–3, default 1), plus Face and Hands (0–2, default 1) and Line Thickness (1–10, default 5) for the drawn skeleton.
  • Line Thickness - how bold the skeleton lines are, which matters if your ControlNet preprocessor is picky about clean edges.

Output is the redrawn skeleton as an IMAGE, ready for an openpose ControlNet.

How it works

For each detected person it reads the 18 body keypoints, and for each slider set above or below 1 it moves the affected joints along the skeleton - head size scales the jaw points outward from the neck, hips scale the hip keypoints from the torso center, fore/upper arm extend the arm from the shoulder, and so on. Face and hand keypoints get the same treatment relative to their anchor joint when enabled. Then it redraws the whole skeleton with the standard openpose colors via cv2, in the exact format an openpose ControlNet expects. The math is length rescaling along joint-to-joint vectors, so proportions stay structurally sane rather than just "make everything bigger."

Install and the gotchas

cd ComfyUI/custom_nodes
git clone https://github.com/abyz22/image_control

or ComfyUI Manager → "image_control", restart, and install Impact Pack for the POSE_KEYPOINT type and detector.

Three things to know. First, the sliders apply to the skeleton, so a change to Hips changes the pose image, not the model directly - the ControlNet strength and your checkpoint's anatomy sense decide how literally the new proportions land. Second, Face and Hands at 0 skip those keypoints entirely; set them to 1 to include them, since the default openpose skeleton often omits face/hands. Third, extreme values (2.5+) produce skeletons the model can't reconcile - you'll get the pose and a hint of the old proportions fighting it. Keep edits in the 0.7–1.5 band and use the pack's abyz22_Padding-Image-style workflows to re-frame afterward.

Categoryabyz22

Inputs (14)

NameTypeDefaultDescription
imageIMAGE
POSE_KEYPOINTPOSE_KEYPOINT
Head SizeFLOAT1.000.33–3
NeckFLOAT1.000.33–3
Shoulder WidthFLOAT1.000.33–3
Shoulder To HipFLOAT1.000.33–3
Fore ArmFLOAT1.000.33–3
Upper ArmFLOAT1.000.33–3
HipsFLOAT1.000.33–3
ThighFLOAT1.000.33–3
Lower LegFLOAT1.000.33–3
FaceFLOAT1.000–2
HandsFLOAT1.000–2
Line ThicknessINT51–10

Outputs (1)

NameTypeDescription
IMAGEIMAGE