DWposeDeluxe Custom Options
Fine-tune the skeleton look without touching the estimator
- custom_options
Pose skeletons from DWPose usually look fine, but "usually fine" isn't what you want when the skeleton is going to drive a ControlNet. Sometimes the dots are so fat they blur into a blob, or the lines are so thin they vanish at video resolution, or the detector keeps picking up noise you'd rather ignore. This node exists so you don't have to crawl through the main estimator's defaults every run.
It's a configuration packager, not a detector. You set your style and threshold values once, and it outputs a single custom_options object you plug into the custom_options input on the DWposeDeluxeNode estimator or the KeypointPrinter. No image goes in, no image comes out - it's pure settings that travel down the wire.
What you'll actually set
There are a lot of knobs, but most beginners touch a handful:
body_dot_size_modifier/body_line_thickness_modifier- bump these (range −3 to +6) to fatten the skeleton. Positive values thicken; negatives thin it out. If the pose looks wispy in a downscaled ControlNet preprocess, +1 or +2 usually fixes it.hand_dot_size_modifierandface_dot_size_modifier- same idea for the smaller keypoint sets, which otherwise render nearly invisible at video resolutions.pose_threshold- minimum confidence for a whole person to count as detected. Raise this if the node keeps picking up phantom poses in the background.body_threshold/face_threshold/hand_threshold- per-subset confidence cutoffs. The pack gives each body part its own threshold, which is nicer than the one-size-fits-all most estimators use.nms_thresholdandscore_threshold- detector tuning. NMS controls how aggressively overlapping bounding boxes get merged; score_threshold is the detector's own confidence floor.
The rest - pose_opacity, face_padding (padding around cropped faces), neck_validity, and the memory_debug_log switch - are progressively more niche. memory_debug_log is worth knowing about: flip it on if you suspect the pack is leaking memory on long video jobs, and the console will tell you.
How to use it
Add the node, set your values, and wire its custom_options output into the estimator's custom_options input. That's the entire setup. If you leave it out, the estimator just uses sane defaults - so this node is strictly optional, a "when you care" addition rather than a required step.
Because it's a plain settings package, you can also share it: build one options node with your preferred skeleton style, keep it in your workflow templates, and reuse it across projects. Change the look in one place instead of re-fiddling per workflow.
Install & gotchas
It ships with the DWposeDeluxe pack, so installing is the same as any other node in it:
cd ComfyUI/custom_nodes/
git clone https://github.com/hobinrude/ComfyUI_DWposeDeluxe
cd ComfyUI_DWposeDeluxe
pip install -r requirements.txt
or just search DWposeDeluxe in ComfyUI Manager. The one real trap: thresholds are confidence values on a 0–1 scale, so a score_threshold of 0.9 is extremely strict and will likely detect nobody. If you raise thresholds and suddenly get empty poses, you've gone too far - step back down in 0.05 increments. And remember this is still a developing pack, so the exact knob behavior can shift between releases.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| body_dot_size_modifier | INT | 0-3–6 | — |
| body_line_thickness_modifier | INT | 0-3–6 | — |
| hand_dot_size_modifier | INT | 0-3–6 | — |
| hand_line_thickness_modifier | INT | 0-3–6 | — |
| face_dot_size_modifier | INT | 0-3–6 | — |
| pose_threshold | FLOAT | 0.250–1 | — |
| body_threshold | FLOAT | 0.300–1 | — |
| face_threshold | FLOAT | 0.100–1 | — |
| hand_threshold | FLOAT | 0.100–1 | — |
| pose_opacity | FLOAT | 0.600–1 | — |
| face_padding | INT | 00–99 | — |
| neck_validity | FLOAT | 0.300–1 | — |
| nms_threshold | FLOAT | 0.450–1 | — |
| score_threshold | FLOAT | 0.100–1 | — |
| memory_debug_log | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| custom_options | DWOPOSE_CUSTOM_OPTIONS | — |