Image Interval Select % β‘π ‘π π £π
Sample a frame batch by percentage, not frame count
- image
- IMAGE
This is the percentage-based twin of the pack's Image Interval node. Instead of counting off frame numbers, you tell it "sample every 10% of the batch, starting at the 0% mark, ending at 100%" - and it works out the actual frame indices for you. Same job, more portable.
Why you'd reach for it over the plain Image Interval
The frame-number version (ImageInterval) is precise but brittle: hardcode interval=5, start_at=0, end_at=100 and it's tied to a batch of roughly that length. Feed it a much shorter or longer batch later and those numbers stop meaning what you set them for. This node sidesteps that by working in percentages of whatever batch it's given - interval_percentage=10 always means "roughly every 10th of the batch," whether that batch is 30 frames or 300. That makes it the better default when you're building a reusable workflow (a template, an API endpoint, anything you'll run against clips of varying length) and only the frame-number version when you know the exact batch size ahead of time and want exact control.
The inputs and output
Three FLOAT fields, all 0β100:
interval_percentage(default 10) - sample roughly every N% of the batch. Lower it for a denser sample, raise it to thin harder.start_percentage(default 0) /end_percentage(default 100) - the window within the batch to sample from, expressed as percentages of total length rather than frame numbers.
Output is a single IMAGE - the sampled subset, ready to drop into a preview, a save node, or whatever's next in your graph.
How to install it
Same pack, same install path - the pack's README didn't have anything specific to quote for install this time around (it came back empty), so this is the standard route for the whole suite:
ComfyUI Manager: search "RyanOnTheInside", install, restart ComfyUI.
Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/ryanontheinside/ComfyUI_RyanOnTheInside
Restart afterward. It's a large pack covering audio analysis and mask processing as well as these batch utilities, so give the first install a moment if it needs to pull extra Python dependencies.
Troubleshooting
Because percentages get rounded to actual frame indices under the hood, don't expect an exact frame count out the other end - asking for every 10% of a 23-frame batch won't land on a perfectly even split, and that's normal, not a bug. If you get back way fewer frames than you expected, double-check start_percentage/end_percentage aren't accidentally narrowing your window (e.g. leaving end_percentage at something other than 100 from a previous edit). And if you actually need exact, reproducible frame numbers - say, for a fixed-length clip where you know precisely which frames matter - the plain ImageInterval node is the better tool; this one trades precision for portability across batch sizes, which is the whole reason it exists.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | β | |
| interval_percentage | FLOAT | 101β100 | β |
| start_percentage | FLOAT | 00β100 | β |
| end_percentage | FLOAT | 1000β100 | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | β |