ARTICLE

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

  1. Catalog row: SKU + provider + model_id + route (Batch | Responses | sync Image API) + optional batch_job_id.
  2. OpenAI is not a string swap: gpt-image-1 supports Batch and Responses; gpt-image-2.5-flare supports Batch but not Responses per model pages—I’ve seen Bubble workflows break after a model-only change.
  3. Cost: per-image (gpt-image-1) vs token-based image pricing (2.5-flare)—re-estimate before large reruns.
  4. 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_id to chosen 2.5-*; align route (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.1 after 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-1 rows 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.

← All articles