Gemini-3-pro-image-preview returning 400 INVALID_ARGUMENT since ~11:10 UTC Feb 13

Environment:

Issue:

All image generation requests (both text-to-image and image editing with reference images) to gemini-3-pro-image-preview started returning 400 INVALID_ARGUMENT around 11:10 UTC on February 13, 2026. Before that, requests were working (last successful at 08:04 UTC, same parameters).

Error:

{"error": {"code": 400, "message": "Request contains an invalid argument.", "status": "INVALID_ARGUMENT"}}

What we’ve confirmed:

  • The same raw request via curl to the REST API succeeds (with responseModalities: [“TEXT”, “IMAGE”] and imageConfig: {aspectRatio: “16:9”, imageSize: “2K”})

  • The Python SDK (google-genai) with the same parameters returns 400

  • No code changes between working and broken states

  • Affects ALL requests: text-to-image (no images), image editing (2-5 reference images)

  • Same API key, same parameters, same prompts that worked at 08:04 UTC

Request config (Python SDK):

  config = types.GenerateContentConfig(

      response_modalities=["TEXT", "IMAGE"],

      image_config=types.ImageConfig(

          aspect_ratio="16:9",

          image_size="2K"

      )

  )
  response = client.models.generate_content(

      model="gemini-3-pro-image-preview",

      contents=prompt,

      config=config

  )


Question:

Since the raw REST API works but the Python SDK doesn’t, is the SDK injecting additional parameters (e.g., thinking config) that are incompatible with image generation models? Was there a server-side change around 11:00 UTC today that tightened parameter validation?

Reproduction — same code, different results:

Running the exact same request 5 times in a loop:

from google import genai

from google.genai import types

client = genai.Client(api_key=“…”)

config = types.GenerateContentConfig(

  response_modalities=\["TEXT", "IMAGE"\],

  image_config=types.ImageConfig(aspect_ratio="16:9", image_size="2K")

)

response = client.models.generate_content(

  model="gemini-3-pro-image-preview",

  contents="A red cat on a fence",

  config=config

)

Results: SUCCESS, FAILED (400), SUCCESS, SUCCESS, SUCCESS

Same API key, same parameters, same prompt, same SDK version — 1 out of 5 fails randomly.

What we’ve confirmed:

  • The identical payload via curl to the REST API succeeds consistently

  • The Python SDK sends the exact same JSON body (verified by intercepting httpx.Client.send)

  • Both text-to-image (no reference images) and image editing (with reference images) are affected

  • No code changes between working and broken states

  • Over 50 failed requests logged between 08:00–12:30 UTC, all with the same generic error message

  • The error message provides no detail on which argument is invalid

Impact:

In production, this caused a ~100% failure rate for all gemini-3-pro-image-preview requests for over 2 hours (11:10–12:30 UTC), affecting both text-to-image and image editing workflows.

Request:

Could the team investigate what changed server-side around 08:00–11:00 UTC on Feb 13? The intermittent nature of the 400 on identical requests suggests a backend validation issue rather than an actual invalid argument. More detailed error messages (specifying which argument is invalid) would also help greatly with debugging.

1 Like

Flagged to the team!

1 Like

Related issue: “Quota tier: Unavailable” blocking gemini-3-pro-image-preview entirely

Environment:

  • Model: gemini-3-pro-image-preview
  • API Key: from Google AI Studio
  • Billing: Active ($64.75 spent last 28 days)

Issue:
Google AI Studio shows “Quota tier: Unavailable” for gemini-3-pro-image-preview. All requests return 429 RESOURCE_EXHAUSTED with:

ERROR:quota_project_id: Image output modality is not allowed...

This is different from the intermittent 400 INVALID_ARGUMENT above — our requests fail 100% with quota errors despite having active billing and successful usage of other Gemini models (Flash 2.0, etc.).

What we’ve confirmed:

  • Billing is active and verified
  • Other Gemini models work fine (Gemini 2.5 Flash, etc.)
  • The quota console shows “Unavailable” for the image preview tier — not 0, not a number, literally “Unavailable”
  • Cannot increase quota through Cloud Console (no request button available)

Impact:
All image generation via gemini-3-pro-image-preview blocked. Production workflows down.

Request:
Could the team check if there’s a tier/quota issue affecting projects or API keys for the experimental image models? The “Unavailable” status in AI Studio suggests this may be a backend configuration issue rather than usage limits.

Thanks for investigating! @Logan_Kilpatrick

@Logan_Kilpatrick We’re experiencing the same issue as outlined in great detail by @xsyjeon . Are there any updates the team is able to share regarding this issue? We have since transitioned to 3.1 Flash Image Preview and encounter the same problem.