Step 2 — the behaviour differences to test
Omni preview to omni 1.1 Flash. The 1.1 release adds video extension, interpolation and explicit resolution control. Defaults changed with them: if your preview-era code relied on an implicit output resolution, set it explicitly now. Our Gemini Omni developer guide from the I/O launch documents the preview's parameters; diff your calls against it, then against the 1.1 reference, and pin every parameter you previously let default. Re-run any golden-output tests: fingerprint-level differences in generated video are expected and should not fail a test, but duration and aspect ratio drift should.
2.5 Flash image to 3.1 Flash image. Prompt adherence and default style differ enough that a prompt library tuned for 2.5 needs a pass. Budget an afternoon with your top twenty prompts side by side before flipping production traffic.
Anything still on 2.0 Flash paths. Those shut down in June; if you have a fallback chain that still names them, the fallback is dead. Point it at gemini-3.6-flash or, for new work, gemini-3.8-flash, which went generally available on 2 September as the Flash model Google positions for software engineering and agents. Our 3.8 Flash migrate-or-stay analysis covers when it is worth moving from 3.7.
Step 3 — re-check cost, not just correctness
Replacement models are priced separately and the preview-to-GA move usually ends any preview pricing. Two September changes cut the other way. Agentic video understanding, released 1 September for 3.7 Flash, 3.6 Flash and 3.5 Flash-Lite, reduces token usage by up to 88% on long-form video according to Google — if you process video with a Flash model, enable it and re-measure. And gemini-3.7-flash stays on introductory pricing through 31 December 2026, which is a reason to migrate omni-adjacent text workloads there for the quarter. Put your before-and-after token counts into the AI model cost calculator and estimate new prompts with the token estimator before you change the flag.
What else shipped in the same window
For completeness, because migrations are the moment teams discover new models: gemini-3.5-transcribe and gemini-3.5-transcribe-live (26 August) for speech-to-text across more than 85 languages; gemini-3.7-flash (13 August); lyria-3.5 (3 September) for music generation with text and image input; and gemini-robotics-er-2-preview plus a streaming variant (30 July). None of these are required for the shutdown migration; all of them are candidates for the next one.
A migration pattern that survives the next round
Stop hard-coding model IDs at call sites. Put them behind a single config map keyed by capability — video_generate, image_generate, chat_fast — with the concrete ID in one place, and log the resolved ID on every request. When the next deprecation notice arrives, the change is one line and the grep above returns one file. The AI Agent Ops Bundle includes the model-registry spec and the per-model cost dashboard we use for exactly this; the MCP Server Pack carries the Gemini server config already pointed at the post-September IDs.
The eight checks before you flip traffic
A model swap that passes a smoke test and fails in production usually failed one of these. Run all eight against the replacement with production-shaped inputs, not the examples from the docs.
1. Parameter defaults. Log every request's resolved parameters on both models and diff them; anything you did not set explicitly may have changed. 2. Output shape. Duration, aspect ratio and resolution for video; dimensions and format for images; token counts for text. Assert on these, not on pixel equality. 3. Safety filter behaviour. Replacement models can block or pass prompts the preview treated differently. Run your last 500 production prompts and count the blocked ones on each side. 4. Latency at p95. A GA model is often faster on average and slower at the tail; your timeouts were tuned for the old tail. 5. Error codes. Confirm your retry logic recognises the replacement's quota and overload errors; a renamed error class silently turns a retry into a hard failure. 6. Cost per successful call. Not per request — per output you actually used, including retries. 7. Fallback chain. Trigger the fallback deliberately and confirm it lands on a model that still exists. 8. Observability. The model ID should appear on every log line and every metric so that a regression next month can be attributed in seconds.
Rollback plan
You cannot roll back to a model that has shut down, which makes this migration different from most. So the rollback target is not the old model; it is the old parameters on the new model, or a sibling. Before 30 September, run the replacement at a small percentage of traffic with the old model still handling the rest, capture the diff in outputs and cost, and fix what you find while the old ID still answers. After 30 September the only lever left is the config map: if gemini-omni-1.1-flash misbehaves for a workload, the next entry in your capability map should already name a tested alternative — for text-adjacent work, gemini-3.7-flash on its introductory pricing, or gemini-3.8-flash — rather than a preview ID nobody has exercised. Write that second entry now, while there is still time to test it against the model you are leaving.
Watching the deprecations page so you do not have to
Google publishes shutdowns on one page and communicates exact dates by email to the account owner — which in most companies is a shared inbox nobody reads. Put the page under watch instead. A weekly job that fetches it, extracts the model IDs and dates, and compares them to the IDs in your capability map turns a surprise into a ticket.
#!/usr/bin/env bash
# weekly: flag any model we use that now has a shutdown date
set -euo pipefail
curl -fsSL https://ai.google.dev/gemini-api/docs/deprecations -o /tmp/deprecations.html
grep -oE "gemini-[a-z0-9.-]+" /tmp/deprecations.html | sort -u > /tmp/retiring.txt
grep -oE "gemini-[a-z0-9.-]+" config/models.yaml | sort -u > /tmp/in-use.txt
comm -12 /tmp/retiring.txt /tmp/in-use.txt | tee /tmp/action.txt
[ -s /tmp/action.txt ] && echo "ACTION: models above appear on the deprecations page" && exit 1 || echo "clear"
Wire the non-zero exit to whatever pages you — a failing scheduled CI job is enough. The script is deliberately crude: it flags any overlap between the page and your config and lets a person read the date. The point is that the person is prompted the week the entry appears, not the week the model stops answering. Pair it with the request-level logging from the eight checks above and a shutdown becomes a one-line config change with a paper trail, which is the most anyone can ask of a vendor migration.
Quick answers
When does gemini-omni-flash-preview shut down?
30 September 2026. Replacement: gemini-omni-1.1-flash, GA since 27 August 2026.
When does gemini-2.5-flash-image shut down?
2 October 2026. Google lists gemini-3.1-flash-image-preview as the replacement; target the GA gemini-3.1-flash-image.
Are these dates final?
Google describes them as the earliest possible retirement dates and says exact dates are communicated in advance. Plan to the listed date.
Is 3.8 Flash a replacement for anything?
Not on the deprecation table. It is the new general-purpose Flash (GA 2 September 2026) and a sensible target for fallback chains that still name 2.0 Flash.
Run the grep, fix the omni and image IDs this week, and move the IDs into one config file so October's notice costs you ten minutes. Every product mentioned is available at wowhow.cloud — pay once, ship forever.
Comments · 0
Beta: comments are stored locally on your device and not visible to other readers.
No comments yet. Be the first to share your thoughts.