Model: gemini-3.1-flash-lite Observed: August 5–6, 2026 (CEST) Region: Czech Republic
Summary
Roughly 40% of my requests fail with 429 RESOURCE_EXHAUSTED while the Cloud Console reports my quota usage at 0.03%. I have ruled out every client-side cause I can think of, including creating a brand new project on a different tier. I would appreciate any pointer as to what resource is actually being exhausted.
A secondary issue: the OpenAI-compatibility endpoint reports this same condition as 400 INVALID_ARGUMENT, which sent me looking for a malformed request for two days.
Reproduction
Minimal request, native endpoint, no SDK:
curl -X POST
“https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-lite:generateContent”
-H “x-goog-api-key: $KEY”
-H “Content-Type: application/json”
-d ‘{“contents”:[{“parts”:[
{“fileData”:{“fileUri”:“https://bb0536d6afeb6d2c8a69b249107861bf.cdn.bubble.io/f1785960536931x858895192810575800/UcTest_04A.jpeg",“mimeType”:"image/jpeg”}},
{“text”:“Describe this image in one sentence.”}
]}]}’
Run five times with 30-second gaps between calls:
attempt 1: 200
attempt 2: 429
attempt 3: 200
attempt 4: 200
attempt 5: 429
Successful responses are correct and complete. Failures return:
{“error”:{“code”:429,“message”:“Resource has been exhausted (e.g. check quota).”,“status”:“RESOURCE_EXHAUSTED”}}
What I ruled out
Quota. Cloud Console → Quotas, filtered to Gemini API, shows “Current usage > 90%: 0” across all 1,858 quotas. Request limit per model per minute: 1.25 of 4,000 (0.03%). Input token count limit per minute: 858 of 4,000,000 (0.02%). No quota is anywhere near its ceiling.
Rate limiting. AI Studio Rate Limit page: 3/4K RPM, 8.9K/4M TPM, 66/150K RPD. Adding 30-second gaps between calls improved the failure rate from ~40% to ~20% but did not eliminate it — and the very first call after a multi-minute idle period has failed on several occasions.
Billing. Tier 1, active billing account, positive prepay balance (paid by card, ~2% consumed). No warnings on the billing page.
Project and key. I created a new project with a new API key on the Free Tier. Same behaviour, same rate: 3 failures out of 5 calls.
Endpoint. Both /v1beta/models/...:generateContent and /v1beta/openai/chat/completions fail at comparable rates.
Payload. Fails identically with a 5,085-token prompt and with an 8-token ASCII prompt. Image is 1,064 tokens either way and is publicly reachable — successful calls fetch and read it correctly. maxOutputTokens raised from 1,500 to 5,000 with no effect.
Client. Reproduces from both a server-side HTTP client and plain curl on a local machine, in the same minutes.
Secondary issue: error code mistranslation
Through /v1beta/openai/chat/completions this same condition surfaces as:
{“error”:{“code”:400,“message”:“Request contains an invalid argument.”,“status”:“INVALID_ARGUMENT”}}
A 400 tells the caller their request is malformed, so I spent two days auditing my request body, prompt encoding, image URL and token limits — none of which were the problem. The native endpoint returned 429 on the first try and immediately pointed in the right direction. If the compatibility layer passed the underlying status through, this would have been a ten-minute diagnosis.
I also saw one response with an empty content: {} and totalTokenCount == promptTokenCount, i.e. a 200 with no output tokens generated. That may be the same condition surfacing a third way.
Context
AI Studio Usage shows both 400 BadRequest and 429 TooManyRequests bars over the affected period, alongside some 503 ServiceUnavailable. The status page at he official status page has reported “All Systems Operational” throughout. Third-party monitoring picked up user reports of sustained 503s across several Flash models over the same window, so I do not believe this is specific to my account.
The Cloud Billing console currently displays a banner about cost data delays affecting multiple GCP services since August 1, 2026. I mention it only in case the billing pipeline and the quota enforcement path share state — I have no evidence either way.
Question
Which resource is being reported as exhausted when every visible quota sits below 0.1%? Is there a limit dimension not surfaced in Cloud Console quotas or the AI Studio rate limit page — concurrency, per-region capacity, or vision-specific throughput?
If this is capacity-related rather than quota-related, a 503 would let callers apply the right retry strategy. A 429 implies backing off will help; in my measurements the failures arrive in clusters of up to nine consecutive calls, so it largely does not.
Happy to provide request IDs, timestamps or project numbers.