Gemini-3-pro-image-preview returns 429 RESOURCE_EXHAUSTED on new Vertex AI project (but works fine on the old one)

I recently migrated from one GCP project to another (both under different billing accounts). After migration, gemini-3-pro-image-preview consistently returns 429 RESOURCE_EXHAUSTED on the new project, while it works perfectly on the old one.

Setup:

  • old project: project1 — image generation works fine;
  • new project: project2 — instant 429 on every request;
  • both projects use Vertex AI (vertexai=True) with location=global;
  • authentication: Application Default Credentials (service account);
  • SDK: google-genai (Python).

What I’ve verified:

  • aiplatform.googleapis.com is enabled on both projects;
  • billing is active on the new project;
  • the model is recognized (returns 429, not 404);
  • regional endpoints (us-central1, us-east4, europe-west1) return 404 — model is global-only;
  • other models work fine on the new project: gemini-3-flash-preview (text), gemini-2.5-flash-image (image generation);
  • no organization policies blocking AI/ML services (at least I don’t see anything suspicious);
  • the quota global_generate_content_requests_per_minute_per_project_per_base_model shows no entry for gemini-3-pro-image-preview on either project, yet it works on the old one.

Minimal reproduction:

from google import genai
from google.genai import types

client = genai.Client(vertexai=True, project="project2", location="global")
response = client.models.generate_content(
    model="gemini-3-pro-image-preview",
    contents="Generate a simple red square.",
    config=types.GenerateContentConfig(response_modalities=["IMAGE", "TEXT"]),
)

Error: google.genai.errors.ClientError: 429 RESOURCE_EXHAUSTED. {‘error’: {‘code’: 429, ‘message’: ‘Resource exhausted. Please try again later.’}}

Yet, again, it does work for project1.

The question is: how do I enable/provision gemini-3-pro-image-preview for a new project? Is there a specific enablement step required for this preview model on new projects? It might be that I did something for the old project, but I can’t remember what exactly it was.

I am currently running into a similar issue with some infra and services I am working on. I get a similar issue and I believe it is a minimal limited quota bottleneck that I have to reach out to google infra support to get them to increase for a particular model /region for me? Not sure.