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.

Hello!

Did you guys get any feedback regarding this? Were also experiencing this issue at our side.

Br

Nichlas