Continue a scene in the next Shorts episode: last frame as first frame
Pull the last frame of episode 1 with Sume video frames and use it as the first frame of an Omni clip for episode 2. Sequence, API calls and an 8-second price.

To make episode 2 pick up where episode 1 stopped, extract a frame from the end of episode 1 with Sume video frames and pass it as the first frame of the next generated clip. Extract several candidates in the last second, since the very last frame may be blurred, and pick the sharpest. An 8-second Omni clip at 720p then costs $1.00.
Why bother
YouTube's Shorts series groups related Shorts into seasons and episodes and plays them in sequence (YouTube Blog), so continuity between the end of one episode and the start of the next is something viewers can notice. Each episode must be a Short: portrait or square and at most 180 seconds (YouTube Help).
Step 1: candidate end frames
POST /v1/video-frames accepts an at list of 1 to 24 times. Each time must be at least 0 and below the clip's duration, otherwise the worker returns frame_time_out_of_range. For a 10-second episode, ask for times between 9.0 and 9.9 as PNG. The frames are durable media.sume.com images.
curl -X POST https://api.sume.com/v1/video-frames \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: ep1-end-frames" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_ep1/ep1.mp4",
"at": [9.0, 9.3, 9.6, 9.9],
"format": "png"
}'Step 2: use it as the first frame
Choose the frame with open eyes, no motion blur and the subject where you want it. Then submit a POST /v1/videos request with frame_images holding that frame as first_frame. Gemini Omni Flash 1.1 takes 3 to 10 seconds with native audio, at 9:16. The mode follows the fields you send: frame_images means image-to-video.
{
"model": "gemini-omni-flash-1.1",
"prompt": "Continue the scene: the door opens and light spills into the hallway",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "9:16",
"frame_images": [
{
"type": "image_url",
"image_url": { "url": "https://media.sume.com/artifacts/artf_frames/9-6.png" },
"frame_type": "first_frame"
}
]
}Omni bills output seconds by resolution. Sume's per-second rate for Omni 1.1 at 720p is $0.125, so 8 seconds is $1.00. Frame extraction is billed by its own worker compute.
| Step | What you pay |
|---|---|
| Extract 4 candidate end frames | Worker compute for one video-frames job |
| Generate 8 s at 720p | $1.00 (8 s x $0.125) |
| Generate 8 s at 360p as a test | $0.30 (8 s x $0.0375) |
Limits
A matching first frame helps with continuity but does not guarantee it. Characters and lighting can still drift, so add a reference image for faces. Poll the job with GET /v1/jobs/{id}/status and read the result when it is completed; do not resubmit a paid request because a client timed out.
Sources
Related posts
More in Formats
- Does each Shorts series episode need to stand alone?
Each Shorts episode may be the first one a viewer sees. Add a recap overlay with Sume trim, compose and Timeline 1.0 for about $0.15.
- Format run receipt: $14.96 billed against a $120 cap, field by field
The documented Format run receipt shows billable_amount_usd_micros 14,959,638 and a cap of 120,000,000. How to read micros, and what unused cap means.
- Format showcase field: judge a Format by a real output first
GET /v1/formats returns showcase, a verified sample output. Use it with description and io to pick a Sume Format before you spend credits on a run.
- Format spend caps: the $400 default, $500 maximum, and your own
A Sume Format run can never spend past its cap. How the cap is chosen, what happens when a run hits it, and how to size generation_spend_cap_usd per run.
Written by Sume