Moving Veo scripts to Gemini Omni: an Interactions API checklist
Veo 3.1 previews shut down Oct 22. Omni uses the Interactions API, task values, base64 or uri delivery and different limits. A checklist for rewriting scripts.

Veo 3.1 preview ids shut down on October 22, 2026, and Google names gemini-omni-1.1-flash as the replacement. It is not a drop-in: Omni runs through the Interactions API, picks its mode with a task value (text_to_video, image_to_video, reference_to_video, edit or extend), returns base64 by default, and drops several parameters. Work through the checklist below, then re-price: Google's pricing page puts Omni at about $0.10 per second at 720p.
What changes
Facts come from Google's Omni guide, deprecations page and models page.
| Area | Omni on the Gemini API |
|---|---|
| Model id | gemini-omni-1.1-flash (Stable) |
| API | Interactions API; multi-turn via previous_interaction_id |
| Mode | task: text_to_video, image_to_video, reference_to_video, edit, extend |
| Extension length | Extending an input video continues it by 3 to 10 seconds |
| Resolution | 360p, 720p default, 1080p and 4k upscaled |
| Aspect ratio | 16:9 or 9:16 |
| Delivery | base64 by default (about 4 MB max) or uri |
| Not supported | temperature, top_p, stop sequences, system instructions, negative prompts |
| Watermark | SynthID on all output |
Order of work
- Inventory every call that names a veo-3.1 preview id; those stop working on October 22.
- Map each call to a task value. Scene extension and last-frame control now live inside Omni.
- Delete parameters Omni does not accept, then rerun your golden prompts and compare the clips by eye.
- Switch to
delivery: urifor any result larger than 4 MB so you do not hit the base64 size limit. - Re-price with the per-second rate and your real clip lengths.
The Sume equivalent
If you would rather keep a single HTTP call, Sume's Video Router serves Omni as gemini-omni-flash-1.1 with one request shape: image_url, end_image_url, reference_image_urls, reference_video_urls or video_url for edit, and no separate task field. Output is always a Sume job whose artifact URL you read from Jobs and results. Sume does not offer Veo itself, so that is the migration, not a mirror.
Sources
- Google AI for Developers: Generate and edit videos with Gemini Omni Flash (read 2026-10-04)
- Google AI for Developers: Deprecations (read 2026-10-04)
- Google AI for Developers: Gemini models (read 2026-10-04)
- Google AI for Developers: Release notes (read 2026-10-04)
- Video Router (Sume docs)
- Google AI: Gemini API pricing (read 2026-10-04)
Related posts
More in Developers
- Generate a Python client from the Sume OpenAPI JSON
Point openapi-python-client at the live Sume OpenAPI document, regenerate on each release, and keep a thin wrapper for polling, retries and the data envelope.
- List Sume Formats with GET /v1/formats: limit, next_cursor, has_more
GET /v1/formats pages with a keyset cursor and a default limit of 50. Loop on has_more and pass next_cursor back as cursor to read the whole catalog.
- GitHub Actions and Sume: secret setup and a smoke test
Store SUME_API_KEY as a GitHub Actions secret, never echo it, and run sume account get --json as a read-only smoke test in a manually triggered workflow.
- Give every Seedance 2.5 reference a role in the prompt
With up to 12 references per Sume request, say in the prompt what each one is for. Roles for images, videos and audio, and a worked reference-to-video example.
Written by Sume