Project: VPS-n8n / gen-lang-client-0007654384 — Tier 3 (paid, prepaid billing)
Model: gemini-embedding-001 via generativelanguage.googleapis.com
First occurrence: 1 September 2026, ~06:51 UTC — nothing before that date.
Since this morning, embedding requests sent to the Gemini Developer API are intermittently rejected with 429 RESOURCE_EXHAUSTED. The quota named in the error belongs to Vertex AI (aiplatform.googleapis.com), not to the Gemini API — and that service is not even enabled on my project.
Exact error
HTTP 429
{
"error": {
"code": 429,
"message": "Quota exceeded for aiplatform.googleapis.com/global_embed_content_requests_per_minute_per_base_model with base model: gemini-embedding. Please submit a quota increase request. https://cloud.google.com/vertex-ai/docs/generative-ai/quotas-genai.",
"status": "RESOURCE_EXHAUSTED"
}
}
Endpoints called, with a Gemini API key created in AI Studio and no Vertex AI credentials anywhere in my stack:
POST https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-001:embedContent
POST https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-001:batchEmbedContents
My project is nowhere near its limits
(a) AI Studio rate-limit dashboard, last 28 days, Gemini Embedding: RPM peak 986 / 20,000 (4.9%), TPM peak 610,090 / 20,000,000, RPD 3,960 / unlimited.
(b) Cloud console, generativelanguage.googleapis.com, “Quotas and system limits”, 1,963 quotas listed: 0 quotas currently above 90%, and 0 quotas whose 7-day peak exceeded 90%.
(c) aiplatform.googleapis.com is not enabled on the project — the console offers an “Enable” button for it.
So requests authenticated with a Gemini API key, sent to the Gemini API, from a Tier 3 project running below 5% of its documented embedding limit, are being metered against — and rejected by — a Vertex AI quota belonging to a service that is disabled on that project.
Rejection timestamps (UTC, 1 September 2026)
Explicit 429 responses at 10:00:58, 11:00:58, 12:00:58 and 12:12:04.
Earlier failures against the same quota, surfaced through a client library that silently converted the failed response into empty embedding vectors: 06:51:52, 06:52:52, 07:28:02, 07:28:50, 08:02:59, 08:06:55, 08:10:53, 09:15:49, 09:36:55.
A single-string embedContent request succeeded at 12:20:06, so the condition is intermittent rather than a daily cap.
The call rejected at 12:12:04 was a single embedContent request carrying one 240-character string, with no other embedding traffic from my project in flight at that moment. One small request should not exhaust a per-minute quota on a Tier 3 project.
Questions
(1) Why are Gemini Developer API embedding requests metered against aiplatform.googleapis.com/global_embed_content_requests_per_minute_per_base_model?
(2) What limit is actually applied to my project on that metric? It appears neither in the AI Studio rate-limit dashboard nor in any Cloud console quota page for my project.
(3) Does a batchEmbedContents call containing N contents count as 1 request or as N requests against that metric?
(4) Can the metering be corrected so that my project’s Tier 3 Gemini API embedding limits apply? The documentation states this Vertex quota cannot be raised from the Cloud console.
This looks like the same problem as these two reports, neither with a published resolution:
Happy to share screenshots of the three dashboards above, or any further detail you need.