fe2d9f9271a3bb7689682bcdaedd934abb80c0b6
Agent-Logs-Url: https://github.com/IBB666/IBB_POSE/sessions/ee09bcdc-dd1e-4614-a1ba-1e5e2cb88f9a Co-authored-by: kukulu00 <1170651+kukulu00@users.noreply.github.com>
IBB_POSE — ComfyUI Pose Estimation Node
A ComfyUI custom node for robust human pose estimation.
Inspired by SDPose-OOD.
Compatibility: Python 3.13 · torch 2.10+ · CUDA 12/13 · ComfyUI Portable
Features
| Feature | Details |
|---|---|
| Skeleton types | Body (17 kpts COCO), OpenPose (18 kpts), WholeBody (133 kpts) |
| Detection modes | Single person · Multi-person |
| Output | Pose image · OpenPose JSON · Both |
| Auto-download | Models fetched automatically on first use |
| Compatibility | Python 3.13, torch 2.x, CUDA 12/13, CPU |
Installation
- Clone into your
ComfyUI/custom_nodes/directory:cd ComfyUI/custom_nodes git clone https://github.com/IBB666/IBB_POSE - Install dependencies:
cd IBB_POSE pip install -r requirements.txt - Start ComfyUI – models download automatically on first use.
Manual model placement
| Mode | Model | Destination |
|---|---|---|
| Body / OpenPose | yolo11n-pose.pt (small), yolo11m-pose.pt (medium), yolo11x-pose.pt (large) |
ComfyUI/models/IBB_POSE/ |
| WholeBody | dw-ll_ucoco_384.onnx + yolox_l.onnx |
ComfyUI/models/IBB_POSE/ |
WholeBody models: yzd-v/DWPose
Nodes
IBB Pose — Load Model
Loads and caches the pose estimation model.
| Parameter | Options | Description |
|---|---|---|
skeleton_type |
Body / WholeBody / OpenPose | Pose skeleton format |
model_size |
small / medium / large | Model size / accuracy tradeoff |
device |
auto / cuda / cpu | Inference device |
precision |
fp32 / fp16 / bf16 | Numeric precision (fp32 for CPU) |
auto_download |
True / False | Fetch model files automatically |
Output: IBB_POSE_MODEL
IBB Pose — Run Estimation
Runs pose estimation on one or more images.
| Parameter | Options | Description |
|---|---|---|
ibb_pose_model |
IBB_POSE_MODEL | Model from Load node |
image |
IMAGE | Input image(s) |
detection_mode |
single / multi | Person detection strategy |
output_type |
PoseImage / JSON / Both | What to compute |
score_threshold |
0.05–0.95 | Minimum keypoint confidence |
overlay_alpha |
0.0–1.0 | 0=original, 1=pure pose map |
pose_scale |
0.1–5.0 | Line / dot thickness multiplier |
keep_face |
bool | Include face keypoints (WholeBody) |
keep_hands |
bool | Include hand keypoints (WholeBody) |
keep_feet |
bool | Include foot keypoints (WholeBody) |
save_json |
bool | Save JSON to ComfyUI/output/ |
filename_prefix |
string | Output JSON file prefix |
Outputs: pose_image (IMAGE) · pose_json (STRING)
IBB Pose — JSON to Image
Renders an OpenPose JSON string to a pose visualisation image.
JSON Format
Output follows the standard OpenPose JSON format:
{
"people": [
{
"pose_keypoints_2d": [x, y, score, ...],
"face_keypoints_2d": [...],
"hand_left_keypoints_2d": [...],
"hand_right_keypoints_2d": [...],
"foot_keypoints_2d": [...]
}
],
"canvas_width": 512,
"canvas_height": 768
}
Compatible with ComfyUI-OpenPose-Editor.
Skeleton Keypoint Layout
Body / OpenPose (18 pts)
OpenPose-18: nose · neck · shoulders · elbows · wrists · hips · knees · ankles · eyes · ears
WholeBody (133 pts, DWPose)
- 0–16: Body (COCO-17)
- 17–22: Feet (6)
- 23–90: Face (68)
- 91–111: Left hand (21)
- 112–132: Right hand (21)
Recommended Workflow
Load Image → IBB Pose Load Model → IBB Pose Run Estimation → Preview Image
└→ Save Text (JSON)
Languages
Python
98.6%
Shell
1.4%