Image Interval β‘π ‘π π £π
Pull every Nth frame out of a batch
- image
- IMAGE
You've got a big batch of frames and you don't want all of them - you want every 5th one, or just frames 20 through 80, or both. That's what this node does: it slices a frame batch down using an interval and a start/end range, all in whole frame numbers.
Why you'd reach for it
Video batches in ComfyUI get big fast, and dumping every single frame into a downstream node - a preview grid, an upscaler, a LoRA training-data export - is often overkill and sometimes literally too much memory. Sampling every Nth frame gets you a representative preview without the full cost. It's also useful for keyframe extraction: grab every 10th frame, look at those, and you've got a quick sense of how a generation evolves over a batch without scrubbing through all of it. And if you only care about the middle section of a longer render, start_at/end_at let you crop the range before you even apply the interval.
The inputs and output
Four required fields, all plain integers:
image- the batch to sample from.interval(default 1) - keep one frame everyintervalframes. Leave it at 1 and this node does nothing; bump it up to actually thin the batch.start_at/end_at- the frame-number window to sample within. Set these to bound the range before the interval kicks in.
Output is a single IMAGE - the sampled subset, in the same batch format as any other frame batch, so it drops straight into a preview, save, or further processing node.
How to install it
The pack's README turned up empty when I checked it for install specifics - the pack is real and active (the author also works on real-time video tooling like ComfyStream and Daydream), it just didn't come with quotable install notes this time. So use the standard path:
ComfyUI Manager: search "RyanOnTheInside", install, restart.
Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/ryanontheinside/ComfyUI_RyanOnTheInside
Restart ComfyUI afterward. This is a big pack spanning audio analysis, mask morphology, and more, so if a requirements.txt runs on first install, let it finish - there's more going in than for a narrow single-purpose node.
Troubleshooting
If your output batch is empty or way shorter than you expected, check start_at/end_at first - they default to 0, which with a nonzero end_at left at 0 too can end up meaning "no range," depending on how your batch is sized. Set end_at explicitly rather than trusting the default when you actually want "to the end of the batch." And remember this counts by absolute frame number, not percentage - if you swap in a shorter or longer video later, your interval/start_at/end_at values won't automatically scale. For that case, the pack ships a sibling node, Image Interval Select %, that does the same slicing in percentages instead of raw frame counts - worth switching to if you're reusing the same workflow across clips of different lengths.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | β | |
| interval | INT | 11β100000 | β |
| start_at | INT | 00β100000 | β |
| end_at | INT | 00β100000 | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | β |