LLM Gatewaydocs

Embeddings

POST/v1/embeddings

Turn text into vectors. Uses embedding-modality models (modality: "embedding" in /v1/models).

Request

bash
curl "https://api.smartapihub.com/v1/embeddings" \
  -H "Authorization: Bearer $LLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/text-embedding-3-small",
    "input": ["The quick brown fox", "jumps over the lazy dog"]
  }'
FieldTypeNotes
modelstring, requiredAn embedding model id.
inputstring or string[] (≤ 2048), requiredTexts to embed.
encoding_formatfloat | base64Default float.
dimensionsinteger ≥ 1Output dimensionality where the model supports it.
userstringEnd-user identifier.
routingobjectRouting override.

Response

json
{
  "object": "list",
  "model": "openai/text-embedding-3-small",
  "provider": "openai",
  "data": [
    { "object": "embedding", "index": 0, "embedding": [0.0123, -0.0456, "…"] },
    { "object": "embedding", "index": 1, "embedding": [0.0789, 0.0012, "…"] }
  ],
  "usage": { "prompt_tokens": 12, "total_tokens": 12, "x_llm_cost_micro": 1 }
}

Embeddings are priced by input_per_mtok (see Pricing). Streaming does not apply. The usual response headers are present.

SDK usage

typescript
const { data, usage } = await client.embeddings.create({
  model: 'openai/text-embedding-3-small',
  input: 'The quick brown fox',
});
console.log(data[0].embedding.length, usage);