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

  1. Clone into your ComfyUI/custom_nodes/ directory:
    cd ComfyUI/custom_nodes
    git clone https://github.com/IBB666/IBB_POSE
    
  2. Install dependencies:
    cd IBB_POSE
    pip install -r requirements.txt
    
  3. 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)

Load Image → IBB Pose Load Model → IBB Pose Run Estimation → Preview Image
                                                            └→ Save Text (JSON)
S
Description
No description provided
Readme
160 KiB
Languages
Python 98.6%
Shell 1.4%