Gemini Omni 1.1 Flash GA: migrate preview video workflows without losing edit state
Quick answer
Google released gemini-omni-1.1-flash as the generally available Gemini Omni Flash model on August 27, 2026. The older gemini-omni-flash-preview endpoint is scheduled to shut down on September 30, 2026. This is a model-ID migration, but a safe rollout needs more than replacing one string.
The stable model adds video extension, first-and-last-frame interpolation, and selectable 360p, 720p, 1080p, and 4K output. It uses the Interactions API for conversational editing. If your application discards an interaction ID, sends the wrong task shape, or sets store=false, a follow-up edit can lose its state even though the first generation succeeded.
Treat the migration as a media workflow contract: pin the stable model, route each job by input and intent, preserve state only where editing needs it, validate output delivery, and run the same representative clips against preview and GA before the cutoff.
Who this is for
This guide is for developers operating a video generator, creative assistant, product-demo pipeline, or automated social-video workflow on the Gemini API. It focuses on the API model gemini-omni-1.1-flash; it does not claim that every Gemini consumer product exposes the same controls.
For file-versus-live speech routing, use the separate Gemini 3.5 Transcribe checklist. Omni Flash produces and edits video, so its state, payload, regional, and provenance gates are different.
What changed and what did not
| Contract | GA behavior | Migration check |
|---|---|---|
| Model ID | Stable gemini-omni-1.1-flash
|
No production request still selects the preview ID |
| Preview lifecycle | Preview shuts down September 30, 2026 | Rollback stops pointing at preview before that date |
| Inputs | Text, images, and video; uploaded video for edit/extension must be 10 seconds or less | Reject unsupported duration before upload |
| Outputs | 3-10 second MP4 at 24 FPS | Validate duration, MIME type, and successful decode |
| Resolution | 360p, 720p default, 1080p and 4K upscaled | Do not label an upscale as native capture detail |
| Stateful edit | Follow-up requests use previous_interaction_id
|
Store the ID with the asset version it edits |
| Extension | Append-only, 10 seconds per extension, up to 40 seconds total | Reject prepend, middle insertion, and over-limit chains |
| Provenance | Generated videos include SynthID | Keep your own generation and source ledger as well |
Route jobs by task, not by one universal prompt
| User task | Input contract | State to retain | Fail-closed rule |
|---|---|---|---|
| Text to video | Text prompt | Final interaction ID only if edits follow | No output video means job failed |
| Image to video | Image plus motion-specific text | Source asset hash and interaction ID | Reject vague or missing motion intent |
| First/last interpolation | Two ordered images plus transition text | Both hashes and their roles | Do not treat two references as ordered frames implicitly |
| Reference to video | Declared reference assets plus prompt | Reference order and prompt declaration | Source and reference roles must not be swapped |
| Edit | Uploaded video or previous interaction plus a narrow edit | Parent asset and interaction ID | “Keep everything else the same” belongs in the acceptance test |
| Extend | Uploaded clip or previous interaction, task extend when needed |
Parent duration and extension count | Append only; stop at 40 seconds total |
Google recommends relying on prompting first and setting video_config.task only when intent remains ambiguous. If you do set it, the documented values are text_to_video, image_to_video, reference_to_video, edit, and extend.
A six-stage migration workflow
1. Freeze the current contract
Record the preview model ID, SDK version, API route, request schema, delivery mode, region, representative inputs, and accepted outputs. Keep media hashes rather than private customer assets in the migration log.
2. Add GA behind an explicit route
Create a server-side model alias that resolves to gemini-omni-1.1-flash. Do not let a client choose arbitrary model strings. Route only a low-risk cohort to GA while preview remains available for comparison.
3. Separate durable editing from fast one-shot generation
For stateful editing, retain the returned interaction ID and keep storage enabled. For a one-shot job, background=false, store=false, and stream=false can reduce overhead, but store=false means a later previous_interaction_id edit is unavailable. Make that trade-off an explicit product mode.
4. Normalize output handling
The SDK exposes a convenience output_video field, while raw REST responses place video content in the steps array. Decode and verify the MIME type in both paths. For output larger than 4 MB, prefer URI delivery rather than assuming base64 payloads will fit every proxy.
5. Test limits and regional policy
Uploaded-video editing and extension have regional restrictions in the EEA, Switzerland, and the United Kingdom. Uploaded clips are limited to 10 seconds; extension appends to the end and cannot insert into the middle. Voice editing, uploaded audio references, YouTube media sources, and several generation parameters are unsupported. Reject these combinations before billing a generation attempt.
6. Promote with evidence and retire preview
Compare GA and preview using the same task pack. Promote only when state recovery, task routing, duration, resolution, delivery, safety handling, and rollback all pass. Remove the preview fallback before September 30 so an outage does not activate an endpoint that is about to disappear.
Eight acceptance canaries
| Canary | Expected evidence |
|---|---|
| Stable ID | Every promoted request records gemini-omni-1.1-flash
|
| REST versus SDK | Both paths produce a verified MP4 without assuming the same response field |
| Stateful edit | A narrow second-turn edit keeps unmentioned scene elements stable |
| Stateless mode | A store=false job is visibly marked non-editable |
| Interpolation order | First and last images appear in the intended order |
| Extension ceiling | Four 10-second segments can reach 40 seconds; the next append is rejected |
| Resolution | 360p draft and 720p final match routing; 1080p/4K are labeled upscaled |
| Regional/unsupported input | Restricted or unsupported requests stop before model invocation |
Decision tree
Does the user need to edit or extend a previous result?
no -> use a one-shot route; store=false is allowed if the UI marks it non-editable
yes -> preserve the interaction ID and stored asset lineage
-> is the source an uploaded video?
yes -> check region and the 10-second input limit
no -> use the previous interaction as the parent
-> is the task append-only and total duration <= 40 seconds?
no -> reject or use a separate editing workflow
yes -> run the GA canary and verify the new asset
Common mistakes
- Replacing the model ID without testing stored edit state.
- Calling 1080p or 4K output native detail when the documentation describes it as upscaled.
- Assuming an uploaded clip can be extended in the middle or prepended.
- Sending two images without preserving which is the first and which is the last frame.
- Using the SDK-only
output_videofield in raw REST handling. - Turning off storage for speed and later promising conversational editing.
- Treating Gemini app, Flow, Enterprise Agent Platform, and Gemini API availability as identical.
- Reporting safety-filtered or region-rejected requests as model-quality failures.
Copyable migration record
date / operator / SDK / API route:
preview model / GA model / cutoff date:
task class / input hashes / source-reference roles:
store / background / stream / delivery:
parent interaction ID / output interaction ID:
duration / FPS / requested resolution / upscale label:
region and unsupported-input preflight:
eight canary results / promotion cohort / rollback:
Building something? Take a 60-sec game break. Score to rank your product or profile on tapto.top and get more exposure—free, no signup.
FAQ
Can I keep using gemini-omni-flash-preview as rollback?
Only temporarily. Google lists September 30, 2026 as its shutdown date. A durable rollback must target a supported route and preserve the same input/output contract.
Does store=false make generation fail?
No. It can be useful for a one-shot synchronous job, but that result cannot be edited later through previous_interaction_id. Your product should distinguish disposable output from an editable project.
Can Omni extend any uploaded video to any length?
No. Uploaded input for editing or extension is limited to 10 seconds, extension appends to the end, and documented extension chains stop at 40 seconds total. Regional and dialogue restrictions also apply.
Sources
- Gemini API release notes
- Gemini Omni Flash model page
- Gemini Omni generation and editing guide
- Gemini model deprecations
- Google announcement for Gemini Omni 1.1 Flash
Originally published at IndieSeek.
Top comments (0)