DWposeDeluxe Load Keypoints
Load a saved pose dataset back into your workflow
- pose_keypoints
- input_keypoint_info
Pose detection is the slow part of a video workflow. The smart move is to run it once, save the keypoint data, and never run it again while you iterate on everything downstream. This node is the reload half of that plan: it pulls a saved JSON pose dataset back in and hands you a POSE_KEYPOINT sequence ready for the rest of the DWposeDeluxe editing nodes.
It's the deliberate companion to the estimator's save_keypoints option (and to the KeypointConverter's save_output). Those save JSON into your ComfyUI output directory; this loads JSON from your ComfyUI input directory - so drop the file into ComfyUI/input/, pick it in the node, done.
How to use it
The file dropdown lists every .json file in your input folder, sorted by most recently modified, so the file you just saved is right at the top. There's also an upload button if you want to pull a pose file in from anywhere else on disk. The [none] entry is what you see when the folder is empty.
Two outputs come out:
pose_keypoints- thePOSE_KEYPOINTsequence, ready to wire into KeypointPrinter, PoseInterpolation, KeypointDiff, or any of the batch/merge/edit nodes.input_keypoint_info- a STRING with details about the loaded file (frame count, people per frame, detected coordinate format). Dump it into a text viewer to sanity-check what you just loaded.
The node is forgiving about format: it handles both pretty-printed JSON and one-line JSON, and it auto-detects whether the keypoints are normalized (0–1) or absolute (pixel) coordinates. That matters because downstream nodes behave differently depending on the format - knowing which one you loaded saves you from confusing debug sessions later.
The workflow that makes this shine
Load video → run DWposeDeluxeNode once with save_keypoints on → keep the workflow from that point, swap the estimator for this loader → iterate on pose editing, interpolation, or skeleton styling in seconds instead of minutes. Once you're happy, feed the edited keypoints through KeypointPrinter and into your ControlNet.
Installing it
Same pack, same story:
cd ComfyUI/custom_nodes/
git clone https://github.com/hobinrude/ComfyUI_DWposeDeluxe
cd ComfyUI_DWposeDeluxe
pip install -r requirements.txt
or search DWposeDeluxe in ComfyUI Manager. No models needed - this node just reads JSON. If your dropdown shows [none] but you're sure the file is there, double-check you put it in ComfyUI/input/ (the pack has a refresh route, so restart ComfyUI if the list doesn't update). And remember the pack's habit: silent failures land in the console, so check there if loading looks like it did nothing.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| file | COMBO | 1 options: [none] |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| pose_keypoints | POSE_KEYPOINT | — |
| input_keypoint_info | STRING | — |