DWposeDeluxe Frame Numbering
Stamp frame numbers on a video so you can actually find the good bit
- image
- IMAGE
Pose debugging runs on frame numbers. You look at a rendered skeleton, decide frame 312 is where the hands glitch, and you need to know it's 312 when you go hunt in the original video. This node overlays the frame index directly onto each image in a sequence, so you can watch the video and note the numbers instead of guessing. It's boring, and it saves you real time.
The author built it specifically as a pose-debugging aid - the pack's changelog mentions "Add a frame number overlay to batch outputs, helpful by pose debugging." But it works on any image sequence, not just pose renders. Put it after the estimator's pose_image output, or anywhere you're inspecting video frames.
The inputs
image- the frame sequence to stamp.print_frame_numbers- master on/off switch for the overlay.skip_first_frames- offset for the starting number. Set this when your sequence starts mid-video, so the stamps match the source timeline rather than the slice.print_every_nth- increment step.2stamps every other frame,1every frame.number_position- top-left, top-right, bottom-left, or bottom-right corner.font_size(default 64) - text size; bump it for long sequences or low-res previews.font_name(defaultDejaVuSansMono-Bold.ttf) - a.ttffont file. It searches your OS font directories for the name, or you can pass an absolute path to a font file. Monospace keeps the digits from jumping around as the count grows.overlay_opacity(default 0.5) - transparency of the text.
Output is a single image output: the sequence with numbers burned in.
Honest expectations
This is a utility, not a fancy node - there's no background box, no custom color, no text shadow (at least, nothing promised in the schema). You get a number in a corner, and that's about it. For anything prettier you'd burn in your own text later; for the actual job of identifying frames while you debug poses, it's exactly right.
One tip from the field: if you're matching numbers against a video loader that counts from 1 instead of 0, set skip_first_frames to 1 and the stamps align with what you see in the player. And keep print_every_nth at 1 while debugging - skipping frames saves nothing perceptible and just makes the counting harder.
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 - it uses PIL to draw text, which the pack already pulls in via its dependencies. If the overlay doesn't appear, the usual culprit is font_name pointing at a font the pack can't find; give it an absolute path to a .ttf and it'll work.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| print_frame_numbers | BOOLEAN | true | — |
| skip_first_frames | INT | 0 | — |
| print_every_nth | INT | 1 | — |
| number_position | COMBO | 4 options: top-left, top-right, bottom-left, bottom-right | |
| font_size | INT | 641–1024 | — |
| font_name | STRING | DejaVuSansMono-Bold.ttf | — |
| overlay_opacity | FLOAT | 0.500–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |