Product colorway morph video: Omni first and last frame on Sume
Show a product changing color: send the white shot as first frame and the red shot as last frame to Gemini Omni Flash 1.1. A 5 s clip is $0.63 at 720p.

To make a colorway morph video, send the first colorway photo as the first frame and the second as the last frame to gemini-omni-flash-1.1, and let the prompt describe the move between them. A 5-second clip is $0.63 at 720p and $0.94 at 1080p on Sume.
Google lists first and last frame control as a feature of Omni 1.1 Flash: the model generates continuous video between two keyframes, with smooth transitions and camera movement (Google blog, read 2026-10-05). Sume exposes it as frame_images with frame_type of first_frame and last_frame.
Prepare the two frames
- Shoot or render both colorways from the same angle, with the same crop and the same light. The model fills the middle; it cannot fix a first and last frame that disagree about where the product sits.
- Use public HTTPS URLs. A frame URL that cannot be fetched fails the job with a message naming the field, as in the failure example on the Video generation page.
- Pick one aspect ratio, 16:9 or 9:16, and crop both images to it. Omni takes only those two.
Request
The Video generation endpoint takes the frames as frame_images. On the Video Router the same pair is image_url and end_image_url. If a request has both frame_images and input_references, the frames win and the request is image-to-video.
curl -X POST https://api.sume.com/v1/videos \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: colorway-017" \
-d '{
"model": "gemini-omni-flash-1.1",
"prompt": "The sneaker rotates a quarter turn as its color shifts from white to red, studio light",
"frame_images": [
{"type": "image_url", "image_url": {"url": "https://example.com/white.png"}, "frame_type": "first_frame"},
{"type": "image_url", "image_url": {"url": "https://example.com/red.png"}, "frame_type": "last_frame"}
],
"resolution": "720p",
"duration": 5,
"aspect_ratio": "9:16"
}'Price by length
Longer clips give the transition more room but cost more. For a color change, 5 seconds is usually enough; the Omni length range is 3 to 10 seconds.
| Seconds | 720p | 1080p | 4K |
|---|---|---|---|
| 3 | $0.38 | $0.57 | $1.13 |
| 5 | $0.63 | $0.94 | $1.88 |
| 8 | $1.00 | $1.50 | $3.00 |
| 10 | $1.25 | $1.88 | $3.75 |
Prompt the middle, not the ends
The two images already state what the start and the end look like, so the prompt should name only what happens between them: the camera move, the pacing and the manner of the change. "Slow quarter turn, the color blooms from the sole upward, soft studio light" gives the model something to do. Repeating "a white sneaker" and "a red sneaker" adds nothing.
Run one draft at 360p, which is $0.19 for 5 seconds, before the 1080p. If the change is abrupt in the draft, lengthen the clip, or reword the prompt to describe the pace.
What can go wrong
The most common problem is mismatched frames: a product that is centered in one image and off to the side in the other forces the model to move it, and the move can read as a glitch. Check both frames at the same crop before you pay for a 1080p render.
The second is label text. Small printed text on the product can change between the first and the last frame during the morph. If the label must stay readable, put it in both frames at the same place and verify the final clip at full size, not at the 360p draft size.
Where the clip goes
A morph clip is a good opener for a product page or a short ad: it shows two options in one move. Native audio is always on for this model, so the clip arrives with generated sound. If you want silence, there is no toggle; the API rejects generate_audio: false. Strip or replace the audio afterwards rather than sending the flag.
Why use frames rather than references
A reference image guides the look of a new clip without fixing its start or its end. A first and last frame fix both. If you want the product to start as the white shoe and end as the red shoe, only frames guarantee that. Sume treats a single reference image with no frame as reference-to-video, so send frame_images or image_url for a morph.
A batch plan
For a catalog with 12 colorways, pair them in a loop and run the 12 transitions at 360p first: 12 times $0.19 is $2.28. Review the contact sheet, then finish the winners at 1080p for $0.94 each. If 8 of 12 pass, finals are $7.52 and the whole run is $9.80.
Variants
For a line with four colorways, chain pairs: white to red, red to blue, blue to green. Each is its own clip, so three morphs at 5 seconds and 1080p are $2.82, and a Timeline can join them.
Sources
Related posts
More in Use cases
- Product-drop videos: one bulk queue or a scheduled run per drop?
Use a bulk queue when the drops are known now: up to 100 items, window 1 to 16. Use a schedule when each drop starts on a date. Pick one per series.
- Product hero orbit in one take: a Seedance 2.5 prompt and price
A prompt pattern for a continuous product orbit on Seedance 2.5: camera path, speed, lighting, end beat, plus 1080p cost for 8 to 30 seconds on Sume.
- Product photo into a new scene: Ideogram 4.5, one packshot, four moods
With references, Ideogram 4.5 on Sume edits the first image and takes up to four more as references. Use that order to put one packshot into a new scene.
- Product photo to video: first frame or reference for each SKU?
Use frame_images when the photo must open the clip, input_references when it should guide the look. Send both and Sume runs image-to-video.
Written by Sume