⚡ Images Seeker
Scrub a video's frames to the beats in your beat map
- image
- IMAGE
⚡ Images Seeker is one of the two "reactivity" nodes in ComfyUI-Pronodes - the corner of the pack aimed at music-video-style editing, where the visuals are cut to a beat map. The idea: take a batch of frames and fast-forward through the boring parts while landing on frames that hit the key points of your timeline. It's a scrubber with a skip button, driven by a simple text timeline.
If you've ever wanted to take a long video, throw away most of it, and keep a cut-down version that still lands on the important moments - without hand-deleting frames - this is the toy for you. Fair warning: it's the most experimental node in an already-experimental pack, and it shows.
The beat map: points_string
The heart of the node is a multiline text input. The default says a lot:
0:(0.0),
7:(1.0),
15:(0.0)
That's a list of frame:(value) pairs. 0.0 means "advance normally, one frame per step." 1.0 means "this is a key moment - seek fast." The numbers are your timeline: at frame 0 you're moving normally, at frame 7 you've hit a beat, at frame 15 you're back to normal. You'd normally generate this map from an audio analysis (beat detection) and paste it in.
How the seeking actually works
The node walks through the source frames following your points, in order:
- At a
0.0point, it takes the next frame and moves on by one. - At a
1.0point, it fast-forwards: it jumps ahead byskip_countframes (default 5) and grabs a frame, and repeats thatskip_rangetimes (default 10) - so one beat mark skips a big chunk of footage and keeps the frames in between.
The fps input (default 12) is your source's frame rate, used so the node can compute the re-timed output. It feeds an IMAGE batch out - the frames you kept, in order - which you'd then encode with a video combine node. You'll notice the output is shorter than the input: that's the point. You're scrubbing to the interesting parts.
What's in it, and what isn't
The other inputs are the three ints - fps, skip_count, skip_range - and points_string. One IMAGE output. That's the whole usable surface.
One honest quirk from reading the source: the file also contains a big chunk of RIFE frame-interpolation code (model download URLs, an IFNet loader, and so on) that the node's main path never calls. It's vestigial - clearly inherited from a Frame-Interpolation pack while the author was iterating. So no, it does not download models, and no, it doesn't do AI interpolation. It's a frame skipper, not a smoother. Don't go looking for settings that the UI doesn't show you.
Caveats worth knowing
- It's genuinely obscure. These reactivity nodes have essentially zero community footprint - the pack has a handful of stars and the README flags it as still in development. Expect rough edges and no tutorials.
- Your points must be sorted and sane. The parser is strict (
frame:valuepairs, comma-separated); a malformed line fails the run. - If it does something odd with the resulting fps, remember this is a beat-sync helper, not a frame-accurate editor. Test with a short clip before trusting it on your master render.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/yuvraj108c/ComfyUI-Pronodes
or search "ComfyUI-Pronodes" in ComfyUI Manager, then restart. The pack's requirements (yt_dlp, imageio[ffmpeg]) are shared across all seven nodes; nothing here downloads models at runtime. It's a fun idea with real legs for beat-synced edits - just keep your expectations tuned to "experimental utility," not "production editor."
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| fps | INT | 121–255 | — |
| skip_count | INT | 51–255 | — |
| skip_range | INT | 101–255 | — |
| points_string | STRING | 0:(0.0), 7:(1.0), 15:(0.0) | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |