Pose Node
Pose a skeleton by hand for ControlNet, no reference photo needed
- IMAGE
- MASK
OpenPose ControlNet normally needs a reference photo of a person to extract a skeleton from. But what if the pose you want doesn't exist as a photo anywhere - a specific hand gesture, an unusual action pose, something you're inventing rather than copying? PoseNode skips the reference-photo step entirely: it's an in-node editor where you build the skeleton by hand, dragging joints into position, and it outputs the pose directly as an IMAGE (plus a MASK) ready for ControlNet.
It's the pose-specific sibling of PainterNode in this same pack - same general idea of "manipulate something visually right inside the node," different specific tool.
Why you'd reach for it
The standard OpenPose ControlNet pipeline goes: find or shoot a reference photo with the pose you want → run it through an OpenPose preprocessor → get a skeleton image → feed that to ControlNet. That's a lot of steps if the pose you want doesn't already exist in a photo somewhere, or if you're iterating on a pose interactively and don't want to keep sourcing new reference images. PoseNode collapses the search for a reference photo into direct manipulation - you're not extracting a pose from an image, you're building one.
Per the ComfyUI ecosystem's own history with pose control: OpenPose keypoints (body joints, face landmarks, hand keypoints) are the standard structure the whole downstream ControlNet pipeline expects - this node is aimed at producing exactly that kind of structure without needing a source photo first.
How it works
The node presents a pose-editing canvas seeded from a reference/example image, where you position skeleton joints directly. Whatever pose you build gets rendered out as an image (the skeleton itself, in the format ControlNet's OpenPose conditioning expects) alongside a mask.
The inputs and outputs that matter
image(required) - this selects the reference/background image the pose editor is working against, similar in role toPainterNode's equivalent field.- Outputs:
IMAGE- the rendered pose/skeleton, wire this into your ControlNet's image input (make sure you're using an OpenPose-compatible ControlNet model on your base checkpoint, since pose ControlNets aren't universal across architectures) - andMASK, if your workflow needs it for masked or inpainting-adjacent work.
This node's schema is notably simpler than PainterNode's - no separate optional images wire-input or update_node toggle here, just the one required field.
How to install it
Via ComfyUI Manager: search "ComfyUI Custom Nodes AlekPet" and install. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/AlekPet/ComfyUI_Custom_Nodes_AlekPet
Restart. No model downloads - it's a UI/canvas node, nothing to fetch. You will need a compatible OpenPose ControlNet model downloaded separately for whatever base checkpoint you're actually generating with - PoseNode itself only builds the skeleton image, it doesn't ship or apply the ControlNet.
Common issues & troubleshooting
Worth a heads-up before you build a whole workflow around it: this pack's hand-drawn canvas tools are older, first-generation utilities in the wider ComfyUI ecosystem, and a sibling node in this same pack (PainterNode, which shares the same general canvas-based approach) has documented rough edges - an output that can carry an alpha channel where downstream nodes expect plain RGB, and reports of the pack not having seen heavy active development in a while. If PoseNode's output errors going into ControlNet with a channel-count mismatch, try the same fix that resolves it on PainterNode: insert a Convert Image to RGB node between this node and whatever's erroring.
Generated pose doesn't influence the output the way you expect. Double check you're using a ControlNet model actually trained for OpenPose-style keypoint conditioning, and that it matches your base checkpoint's architecture - a pose ControlNet trained for one model family generally does not transfer to a different one, and mismatched conditioning can silently do very little rather than erroring outright.
Editing the pose feels fiddly compared to more modern tools. That tracks with the general feedback on this pack's canvas-based nodes - if precise pose control matters a lot to your workflow, it's worth knowing there are more actively developed pose-editing options in the wider ecosystem now; PoseNode remains a fast, dependency-free way to get a rough custom pose without hunting for a reference photo.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| image | COMBO | 1 options: example.png |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |
| MASK | MASK | — |