Sora ended Sept 24, Veo 3.1 previews end Oct 22: one plan for both

OpenAI's Sora API ended Sept 24 and Google's Veo 3.1 preview ids end Oct 22, 28 days later. One adapter and one Sume model id can cover both moves.

4 min readSume
All posts

Treat the two shutdowns as one migration. OpenAI's Sora API and Videos API ended on September 24, 2026, and Google's three Veo 3.1 preview model ids end on October 22, 2026. That is 28 days apart, and today (October 8) the second date is 14 days away. If your code still calls either vendor, put both behind one function and point that function at one catalog id. Sume lists gemini-omni-flash-1.1, which is the same model family Google now names as its replacement, so the swap is a model id and a base URL, not a rewrite.

The two dates side by side

Both dates come from the vendors' own deprecation tables. The OpenAI table lists the ids and the Videos API under one shutdown date and shows no replacement. The Google table lists each Veo 3.1 preview id with a named replacement.

Shutdown dates from each vendor's deprecation page, read 2026-10-08
VendorWhat is shut downShutdown dateReplacement named by vendor
OpenAIsora-2, sora-2-pro, three dated snapshots, and the Videos APISeptember 24, 2026None listed
Googleveo-3.1-generate-preview, veo-3.1-fast-generate-preview, veo-3.1-lite-generate-previewOctober 22, 2026gemini-omni-1.1-flash
GapSora end to Veo preview end28 days (6 days left in September plus 22 in October)Not applicable

What Sume lists for the replacement

Sume does not list a Sora model or a Veo model, so there is nothing to alias. What it lists is gemini-omni-flash-1.1, plus Seedance, Wan, Kling and MiniMax rows in the same catalog. Google's own video page now says to use Gemini Omni Flash as the default model for video generation, so the id Google tells Veo users to move to is the id you can call on Sume.

The Sume docs describe the row this way: 3 to 10 seconds per clip, 360p, 720p, 1080p or 4K, 16:9 or 9:16, native synced audio that is always on, and image and video references. Sume bills the provider list price times 1.25 for each output second.

  • Duration: 3 to 10 seconds per job (the Seedance 2.5 and Wan 3.0 rows go to 30 seconds).
  • Aspect ratio: 16:9 or 9:16 only.
  • Audio: always on; the API rejects generate_audio: false.
  • References: up to 10 images and up to 3 videos of 3 seconds each.

One adapter, two callers

The cheapest way to survive two deadlines is a single internal function such as make_clip(prompt, seconds, resolution) that returns a Sume job id. Your Sora callers and your Veo callers both call it. The function sends POST /v1/videos with a bare model id (Sume ids never carry a provider prefix), then polls GET /v1/videos/{jobId} until the status is completed or failed, then downloads from unsigned_urls[0].

Clamp the length inside the adapter. A Sora call that asked for a longer clip needs either a model whose range reaches it or several Omni jobs joined afterward. Check each Veo caller against the 3 to 10 second window before you switch it.

What to do this week

Search the repository for the five Sora ids and the three Veo preview ids, route them to the adapter, and run one real clip through the new path before October 22. Send an Idempotency-Key header on every submit so a retry returns the original job instead of creating a second paid one. Then remove the old keys and the old base URLs. The vendor pages above are the source for the dates; check them again before you act, because deprecation tables change.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume