Imagen 3 GA endpoints discontinued: migrating Bubble bulk images to Gemini image and Batch API with BIAIG
A Bubble-focused checklist: swap Imagen predict/generate_images for generateContent, add a Batch API orchestration path, and keep a sync fallback during cutover—per Gemini API vs Vertex.
Context
Google is retiring Imagen-family image generation on two integration surfaces with different endpoints and model IDs. If your Bubble workflow still calls Imagen 3 GA (imagen-3.0-generate-002) or other Imagen GA endpoints on Vertex, migration is not a one-field model rename—it is a method change, payload change, and response rewrite. For bulk/non-urgent work, Google documents Gemini image models plus Batch API (Imagen is not batch-compatible on the Gemini Batch API). Same topic: Tencent Hy Image 3.5 Preview. Worth reading next: BulkImagen async batches with nano-banana-2-1:.
Facts from public docs (verify live in console/API on the day you ship):
- Gemini Developer API (
generativelanguage.googleapis.com):imagen-3.0-generate-002shutdown 2025-11-10; remaining Imagen 4 on that surface shutdown 2026-08-17, replacement gemini-3.1-flash-image (deprecations table, page updated 2026-09-24). - Vertex / Gemini Enterprise: 2026-03-24 release note deprecates Imagen generation GA endpoints (
imagen-3.0-*,imagen-4.0-*, legacyimagegeneration@*) → gemini-2.5-flash-image; update before 2026-06-30 advised. - Imagen docs on the Gemini API surface: migrate from
generate_images/:predict-style calls to generateContent on Gemini image (Nano Banana); images arrive in content parts (inline data), not Imagen-style prediction objects. Worth reading next: Gemini Nano Banana 2 for. A closer look: 29 Oct 2026 Nano Banana.
Your publication digest flags bulk migration toward Gemini image + Batch API; do not attribute that wording to Google unless the digest quote is verified separately.
BIAIG (editorial context)
BIAIG here means a dual route during cutover: (1) batch for large, non-urgent sets; (2) synchronous fallback for previews, single UI images, or when a batch job is not ready. The term was not found in public Bubble/Google documentation—confirm what it means in your stack (plugin, proxy, internal acronym).
Step 0: pick your surface
| Question | Gemini Developer API | Vertex |
|---|---|---|
| Auth | API key | OAuth / service account (often via proxy) |
| Sync images | generateContent on image models |
Vertex-equivalent generateContent flow |
| Bulk | Batch API batchGenerateContent |
batchPredictionJobs (JSONL/BQ, GCS I/O) |
| Example replacement models in docs | gemini-3.1-flash-image (post–Imagen 4) | gemini-2.5-flash-image (Imagen GA deprecation note) |

Model policy: official guidance differs by surface—avoid a single global model ID in BIAIG without surface-specific routes.
Checklist: API Connector (sync route)
- Model ID — remove
imagen-3.0-generate-002/ Imagen 4; set the image model for your surface (see table). - Method / URL — replace Imagen
generate_images/:predictwithgenerateContent(see Imagen migration and image generation docs). - Request body — GenerateContentRequest shape; batch image docs reference response_modalities including IMAGE (often TEXT+IMAGE).
- Headers / auth — API key vs Vertex JWT; pure API Connector plus Vertex inference often needs a server-side proxy (third-party integration guides describe the pattern—validate against your security model).
- Bubble JSON paths — re-initialize: read inline image bytes from parts, not Imagen
predictions[]. Old paths can look “fine” at HTTP 200 but return empty image fields. - Live verify — with context date 2026-09-28, Vertex’s 2026-06-30 advisory and Gemini API Imagen 4 2026-08-17 shutdown may already apply; test production connectors, not stale Bubble API definitions. A closer look: Meta @-reference removal: migrating ref.

Checklist: bulk route (Gemini API Batch)
Cookbook notes: Imagen / Lyria / Veo are not Batch-API-compatible; batched images use Nano Banana / Gemini image models.
- Endpoint —
POST .../v1beta/models/{model}:batchGenerateContent(not VertexbatchPredictionJobsunless you standardize on Vertex bulk). - Input — inline batch (
20MB) or JSONL via File API (2GB cap); each line is a GenerateContentRequest with IMAGE modality. - Orchestration — create job → poll or webhook → fetch output file or inline responses; docs cite ~24h SLO and ~50% of interactive pricing (confirm current pricing in Google docs).
- Bubble constraints — API Connector is synchronous; long polling and JSONL download often exceed workflow timeouts. Use backend workflows / recurring jobs, or a proxy that owns job state.
- Retries — batch job creation is documented as non-idempotent; use a dedupe key (campaign id + row hash) before resubmitting from Bubble retries. A closer look: Nano Banana 2.1: reported ~50%.

Cutover with BIAIG
- Run sync fallback (quota-limited) in parallel with batch for lists/catalogs.
- Feature-flag traffic to new parsers; log HTTP status and empty parts.
- Rollback only while a legacy Imagen endpoint still works; after shutdown, migration is forward-only.
- Do not mix Gemini API Batch and Vertex
batchPredictionJobsin one generic connector—URLs, auth, and result retrieval differ.
Sources (Scout packet)
- Gemini deprecations
- Gemini API changelog
- Generate images using Imagen (migration)
- Vertex AI Generative AI release notes
- Gemini Batch API
- Batch mode cookbook
- Vertex batch prediction API
- Gemini 2.5 Flash Image model card
- Image generation (Gemini image models)
Open questions (for your stack)
Which surface is in production? One batch standard (Gemini Batch vs Vertex jobs)? Actual error codes after shutdown? Can backend workflows tolerate the documented batch SLO? Are 2K/4K bulk jobs within payload limits for your chosen model?