OpenPose Preprocessor Provider (SEGS)
Pose ControlNet inside a detailer pass
- SEGS_PREPROCESSOR
You already know OpenPose - it's the ControlNet that reads a body pose (joints, hands, face) off a reference and makes the model match it. This node is that, but shrunk down to fit inside Impact Pack's detailer loop. It doesn't run OpenPose on your whole image. It hands OpenPose to Apply ControlNet (SEGS), which runs it on each detected region while that region gets a fresh sampling pass.
Why would you want pose control on a crop? Because the classic use is fixing a person while keeping their pose locked. You detect a figure, crop it, regenerate it at higher resolution to clean up a mangled body - but without pose conditioning, the regeneration might quietly change the limbs. Feeding OpenPose into that pass pins the skeleton so the detailer improves quality without reinventing the pose.
How it actually works
This is a provider, not a preprocessor, which is why it has no image input and produces no visible pose skeleton. It builds a SEGS_PREPROCESSOR object describing "run OpenPose with these settings" and outputs it. You plug that into the preprocessor slot of Impact Pack's Apply ControlNet (SEGS) node, alongside a pose ControlNet model and your SEGS. During the detail pass, Impact Pack crops each segment, runs OpenPose on the crop, and applies the pose ControlNet to that region's regeneration. All the pose detection happens inside the loop, invisibly.
The inputs that matter
Four inputs, and they map cleanly onto OpenPose's usual variants:
detect_body(default on),detect_hand(on),detect_face(on) - which keypoints to capture. Together these areopenpose_full. Turn hands off if the hand detection is doing more harm than good (it often is on small or blurry figures), keep body on always.resolution_upscale_by(default 1.0) - upscales the crop before running detection, which can help OpenPose find keypoints on a small region. Bump it to 1.5-2 if pose detection is missing joints on tiny figures; leave it at 1 otherwise.
Output is one SEGS_PREPROCESSOR, and it goes to Apply ControlNet (SEGS).
Installing it
Part of the Inspire Pack, by Dr.Lt.Data - the ComfyUI Manager and Impact Pack author, which tells you the pack is a first-class citizen, not some abandoned side project. Via ComfyUI Manager: search ComfyUI Inspire Pack, install, restart. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Inspire-Pack
then restart. You need two other things installed for this to do anything: ComfyUI's ControlNet Auxiliary Preprocessors (that's the actual OpenPose implementation Inspire wraps) and the Impact Pack (which owns Apply ControlNet (SEGS) and the whole SEGS pipeline this node feeds).
Common issues
It errors immediately. The usual culprit is a missing comfyui_controlnet_aux. This node is a wrapper around that package's OpenPose preprocessor - no package, no preprocessor. Install it through Manager and restart.
Pose isn't being followed. Two checks. First, make sure you actually loaded an OpenPose-family ControlNet into Apply ControlNet (SEGS) - the provider only supplies the preprocessor, not the model. Second, remember conditioning here only affects the detailer regeneration of detected regions, not the base image. If the base composition already has the wrong pose, fix that upstream; this node polishes regions, it doesn't redraw the scene.
Detection misses small figures. Raise resolution_upscale_by. A 90px-tall person gives OpenPose almost nothing to work with; upscaling the crop before detection often recovers the skeleton.
Nodes won't load after installing. Check the terminal log - it's the most common Inspire Pack gripe and it's nearly always a version mismatch. Update Inspire Pack and Impact Pack together and restart.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| detect_hand | BOOLEAN | true | — |
| detect_body | BOOLEAN | true | — |
| detect_face | BOOLEAN | true | — |
| resolution_upscale_by | FLOAT | 1.00.5–100 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SEGS_PREPROCESSOR | SEGS_PREPROCESSOR | — |