πͺ Frame Number Overlay (Experimental)
Burn the frame index into every frame
- images
- images
Ever stare at a rendered video and ask "which frame is this?" Or debug a workflow where you've spliced clips and can't tell if the context frames landed where you think they did? That's the entire job of Frame Number Overlay: it stamps the frame index onto every frame of an image batch. No model, no VRAM, no cleverness - just a number in the corner, exactly where you want it.
It's marked experimental, but that's honest-to-goodness the simplest node in this pack. The name says everything. If you've ever wished VACE Join or your extension loop printed its own breadcrumbs, this is the manual version.
How it works
It draws the text label onto each frame with PIL: label = prefix + (start_index + frame_position) + suffix. So with start_index of 40, the first frame reads 40, the second 41, and so on - handy when a batch is actually a slice of a longer timeline. Text placement is set by position (top-left, top-right, bottom-left, bottom-right) and padding, and it always gets a black outline behind it so the number stays readable on light footage. The font lookup checks platform-default monospace fonts on macOS, Linux, and Windows in turn, falling back to PIL's default if none match.
The inputs and outputs that matter
images- the batch to stamp. This is the only required, non-default input.start_index(default 0) - the number on the first frame.position(default top-left) - corner placement; the one combo box.font_size(default 32),padding(default 10) - size and inset.font_color(default white) - any CSS color name or hex.prefix/suffix- optional text around the number, e.g."shot3_"+"f"forshot3_47f.
Output: images - the same batch, frames stamped. That's it. You can route it into a preview or a save node and check your work.
Install
ComfyUI Manager β search "Wan VACE Prep" β install β restart, or:
cd /path/to/comfyui/custom_nodes
git clone https://github.com/stuttlepress/ComfyUI-Wan-VACE-Prep
No dependencies beyond PIL, which ComfyUI already has. No model downloads, obviously.
Common issues
- Text hard to read - the black outline is always there, but on very bright frames a dark
font_color(likeblackor a hex) reads better. - Numbers look wrong for a slice - that's what
start_indexis for. If your batch starts mid-timeline, set it to the true frame number. - Font looks different across machines - the loader picks whatever monospace font the OS has (Courier New on macOS/Windows, DejaVu Sans Mono on Linux) and falls back to a default. Close enough for debugging, just don't expect a type designer's approval.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | β | |
| font_size | INT | 328β256 | β |
| start_index | INT | 00β99999 | β |
| position | COMBO | 4 options: top-left, top-right, bottom-left, bottom-right | |
| padding | INT | 100β256 | β |
| font_color | STRING | white | β |
| prefix | STRING | β | |
| suffix | STRING | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | β |