Skip to main content
Clients send the same OpenAI embeddings body they would send to OpenAI. Auth and the consumer slug are the same as chat.
On a Private data plane, add X-AG-Gateway-Slug as in the chat snippets.

Providers

Anthropic, Gemini (AI Studio), Bedrock Claude / Nova / Titan text, and other chat-only providers do not embed. They are left out of the candidate pool. Bedrock rejects a non–Titan-embed model with a 400. Vertex embeddings ignore the chat provider_options.action — they always call the embed endpoints.

Routing

  1. The consumer’s registries are filtered to those that advertise embeddings.
  2. Model resolution and load balancing run on that pool.
  3. Pinning a registry that cannot embed is a 400, not a failover.
  4. An empty capable pool is a 503.
Attach at least one embeddings-capable registry to the consumer. A mixed chat + embeddings pool is fine: chat still uses every chat-capable member; embeddings skip the rest.