Grok Imagine video extension vs chaining clips on Sume
xAI extends a Grok Imagine clip from its final frame. Sume has no extend call for Grok: save the last frame and submit it as first_frame on the next job.

xAI's video guide documents an extension call that continues a Grok Imagine clip from its final frame. Sume does not expose that call for Grok. On Sume you get the same result by hand: save the last frame of the finished clip and submit it as the first_frame of the next grok-imagine-video-1.5 job. This post shows the difference and the chain.
What each side documents
The table lists what each side documents. xAI facts come from its video generation guide; Sume facts come from the Video Router and Video Generation docs.
| Item | xAI (read 2026-10-05) | Sume |
|---|---|---|
| Generation input | One source still image as the starting point | Image-to-video only for grok-imagine-video-1.5 |
| Clip length | Up to 15 seconds | 4-15 seconds |
| Extension | Continues from the final frame of a clip | No extend parameter; chain jobs yourself |
| Editing | Video editing with text prompts | Not on the Grok row (see the Omni edit route instead) |
| Resolution | Duration and resolution both affect cost | 480p and 720p |
Chain two clips on Sume
A chain has three steps. Finish clip one and download it. Extract its last frame. Submit clip two with that frame in frame_images and frame_type: "first_frame". Sume treats frame_images as image-to-video, which is the only mode the Grok row accepts.
Each hop is a separate Sume job with its own id, price and poll. That is the main difference from a native extension: you pay and poll per hop, and you decide how long each segment is (4-15 s on Sume).
Quality drift is yours to watch. A single still carries no motion information, so describe the motion that should continue in the prompt of each hop.
ffmpeg -sseof -0.1 -i clip1.mp4 -frames:v 1 last.png
# upload last.png to a public https URL, then:
curl -X POST https://api.sume.com/v1/videos \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-imagine-video-1.5",
"prompt": "The runner keeps sprinting down the track, camera follows",
"duration": 8,
"resolution": "720p",
"frame_images": [{
"type": "image_url",
"image_url": {"url": "https://example.com/last.png"},
"frame_type": "first_frame"
}]
}'Which to use
Use xAI's own extension when you call xAI directly and want the continuation handled for you. Use the chain when you are on Sume and want one billing and one API for every model. If you need a longer single take, check whether another catalog row such as seedance-2.5 (4-30 s) fits before you chain.
Check the live catalog with GET /v1/videos/models before you hard-code a duration range.
Sources
Related posts
More in Developers
- xargs -P 3: send a prompt file to Wan 3.0 without losing quotes
A 17-line shell script fans a prompts.txt out to Sume /v1/videos with xargs -P 3. Six 2 s 480p Wan 3.0 jobs cost $0.75, and a rerun reuses each prompt's key.
- Your backend in front of Sume video: return 202 and a job id
A 30-line Node server that submits a Sume video job with POST /v1/videos and answers your browser 202 with a job id, instead of holding the request open.
- YouTube 'daily custom thumbnail limit reached': retry in 24 hours
YouTube caps custom thumbnails per channel per day, and the error says to retry in 24 hours. Queue Sume thumbnails and stop the loop on that message.
- YouTube Data API: 100 videos.insert calls a day, plan Sume uploads
Google's default quota gives a project 100 videos.insert calls per day. Batch Sume clips into a daily upload plan and render only what you can post.
Written by Sume