Turn a finished ad still into a short clip with a first frame
Send the approved still as frame_images with frame_type first_frame on POST /v1/videos. Which models accept it, and how to pick a duration, from Sume's docs.

To animate a finished ad still, send it as frame_images with frame_type: "first_frame" on POST /v1/videos, plus a prompt that describes the motion. Only models whose supported_frame_images lists first_frame accept it, so read the video catalog before you pin a model.
Image models keep getting better at text: Higgsfield lists FLUX 3 Image with more accurate text and native 4K output on 2026-10-01 (Higgsfield changelog, read 2026-10-02). Once a still passes review, a first frame keeps the clip anchored to that approved look.
What does the request look like?
The still must be a public HTTPS URL. If you send both frame_images and input_references, frame_images takes precedence and the request is treated as image-to-video.
| Field | Mode | Use |
|---|---|---|
frame_images | Image-to-video | First or last frame; entry needs frame_type |
input_references | Reference-to-video | Style or content guidance, not exact frames |
duration | Both | Whole seconds, validated per model |
import os
import requests
body = {
"model": "seedance-2.5",
"prompt": "Slow push-in, steam rising from the mug",
"frame_images": [{
"type": "image_url",
"image_url": {"url": "https://example.com/approved-still.png"},
"frame_type": "first_frame",
}],
"duration": 6,
"resolution": "720p",
}
r = requests.post(
"https://api.sume.com/v1/videos",
headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"},
json=body,
timeout=60,
)
print(r.status_code, r.json())How do I know a model accepts a first frame?
Call GET /v1/videos/models and read supported_frame_images for the model. Do not assume: the docs show the field per model, and only models that list a type accept it. The same row lists supported_durations and supported_resolutions.
What should the first frame look like?
Match the aspect ratio you want for the clip. The video catalog lists the ratios each model accepts, such as 16:9, 9:16, and 1:1. Keep the still free of text you cannot afford to see drift, because the video model animates the whole frame. After the job completes, download from the content URL and review the clip next to the still. See Video generation for the fields.
Sources
Related posts
More in Use cases
- ADA Title II April 26, 2027: caption course videos with an API
ADA.gov sets WCAG 2.1 AA with a 2027 deadline for larger public bodies. See how to burn captions into lecture clips with Sume and what it leaves undone.
- Add a cold open to a YouTube video: move the best 10 seconds first
Put your best 10 seconds at the start of a video: detach audio once, then one Timeline 1.0 render with audio.parts and source_in. Plan call is free.
- Add yourself to an AI video with a reference photo (Gemini Omni)
How to put a real person into a new AI clip from a photo: what YouTube's Shorts Remix offers, and the Sume request with reference_image_urls and IMAGE_REF tags.
- Adobe: do not remove Content Credentials. Check before you trim a clip
Adobe's Gen AI guidelines say users must not remove, alter or disable Content Credentials. Before a trim or filter on Sume, test whether your file keeps them.
Written by Sume