Embeddings
Turn text into vectors, in the OpenAI embeddings shape. Each request is admitted, held and settled like a chat request, and billed on input tokens only.
Body
application/json, up to 1 MiB; unknown fields refused- modelstringrequired
A certified embedding model, such as
openai/text-embedding-3-small.GET /v1/modelslists the ones your key may use withtype: "embedding". A vendor's own name (text-embedding-3-small) works too, as does a team alias that names an embedding model. A chat model is refused with400 invalid_request. - inputstring | string[] | number[] | number[][]required
One text, up to 2,048 texts, or the same as token ids. Texts can't be empty. The whole request is limited to 1 MiB.
- dimensionsintegeroptional
Shorter vectors, on models that support it: 1 to 8,192. Passed to the provider as given.
- encoding_formatfloat | base64optional
Defaults to
float. - userstringoptional
Your end user, recorded for attribution and per-end-user Directives, and not forwarded.
- ibobjectoptional
tags(up to ten) andsession, as on chat completions. Not forwarded. - providerOptionsoptional
Accepted for compatibility with AI SDK clients, and not forwarded.
Headers
- Authorizationstringrequired
Bearer ib_live_…, or the key inx-api-key. See Authentication. - X-Client-Request-IDstringoptional
Your own correlation id, recorded on the receipt.
- ib-sessionstringoptional
Groups the request with others in Logs, such as the batch it belongs to.
- ib-userstringoptional
Your end user, up to 256 characters; wins over the body's. See End users and tags.
- ib-tagsstringoptional
Comma-separated tags for cost breakdowns, at most ten with
ib.tags. Never sent upstream.
Notes
- Failoveroptional
If a provider fails before answering, the request is tried once on another certified provider of the same model. It never moves to a different model, because vectors from different models cannot be compared.
- Costoptional
The hold assumes one token per two characters, and settles at what the provider billed. Look up the receipt with
GET /v1/requests/:idusing theX-Request-IDresponse header. - Directivesoptional
Model and provider allowlists, budgets, rate limits,
maxInputTokens,maxRequestChargeUsdandrequireZdrapply. A team that requires zero data retention is routed only to providers that offer it. The estimated input counts againsttokensPerMinute. - Limitsoptional
A call has 60 seconds. Responses are not streamed, and Idempotency-Key is not supported here.