Skip to main content
Embedding models convert text into a numeric vector that captures its meaning. Use them for semantic search, retrieval-augmented generation (RAG), recommendations, and clustering. The /v1/embeddings endpoint is fully OpenAI-compatible.

Creating embeddings

Discover embedding-capable models with GET /v1/models.

Parameters

/v1/embeddings accepts exactly these fields:
As with chat, unknown parameters are silently ignored; only the fields above are forwarded to the model.

Batch input

input can be a single string or an array of strings. Batching many texts in one request is the recommended way to embed a corpus: it embeds them in a single round trip and reduces requests-per-minute (RPM) pressure against your rate limits.
Results come back in data, each with an index that matches the position of the corresponding input, so you can align vectors to their source texts.

The response

Billing

Embeddings are billed on input tokens only: there are no output tokens, so usage reports prompt_tokens and total_tokens. Batching many inputs in one request is priced the same as sending them individually, while cutting your request count.
Embeddings are the highest-hit-rate surface for response caching: the output is deterministic and RAG pipelines routinely re-embed unchanged text. With caching enabled on your workspace, a repeated identical input is served from cache at 25% of the normal price; the X-Omnia-Cache: hit|miss header shows what happened.

Errors and rate limits

Embedding models have their own per-model TPM/RPM limits; exceeding them returns HTTP 429; see Rate limits. For error codes, see Errors.