CtrlNet OpenPose Settings (JPS)
Bundle your pose-ControlNet knobs into one wire
- openpose_settings
This node doesn't detect a single pose or touch a single pixel. What it does is take every knob you'd normally scatter across an OpenPose ControlNet setup - which image to pull the pose from, how hard to apply it, when to start and stop, which body parts to even bother with - and collapse them into one output. That's the whole point of JPS's "Settings" nodes: instead of seven wires crossing your graph, you get one, and you place the menu wherever it's convenient to edit rather than wherever the ControlNet apply node happens to live.
What it's for
OpenPose is the ControlNet condition that reads a reference image's body keypoints, face landmarks, and hand keypoints, then steers generation toward matching that skeleton - useful any time you want a specific pose without fighting the prompt for it. This settings node is the control panel for that pass. It doesn't run the pose detector itself (that's a separate preprocessor node earlier in your graph, and you still need an OpenPose ControlNet model loaded) - it just packages the settings that everything downstream reads.
The inputs that matter
openpose_from- one of "Source Image", "Support Image", "Support Direct". This is a selector, and its companion Pipe node outputs it as a plain integer rather than a string, which is the giveaway that it's meant to drive one of the pack's own switch nodes (Image Switch, for instance) - pick which of your candidate reference images actually becomes the pose source without rewiring anything.openpose_strength(0–10, default 1) - how hard the pose steers generation. Note the range goes way past what you'd normally use; the community-standard ControlNet weight band for a condition like this is roughly 0.3–1.2, so treat "1" as your ceiling for most work and only push higher if you know exactly why.openpose_start/openpose_end(0–1, default 0 and 1) - the step window the condition is active for. The standard move, and the one worth actually using: release the pose condition partway through (end around 0.5–0.6) so the model locks the composition early and is free to add natural detail afterward instead of fighting the skeleton the whole way through.openpose_body/openpose_face/openpose_hand(enable/disable each) - toggles for which keypoint sets the preprocessor bothers with. Hands are the noisiest and least reliable part of OpenPose detection; if your reference has messy or occluded hands, disabling hand detection is often a cleaner result than fighting through it.
The single output, openpose_settings, is typed BASIC_PIPE - worth flagging early: that's a generic label JPS reuses for its own bundles, not Impact Pack's actual multi-model pipe object. It only makes sense wired into the matching CtrlNet OpenPose Pipe (JPS) node, which is where these seven values come back out as individual wires you can drop in wherever you need them.
Installing it
Through ComfyUI Manager, search JPS Custom Nodes for ComfyUI and install. By hand:
cd ComfyUI/custom_nodes
git clone https://github.com/JPS-GER/ComfyUI_JPS-Nodes.git
Restart ComfyUI. No model downloads and no Python dependencies beyond ComfyUI core - this is a pure logic/settings pack, all the actual pose detection and ControlNet inference happens in other nodes you wire around it. If you have an older copy of "JPS Custom Nodes" installed already, delete it first - the README calls this out explicitly, and a stale duplicate is a fast way to get two competing node registrations.
Where people get tripped up
The most common confusion is expecting this node to do something. It's pure bookkeeping - if your pose isn't coming through, the problem lives upstream (no OpenPose preprocessor run on the image, or wrong/no ControlNet model loaded) or downstream (forgot to plug the Pipe node's outputs into the actual Apply ControlNet node). Also worth knowing: this specific node, and its pipe/settings siblings across the pack's ControlNet family, aren't in the pack's own README list - that document predates several of the newer Settings/Pipe additions, so don't take its node inventory as exhaustive.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| openpose_from | COMBO | 3 options: Source Image, Support Image, Support Direct | |
| openpose_strength | FLOAT | 1.00–10 | — |
| openpose_start | FLOAT | 0.000–1 | — |
| openpose_end | FLOAT | 1.000–1 | — |
| openpose_body | COMBO | 2 options: enable, disable | |
| openpose_face | COMBO | 2 options: enable, disable | |
| openpose_hand | COMBO | 2 options: enable, disable |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| openpose_settings | BASIC_PIPE | — |