Nodes/☁️BizyAir Nodes/☁️BizyAir OpenPose Pose
ComfyUI Node

☁️BizyAir OpenPose Pose

Skeletons for ControlNet, run in the cloud

By siliconflow·Created 2 years ago·Updated 10 months ago· 855
☁️BizyAir OpenPose Pose
  • image
  • IMAGE
  • POSE_KEYPOINT
detect_handenable
detect_bodyenable
detect_faceenable
resolution512

OpenPose is the workhorse pose preprocessor, and it's been the default way to tell a diffusion model "generate a person standing/sitting/dancing like this" since ControlNet's earliest days. It detects human keypoints - joints, face landmarks, finger positions - and hands the model a stick-figure skeleton to match instead of the actual photo, so you keep the pose and lose everything else about the source image (clothing, background, identity).

How it reads a body

Full detection covers three separate layers: body (17 joints - shoulders, elbows, knees, and so on), face (70 landmark points), and hands (21 keypoints per hand). Each layer is independently detectable and independently toggleable here, which matters because hand and face detection are both harder problems than body pose - hands especially are notorious for being unreliable in any OpenPose implementation, this one included. If your reference image has hands that are partially occluded, at a weird angle, or just small in frame, don't be surprised if the hand skeleton comes out wrong or missing; that's a limitation of pose estimation generally, not something specific to this node.

The inputs and outputs that matter

  • image - required, your reference photo or render.
  • detect_hand, detect_body, detect_face - each enable/disable, all on by default. Turn off whichever layers you don't need - if you only care about body pose and don't want hand-detection noise or extra compute, disable hands and face.
  • resolution (default 512, range 64–1024, step 64) - the detection working resolution. Bump it up if you're working from a high-detail source image and the skeleton is coming out imprecise at small joints.

Two outputs: IMAGE, the rendered skeleton visualization you'd normally wire straight into a ControlNet Apply node, and POSE_KEYPOINT, the raw keypoint data as structured JSON. That second output is worth knowing about even if you don't use it immediately - it's what you'd feed into a pose-editing tool if you wanted to manually adjust a joint before generating, rather than accepting whatever the detector found.

Installing it

ComfyUI Manager: search BizyAir, install, restart. Or by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/siliconflow/BizyAir.git

Restart, then set your BizyAir API key the first time you run a workflow - this node executes on SiliconFlow's servers, and without a key it just fails at run time.

Where people get burned

Multi-person images are the classic failure mode for any OpenPose-family detector: if your source photo has more than one person, you'll get skeletons for all of them, which is usually not what you wanted if you're trying to condition on one specific figure. Crop to a single subject before running this if that's your goal.

The other thing to watch for is resolution starving small joints. At the default 512, a full-body shot with the hands turned toward the camera at a distance can lose enough detail that the hand skeleton comes out garbled - raising resolution before assuming the detector failed is worth trying first. And remember this outputs a plain IMAGE/POSE_KEYPOINT pair, not a BizyAir-typed output - it plugs straight into a normal ControlNet Apply node alongside whatever pose-conditioned ControlNet model you're using for your target checkpoint.

Category☁️BizyAir/☁️BizyAir/ControlNet Preprocessors/Faces and Poses Estimators

Inputs (5)

NameTypeDefaultDescription
imageIMAGE
detect_handoptCOMBOenable2 options: enable, disable
detect_bodyoptCOMBOenable2 options: enable, disable
detect_faceoptCOMBOenable2 options: enable, disable
resolutionoptINT51264–1024

Outputs (2)

NameTypeDescription
IMAGEIMAGE
POSE_KEYPOINTPOSE_KEYPOINT