Create Embeddings

POST/v1/embeddings

Generate vector embeddings. Same routing pattern as chat — prefix the model ID with the provider. Falls back to hash-based pseudo-embeddings if no provider key is configured.

Supported Embedding Models

ProviderModel IDDimensionsRequires Key
OpenAIopenai/text-embedding-3-small1536OPENAI_API_KEY
OpenAIopenai/text-embedding-3-large3072OPENAI_API_KEY
Geminigemini/text-embedding-004768GEMINI_API_KEY
HuggingFacehuggingface/sentence-transformers/all-MiniLM-L6-v2384HUGGINGFACE_API_KEY
HuggingFacehuggingface/sentence-transformers/all-mpnet-base-v2768HUGGINGFACE_API_KEY

Request Body

ParameterTypeDescription
inputRequiredstring | string[]Text or array of texts to embed (max 100 texts, 8192 chars each)
modelstringdefault: huggingface/sentence-transformers/all-MiniLM-L6-v2Embedding model ID. Prefix determines provider.

Example

curl -X POST https://api.aivorylabs.in/v1/embeddings \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": "What is the meaning of life?",
    "model": "openai/text-embedding-3-small"
  }'

Response

Returns an OpenAI-compatible response with embedding vectors and token usage.

{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "index": 0,
      "embedding": [0.0023, -0.0198, ...]
    }
  ],
  "model": "huggingface/sentence-transformers/all-MiniLM-L6-v2",
  "usage": {
    "prompt_tokens": 7,
    "total_tokens": 7
  }
}