abyz22_ResizeOpenpose
Reshape the skeleton, keep the pose honest
- image
- POSE_KEYPOINT
- IMAGE
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 fromPOSE_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), plusFaceandHands(0–2, default 1) andLine 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.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| POSE_KEYPOINT | POSE_KEYPOINT | — | |
| Head Size | FLOAT | 1.000.33–3 | — |
| Neck | FLOAT | 1.000.33–3 | — |
| Shoulder Width | FLOAT | 1.000.33–3 | — |
| Shoulder To Hip | FLOAT | 1.000.33–3 | — |
| Fore Arm | FLOAT | 1.000.33–3 | — |
| Upper Arm | FLOAT | 1.000.33–3 | — |
| Hips | FLOAT | 1.000.33–3 | — |
| Thigh | FLOAT | 1.000.33–3 | — |
| Lower Leg | FLOAT | 1.000.33–3 | — |
| Face | FLOAT | 1.000–2 | — |
| Hands | FLOAT | 1.000–2 | — |
| Line Thickness | INT | 51–10 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |