Nodes/ComfyUI_DWposeDeluxe/DWposeDeluxe Custom Options
ComfyUI Node

DWposeDeluxe Custom Options

Fine-tune the skeleton look without touching the estimator

By hobinrude·Created 9 months ago·Updated 8 months ago· 10
DWposeDeluxe Custom Options
    • custom_options
    body_dot_size_modifier0
    body_line_thickness_modifier0
    hand_dot_size_modifier0
    hand_line_thickness_modifier0
    face_dot_size_modifier0
    pose_threshold0.25
    body_threshold0.30
    face_threshold0.10
    hand_threshold0.10
    pose_opacity0.60
    face_padding0
    neck_validity0.30
    nms_threshold0.45
    score_threshold0.10
    memory_debug_logfalse

    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_modifier and face_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_threshold and score_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.

    CategoryDWposeDeluxe

    Inputs (15)

    NameTypeDefaultDescription
    body_dot_size_modifierINT0-3–6
    body_line_thickness_modifierINT0-3–6
    hand_dot_size_modifierINT0-3–6
    hand_line_thickness_modifierINT0-3–6
    face_dot_size_modifierINT0-3–6
    pose_thresholdFLOAT0.250–1
    body_thresholdFLOAT0.300–1
    face_thresholdFLOAT0.100–1
    hand_thresholdFLOAT0.100–1
    pose_opacityFLOAT0.600–1
    face_paddingINT00–99
    neck_validityFLOAT0.300–1
    nms_thresholdFLOAT0.450–1
    score_thresholdFLOAT0.100–1
    memory_debug_logBOOLEANfalse

    Outputs (1)

    NameTypeDescription
    custom_optionsDWOPOSE_CUSTOM_OPTIONS