Image Select Schedule π π π
Pick images out of a batch on a schedule β the frame-selector you didn't know you needed
- images
- IMAGE
Image Select Schedule is the FizzNodes node that does for images what the other schedulers do for prompts and values: it decides which images from a batch should appear at which frame. Feed it a batch of images, a keyframe-style text schedule, and a current_frame, and it returns the images your schedule says belong to that frame. It's the node you reach for when you've generated a batch - say a run of AnimateDiff frames - and you want to keep some frames, drop others, or re-time them according to a curve instead of doing it by hand.
The schedule format is the familiar one, but the values are image indices:
"0" :"1",
"30" :"12, 24",
"60" :"48"
Quotes on the frame numbers, comma-separated entries, and the values are image positions in the input batch - single indices, comma-separated lists, or ranges like "1:20". The node interpolates the schedule the same way the prompt scheduler does, then at current_frame selects the images those indices point to. It supports max_frames to define the animation length and print_output for console debugging.
The mechanism and the fine print
Under the hood, the selection logic is borrowed from SLAPaper's ComfyUI-Image-Selector (Apache-2.0, credited in the source). A couple of behaviors are worth knowing. Indices in the schedule are 1-based - index 1 is the first image - and anything out of range is silently ignored. If nothing is selected for a frame, the node just prints a "selected no images, passthrough" message and returns nothing useful, so an empty schedule frame will trip you up mid-workflow rather than fail loudly. The output is a single IMAGE batch: the selected images for the current frame.
Where it fits
The honest use case is post-processing animation frames: generate a batch, use a schedule (possibly audio-synced, via framesync.xyz exports) to pick which frames survive into the final cut, then feed the result to a video encoder. If you never need to cherry-pick from a batch, you'll never touch this node - but it's the exact tool when "keep every third frame here, all of them there" is your problem.
Install
cd ComfyUI/custom_nodes && git clone https://github.com/FizzleDorf/ComfyUI_FizzNodes.git
cd ComfyUI_FizzNodes && pip install -r requirements.txt
Or install "FizzNodes" via ComfyUI Manager and restart. No models - it's pure tensor indexing plus the pack's usual light dependencies.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | β | |
| text | STRING | "0" :"", "11" :"", "23" :"", "35" :"", "47" :"", "59" :"", "71" :"", "83" :"", "95" :"", "107" :"", "119" :"" | β |
| current_frame | INT | 00β999999 | β |
| max_frames | INT | 1201β999999 | β |
| print_output | BOOLEAN | false | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | β |