Veo 3.1 preview ids shut down October 22: a swap checklist
Three Veo 3.1 preview ids end on October 22, 2026, and Google points to gemini-omni-1.1-flash. A request translator and the Sume model id for the same family.

Google's deprecations page lists veo-3.1-lite-generate-preview, veo-3.1-generate-preview and veo-3.1-fast-generate-preview as shutting down on October 22, 2026, with gemini-omni-1.1-flash as the recommended replacement. That is 17 days after 2026-10-05. Sume's catalog does not carry Veo 3.1, but it does carry the Omni model under the id gemini-omni-flash-1.1.
What the page says
Veo 3.0 and 2.0 ids already shut down on June 30, 2026, and the older 3.0 previews on November 12, 2025. The Omni Flash row shows no shutdown date announced. Note the id order differs by product: Google writes gemini-omni-1.1-flash, Sume writes gemini-omni-flash-1.1.
| Google id | Shutdown date | Recommended replacement |
|---|---|---|
| veo-3.1-lite-generate-preview | 2026-10-22 | gemini-omni-1.1-flash |
| veo-3.1-generate-preview | 2026-10-22 | gemini-omni-1.1-flash |
| veo-3.1-fast-generate-preview | 2026-10-22 | gemini-omni-1.1-flash |
| veo-3.0-generate-001 | 2026-06-30 | veo-3.1-generate-preview |
Check each feature before you swap
Veo takes 4, 6 or 8 seconds, so every Veo duration fits inside Sume's 3 to 10 second Omni range. Veo reference images top out at three and Omni on Sume allows ten. Two things do not carry over: Veo's video extension (Sume exposes no extend field) and Veo's lastFrame argument, which maps to end_image_url on the Video Router or a last_frame entry in frame_images on /v1/videos.
A translator that fails loudly
The function below maps a Veo-style settings dict to a Sume body and raises on anything it cannot carry over, so a silent downgrade never ships.
def veo_to_sume(req):
if req.get("extend"):
raise ValueError("extend is not exposed on Sume's Omni row")
res = req.get("resolution", "720p").lower()
if res not in ("720p", "1080p", "4k"):
raise ValueError(f"unsupported resolution {res}")
body = {
"model": "gemini-omni-flash-1.1",
"prompt": req["prompt"],
"duration": int(req.get("seconds", 8)),
"resolution": res.upper() if res == "4k" else res,
"aspect_ratio": req.get("aspect_ratio", "16:9"),
}
if body["aspect_ratio"] not in ("16:9", "9:16"):
raise ValueError("Omni takes 16:9 or 9:16 only")
frames = []
if req.get("image"):
frames.append({"type": "image_url", "frame_type": "first_frame",
"image_url": {"url": req["image"]}})
if req.get("last_frame"):
frames.append({"type": "image_url", "frame_type": "last_frame",
"image_url": {"url": req["last_frame"]}})
if frames:
body["frame_images"] = frames
return body
print(veo_to_sume({"prompt": "A kite over dunes", "seconds": 6, "resolution": "1080p"}))
Cutover week plan
Because the shutdown date applies to the preview ids, an old id that works today may return an error after the date. A test that calls the old id on the 23rd would be a useful tripwire in staging.
- Day 1: list every place that sends a Veo preview id, including cron jobs and staging.
- Day 2: run your ten worst prompts through both ids and keep the outputs.
- Day 3: switch the default and keep the old id behind a flag until the 22nd.
- After the 22nd: delete the flag and the old id from config.
Cost and cutover
Move the traffic in a weekend, not on the 22nd. Run both ids in parallel, compare outputs on your ten worst prompts, and switch the default. On Sume the Omni 1080p tier lists at $0.15 per second and bills $0.1875 per second before cent rounding, so an 8-second clip is $1.20 list and $1.50 billed. See the Video Router for the catalog.
Sources
Related posts
More in Models
- Video Router 'accepts a duration of at most N seconds': ceilings
The 400 names the model's own ceiling: 30 s on seedance-2.5 and wan-3.0, 15 s on most others, 10 s on gemini-omni-flash-1.1. Table of every floor and ceiling.
- Gemini Omni video_url edit: the two 400s and how to avoid them
video_url on Video Router means edit, and only gemini-omni-flash-1.1 accepts it. Sending frames or references with it, or another model, gives a 400.
- Wan 3.0 box-selection editing: Sume offers Omni video_url edit instead
Alibaba lists box-selection editing for Wan 3.0. Sume documents no box field for it; its edit route is Gemini Omni Flash 1.1 video_url at $0.125 a second.
- Wan 3.0 is a closed beta and API, not open weights: a Sume call
Alibaba's Wan 3.0 README points to wan.video and QwenCloud, not downloadable weights. Sume lists wan-3.0, 2 to 30 s. The request shape on Sume.
Written by Sume