⭐ Star Frame From Video
Grab the last frame of a video batch and keep the loop going
- images
- frame
The most common way to extend a video with an image-to-video model is also the most annoying to wire up: you decode the video, find the last frame, and feed that back in as the next clip's start frame. In core ComfyUI there's no one-liner for "give me the last frame of this batch," which is exactly the gap Star Frame From Video fills. It's the small, boring node that makes video-extension loops actually pleasant.
It lives in ⭐StarNodes/Video alongside the pack's other LTX helpers.
How it works
One required input, images (an IMAGE batch - which is what a decoded video or a video-latent decode produces, frame-indexed along the batch axis). Then a mode selector:
- First Frame - outputs frame 0.
- Last Frame - outputs the final frame in the batch. This is the one for extension loops.
- Frame Number - outputs whatever index you put in the optional
frame_numberinput (0-based).
The single frame output is an IMAGE ready to feed into an image-to-video node's start-frame input, or into a preview, or into a save.
Where it fits
The canonical use is the "frame-extension loop": generate a clip → decode → grab last frame → feed it into I2V as the first frame → generate the next clip → repeat, stitching the clips later. With LTX specifically this pairs well with the pack's Star LTX Image Cut node, which can trim the junk edges and hand you first/last frames - but Star Frame From Video is the simpler tool when you only need the one frame and don't want the trimming logic in the same graph.
It also covers the reverse case, which people discover by accident: sometimes you want the first frame of a long clip to use as a preview thumbnail, and "First Frame" is a one-click answer.
Installing it
Standard StarNodes install - ComfyUI Manager, search Starnodes, install, restart:
cd ComfyUI/custom_nodes
git clone https://github.com/Starnodes2024/ComfyUI_StarNodes
cd ComfyUI_StarNodes
pip install -r requirements.txt
Search the canvas for star after a restart, or browse ⭐StarNodes/Video.
Gotchas
frame_number has no upper bound in the schema - if you ask for a frame index past the end of the batch, behavior is "whatever the node decides" territory rather than a clean error, so keep your index inside the batch. Also remember "first" and "last" are relative to the order of frames in the batch you feed in: if you've already trimmed or re-ordered frames upstream, the node doesn't know - it just takes whatever's at the ends. For extension loops, double-check that the decode you're grabbing from is the same resolution/aspect the I2V node expects, or the loop silently drifts on every iteration.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| frame_select_mode | COMBO | First Frame | 3 options: First Frame, Last Frame, Frame Number |
| frame_numberopt | INT | 0 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| frame | IMAGE | — |