Gemini API embedding rejected by an aiplatform.googleapis.com quota - Tier 3 project at 5% of its limit

Project: VPS-n8n / gen-lang-client-0007654384Tier 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.