October's double cutover: gpt-image-1 (23 Oct) and Nano Banana 2—one bulk-job calendar in Bubble via BIAIG
OpenAI sets a hard 23 Oct 2026 shutdown for gpt-image-1; Google has deprecated gemini-3.1-flash-image with no published kill date. One Bubble runbook: freeze windows, smoke batches, provider flags, and WU-safe progress tracking.
Why one calendar beats two migration posts
I run a catalog that generates images through OpenAI and Google. Two sunsets on the calendar, one production problem: row inventory, smoke batches, provider flags, and Workload Units—not two vendor essays. Below is my Bubble-side runbook in the BIAIG line (bulk image AI generation for catalogs; Scout found no public vendor doc for the acronym—in-house methodology). Same topic: 14 Oct incident: gpt-image-2.5 Flare/Sunburst—failover.
Calendar: confirmed vs not in primary Google docs
| Window | Model / id | Scout vendor-primary read | Catalog action |
|---|---|---|---|
| 23 Oct 2026 | OpenAI gpt-image-1 |
Shutdown on OpenAI Deprecations; replacements gpt-image-2.5-sunburst or gpt-image-2.5-flare |
Hard cutover for rows on this route |
| 1 Dec 2026 | gpt-image-1-mini, gpt-image-1.5, chatgpt-image-latest |
Separate shutdown row, same page | Second freeze/smoke cycle—do not merge with 23 Oct |
| TBD | Google Nano Banana 2 → gemini-3.1-flash-image |
Deprecated 6 Oct 2026; successor GA gemini-nano-banana-2.1; Gemini Deprecations shows No shutdown date announced |
Migrate logic + smoke 2.1; do not treat 29 Oct as vendor-confirmed |
29 Oct, straight: the editorial brief cites Nano Banana 2 shutdown on 29 Oct 2026. Scout’s fetch of ai.google.dev does not list that date; ByteForward (secondary) notes an earlier 29 Oct mention may have been retracted from Google docs. Third parties are not your calendar. I keep internal “earliest” slots if the team needs them, label them unverified, and watch official release notes.
OpenAI’s 23 Oct batch includes non-image retirements—inventory every API Connector call, not only catalog image rows.
Pre-freeze: inventory and endpoint matrix
- Catalog row: SKU +
provider+model_id+route(Batch | Responses | sync Image API) + optionalbatch_job_id. - OpenAI is not a string swap:
gpt-image-1supports Batch and Responses;gpt-image-2.5-flaresupports Batch but not Responses per model pages—I’ve seen Bubble workflows break after a model-only change. - Cost: per-image (
gpt-image-1) vs token-based image pricing (2.5-flare)—re-estimate before large reruns. - Google: target
gemini-nano-banana-2.1; replay production prompts against dev keys.
Bubble runbook (ops-focused)
T−14…T−7: parallel smoke batches
- Sample 50–200 SKUs (aspect ratios, text-in-image, known failures).
- Use Schedule API workflow on a list with interval throttling (Bubble backend workflows).
- Split OpenAI 2.5 smokes from Google 2.1 smokes when payloads differ.
- Persist progress on a batch record; avoid heavy UI polling (forum pattern for large catalogs). Same topic: Fozzels October 2026: Image Flow.
T−3: freeze
- Freeze API Connector and image-field privacy changes.
- Row-level effective provider flag for per-SKU rollback.
T−0 (OpenAI 23 Oct)
- Flip
model_idto chosen 2.5-*; alignroute(often Batch-only after flare). - Watch failed calls and empty URLs—not just green repeaters.
Google track (no hard kill in primary docs)
- Gradual traffic to
gemini-nano-banana-2.1after smoke passes. - Monitor Gemini changelog for a firm shutdown announcement.
WU-safe polling
Bubble docs: ~0.1 WU per scheduled workflow, ~0.6 per server-side action, outbound API ~0.1, DB write ~0.5. Large SAWOL + per-SKU image calls spike quickly.
- Update progress from backend workflows; keep frontend reads sparse.
- Use recursive workflows when strict sequencing beats parallel SAWOL (checklist).
- SAWOL intervals do not guarantee non-overlapping calls—never double-schedule the same SKU.
Go-live checklist
- All
gpt-image-1rows mapped to 2.5-* with verified route - Batch schema validated in your OpenAI account
- Google rows on 2.1 or explicit rollback flag
- 1 Dec 2026 window booked if mini/1.5/chatgpt-image-latest remain in prod
- Batch record + alert on error-rate threshold
| Checklist item | What it is for | Scope / condition |
|---|---|---|
gpt-image-1 rows |
Map every row to 2.5-* with a verified route | All gpt-image-1 rows |
| Batch schema | Validate batch schema in your OpenAI account | Your OpenAI account |
| Google rows | Run on 2.1 | Or set an explicit rollback flag |
| 1 Dec 2026 window | Book the go-live window | If mini, 1.5, or chatgpt-image-latest remain in prod |
| Batch record + alert | Record batches and alert on error-rate threshold | Error-rate threshold |
Source boundary
Scout packet only: OpenAI deprecations/community, gpt-image-1 and gpt-image-2.5-flare model pages, Google changelog/deprecations, Bubble manual (SAWOL, WU), ByteForward as secondary on 29 Oct. Not for external publish; no invented metrics or quotes.
Open for your team: whether 29 Oct stays as internal Google planning; whether 1 Dec belongs in the same “October double cutover” story; current split of Responses vs Batch vs Gemini endpoints per row.