Embeddings
Vectors in the OpenAI shape, with the provider's own embeddings and the charge on every response.
Request
The OpenAI shape, so any OpenAI SDK's embeddings call works unchanged.
Response
The vectors are the provider's, one per input, in input order.
Every JSON response carries the same yelno block a chat response does: request_id, provider, model, endpoint_id, attempts and cost. cost is {state: "final", currency, customer_nanos} when the provider reported the cost with the response, or {state: "pending", currency, note} when it reports it later — the charge then settles once. Errors use the standard error envelope; upstream text never reaches you.
Sending a model to a route it is not served on answers 422 capability_unsupported with code: "operation_unsupported" and a message naming the route that serves it. Every model in the catalog shows its type and route.