DWposeDeluxe Batch Keypoints
Stitch two pose clips into one timeline
- keypoints_1
- keypoints_2
- pose_keypoints
Video work is rarely one continuous take. You detect pose A, you detect pose B, and eventually you need a single timeline that's both of them in sequence. This node concatenates two POSE_KEYPOINT batches - appending every frame of keypoints_2 onto the end of keypoints_1 - and returns the combined sequence as one pose_keypoints output.
It's the pose-equivalent of a video concat node: trivial conceptually, constantly needed in practice. If you're assembling a multi-clip dance video or splicing separate pose segments into one motion driver, this is the seam you use.
The inputs
keypoints_1- the first batch; its frames come first in the output.keypoints_2- the second batch, appended after it.
No parameters, no settings. Both inputs are required, and the output is a simple frame-ordered concatenation.
What to watch
The node checks that both batches have the same canvas dimensions and warns to the console if they don't - a mismatch means your combined timeline has frames that don't agree on their coordinate space, which will look wrong downstream. It's a warning, not a hard stop, so the onus is on you to keep canvases consistent.
The bigger footgun is more subtle: this node glues frames together, it does not align coordinate systems. If keypoints_1 is normalized and keypoints_2 is absolute, the concatenated result is a mess of mixed formats. Get both halves through the KeypointConverter first so they agree, and you'll avoid an afternoon of "why does the second half of my pose look broken."
There's a deliberate distinction between this node and its cousin MergeKeypoints. Batch concatenates in time - clip A then clip B, more frames. Merge combines people - both datasets must have the same number of frames, and their people get pooled into each frame. If you're not sure which you want: more frames = Batch, more people per frame = Merge.
Installing it
Part of the DWposeDeluxe pack:
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, no inference - just list concatenation, so it's instant even on long sequences. One small quirk from the source: if only one input is empty, it returns the non-empty one rather than erroring, which is convenient but easy to misread as a successful merge. Check your output frame count.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| keypoints_1 | POSE_KEYPOINT | — | |
| keypoints_2 | POSE_KEYPOINT | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| pose_keypoints | POSE_KEYPOINT | — |