Five image, video and research ids changed status in a single fortnight. The Gemini API stopped serving the three Veo 3.1 preview ids on 22 October 2026; OpenAI shut down gpt-image-1 on 23 October; Google's Deep Research Pro preview agent shut down the same day; xAI serves grok-imagine-image-quality with a different model from 2 November; and Google deprecated Nano Banana 2 without a date123. A shut-down id fails; a retired-but-redirected id keeps answering with something else. This guide lists every id, the replacement each vendor names, the parameter changes that break working code, and a checklist for the move.
What changed, id by id
| Id | Where | Date | What happens | Vendor's replacement |
|---|---|---|---|---|
veo-3.1-generate-preview | Gemini API | 22 Oct 2026 | Shut down | gemini-omni-1.1-flash1 |
veo-3.1-fast-generate-preview | Gemini API | 22 Oct 2026 | Shut down | gemini-omni-1.1-flash1 |
veo-3.1-lite-generate-preview | Gemini API | 22 Oct 2026 | Shut down | gemini-omni-1.1-flash1 |
gemini-omni-flash-preview | Gemini API | 22 Oct 2026 | Shut down | gemini-omni-1.1-flash1 |
gpt-image-1 | OpenAI API | 23 Oct 2026 | Shut down | gpt-image-2.5-sunburst or gpt-image-2.5-flare2 |
deep-research-pro-preview-12-2025 | Gemini API agent | 23 Oct 2026 | Shut down | deep-research-preview-04-20261 |
grok-imagine-image-quality | xAI API | 2 Nov 2026 | Served by grok-imagine-image-2.0 at quality low | None required; the slug keeps answering3 |
gemini-3.1-flash-image (Nano Banana 2) | Gemini API | No date | Deprecated | gemini-nano-banana-2.11 |
gpt-image-1.5, gpt-image-1-mini, chatgpt-image-latest | OpenAI API | 1 Dec 2026 | Scheduled shutdown | gpt-image-2.5-sunburst or gpt-image-2.5-flare2 |
Three of these deserve a second look.
Veo is gone from the Gemini API, not from Google. The video generation page says the Veo 3.1 preview "was shut down on October 22, 2026" and tells you to migrate to Gemini Omni Flash "or the GA models available through the Gemini Enterprise Agent Platform"4. If you call Veo through Vertex AI or another platform, that platform's own dates apply.
OpenAI's image retirement comes in two waves. gpt-image-1 is marked "Shut down" on its model page5, and the 1.5 generation, the mini model and chatgpt-image-latest follow on 1 December with the same two replacements2. Doing the migration once, to 2.5, covers both dates.
The xAI change is silent. From 2 November, requests to grok-imagine-image-quality "will be served by grok-imagine-image-2.0 with quality set to low, with no change to the request or response shape and at a lower per-image price"3. Nothing fails. The image is made by a different model at a different quality, and a test that checks only for a 200 will pass.
gpt-image-1 to GPT Image 2.5: what breaks
Both replacements are token-priced and share rates: $5 per million text input tokens, $8 per million image input tokens and $30 per million image output tokens, with image output at $15 under Batch67. OpenAI describes Sunburst as its most capable model "for workflows where editing precision matters most" and Flare as its "fastest model for high-quality, everyday image generation"68.
| Setting | gpt-image-1 | GPT Image 2.5 Sunburst and Flare |
|---|---|---|
| Quality values | low, medium, high (earlier GPT Image models go up to high) | low, medium, high, xhigh, max, auto; default auto7 |
| Sizes | Priced at 1024x1024, 1024x1536, 1536x10245 | Same three recommended, plus custom WIDTHxHEIGHT in multiples of 16, aspect between 1:3 and 3:1, edges up to 3840 px, 655,360 to 8,294,400 pixels; above 2560x1440 experimental7 |
| Transparent background | Not covered on the pages read; test your current output | background: "transparent" with png or webp7 |
| Price shape | Per-image prices published per quality and size5 | Tokens; OpenAI notes the GPT Image 2 calculator does not estimate 2.5 token use6 |
What this means in code:
- A hard-coded quality map still works, because
low,mediumandhighremain valid. But the default moved toauto, so a request that omittedqualitymay now be rendered at a different setting. Set it explicitly. - Cost per image is no longer a lookup. OpenAI warns that "equal token rates don't mean equal cost per image: token consumption can differ by model and quality setting"7. Read
usageon real requests before you update a per-image price in your product. - Input fidelity. OpenAI's guide says that for
gpt-image-2you should omitinput_fidelity, because the model processes every image input at high fidelity7. If yourgpt-image-1edit calls set it, test what the 2.5 models do with it before shipping. - Latency. The guide still warns that complex prompts may take up to 2 minutes7; keep your timeouts generous on
xhighandmax.
Veo 3.1 preview to Gemini Omni Flash: what breaks
This one is a rewrite, not a rename.
- A different API. Omni Flash is called with
client.interactions.createandmodel: "gemini-omni-1.1-flash". The SDK exposesinteraction.output_video; over REST the video arrives as base64 data inside thestepsarray, under amodel_outputstep9. - Two aspect ratios.
aspect_ratiotakes"16:9"(the default) or"9:16"9. Anything else in your old requests has to change. - Resolution is a different control.
resolutioninresponse_formattakes360p,720p(default),1080por4k, and the two highest are generated by upscaling9. - No negative prompt. Omni Flash does not support system instructions, temperature,
top_p, stop sequences or negative prompts; Google suggests putting negatives in the regular prompt, such as "Do not do X"9. - Extension and inputs have limits. Videos extend by 10 seconds at a time up to 40 seconds; uploaded input videos for editing or extension must be 10 seconds or less; video references are limited to 3 clips of up to 3 seconds; editing or extending uploaded videos is not available in the EEA, Switzerland and the UK9.
- Billing by output tokens. Video output is $17.50 per million tokens, calculated at 5,792 tokens per second of 720p video, which Google says is about $0.10 per second under Standard pricing10.
Omni Flash also does things Veo did not: Google's release notes list extension, first-and-last-frame interpolation and resolution control at its GA on 27 August11. Treat the move as a new model to qualify, with your own prompts, not as a drop-in.
Nano Banana and Deep Research
Nano Banana 2.1 (gemini-nano-banana-2.1) went GA on 6 October as an update to Nano Banana 2, adding wide and panoramic aspect ratios (1:4, 4:1, 1:8, 8:1) at 1K, 2K and 4K; the same note deprecated gemini-3.1-flash-image with no shutdown date11. Google lists $30 per million image output tokens, which it equates to $0.0336 per 1K image, $0.0504 per 2K and $0.113 per 4K10. There is no deadline yet, which is exactly when a migration is cheapest.
For Deep Research, the change is the agent parameter in interactions.create: from deep-research-pro-preview-12-2025 to deep-research-preview-04-2026, which Google describes as designed for speed and streaming to a client, or deep-research-max-preview-04-2026 for maximum comprehensiveness11.
A migration checklist
- Find every caller from traffic first, then code, configuration and stored settings. Search for the literal ids above, including in job payloads queued before the dates.
- Pick the replacement per workload, not per model: Sunburst for precise edits, Flare for volume; Omni Flash for video; Nano Banana 2.1 for Gemini images.
- Rewrite the request, not just the model string: quality values and the
autodefault, custom sizes, the Interactions API and its aspect ratios, negatives moved into the prompt. - Re-price on real requests. Token-priced image and video models have no fixed per-image price; read
usagefrom a sample of your own prompts. - Re-check output, not status codes. Especially for
grok-imagine-image-quality, where the same request returns a different model's image from 2 November. - Diary the next dates: OpenAI's 1 December image shutdowns, and any shutdown date Google sets for Nano Banana 2.
- Put the model behind a name you control, so the next retirement is a configuration change.
Refusing retired models by name with INFRO
INFRO is a control plane in front of the provider accounts you already hold; each provider bills you directly, and INFRO's charge is a software subscription.
Its model catalog records vendor retirements from the vendors' own deprecation pages, including openai/gpt-image-1 (23 October) and google/veo-3.1, -fast and -lite (22 October, for Google's own API). Before a shutdown, GET /v1/models carries a retirement object and an organization that sent the model in the last 30 days gets a model.retiring alert naming the keys and projects that called it. From 00:00 UTC on the shutdown date, a request for the model is refused before any provider call with 404, type model_not_found, code model_shut_down, and a body naming the shutdown_date and the vendor's replacement. INFRO never answers with a different model on your behalf. Where the retirement covers one provider only, as with Veo on the Gemini API, a request still goes to another of your connections that serves the model.
Two limits to state plainly. INFRO cannot refuse what the vendor keeps serving: grok-imagine-image-quality is not a shutdown, xAI answers it with another model, and INFRO's catalog has no retirement for it; traffic changes flag a connection that starts answering with a model id it had not reported before, which only helps if the provider reports the new id. And INFRO does not serve Google's Deep Research agents, so that change is yours to make directly. For code that should not change at the next retirement, call a route under a name of your own and point its target at the replacement.
