Veo 3.1 preview ends October 22: what to change in each request
Google retires three Veo 3.1 preview ids on October 22, 2026 and names Omni as the replacement. A field-by-field list of what changes, and the Sume id to send.

Google's deprecations page lists veo-3.1-generate-preview, veo-3.1-fast-generate-preview and veo-3.1-lite-generate-preview with an October 22, 2026 shutdown and gemini-omni-1.1-flash as the replacement (Google deprecations, read 2026-10-09). If you called those ids directly, you need a new model id and a new length range, not only a rename. On Sume the same Omni model is the catalog id gemini-omni-flash-1.1, sent to POST /v1/videos.
Which Google ids end, and when?
The page also shows older Veo 2 and Veo 3 ids that already ended on June 30, 2026, and no shutdown date for gemini-omni-1.1-flash.
| Model id | Shutdown | Replacement |
|---|---|---|
| veo-3.1-generate-preview | October 22, 2026 | gemini-omni-1.1-flash |
| veo-3.1-fast-generate-preview | October 22, 2026 | gemini-omni-1.1-flash |
| veo-3.1-lite-generate-preview | October 22, 2026 | gemini-omni-1.1-flash |
| gemini-omni-flash-preview | October 22, 2026 | gemini-omni-1.1-flash |
| gemini-omni-1.1-flash | No date announced | - |
What changes in the request?
Google's Veo 3.1 page lists lengths of 4, 6 or 8 seconds, with reference images up to three. Google's Omni page lists 360p, 720p (default), 1080p and 4K, and 16:9 or 9:16. Sume's Omni row takes 3 to 10 seconds, so any Veo length stays valid.
- Model id: send
gemini-omni-flash-1.1to Sume, not the Google id. - Length:
durationis whole seconds from 3 to 10. - Audio: Omni on Sume always generates audio, and the API rejects
generate_audio: false. - References: Sume accepts up to 10 images and up to 3 reference clips of 3 seconds each, so three Veo reference images fit.
- Edits: send a clip as
video_urland describe the change in the prompt.
Does Sume list Veo itself?
No. The Sume video catalog does not list a Veo id (catalog read 2026-10-09). Read GET /v1/videos/models for the live list before you pin anything, as the video generation docs advise.
What does one request look like?
An 8-second 720p clip that you ran on Veo 3.1 Fast becomes the call below. At Sume's 720p rate of $0.125 a second it reserves and bills $1.00.
curl -X POST https://api.sume.com/v1/videos \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: veo-swap-001" \
-d '{"model":"gemini-omni-flash-1.1","prompt":"A ceramic mug on a desk, slow push-in, soft morning light","duration":8,"resolution":"720p","aspect_ratio":"16:9"}'Sources
Related posts
More in Developers
- Vercel AI SDK chunkMs timeouts and a 55 s Sume jobs_wait
ai@7.0.136 stops chunkMs and firstChunkMs when the model response ends. stepMs still covers the step, so size it for a Sume jobs_wait slice of up to 55 s.
- Verify a Sume video callback signature in Python, empty secret refused
A short stdlib Python check for x-sume-webhook-signature on a /v1/videos callback: HMAC SHA-256 over timestamp.raw_body, rotated sume-v1 entries accepted.
- Verify a Sume webhook in Python with the standard library only
Check the sume-v1 HMAC in Python without a package: raw body, timestamp window, two signatures during rotation, and a refusal of an empty secret. 20 lines.
- The resolution enum has 8 values, but each Sume model takes 3 or 4
The /v1/videos resolution enum lists 360p to 4K. Wan, Seedance, H3, H3 Max and Omni each take a subset. Check supported_resolutions and what each extreme costs.
Written by Sume