Skip to main content
POST
https://console.mixroute.io
/
v1
/
embeddings
curl --request POST \
  --url https://console.mixroute.io/v1/embeddings \
  --header 'Authorization: Bearer sk-xxxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "text-embedding-3-small",
    "input": "Hello, world"
  }'
{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "index": 0,
      "embedding": [0.0023064255, -0.009327292, 0.015797347, ...]
    }
  ],
  "model": "text-embedding-3-small",
  "usage": {
    "prompt_tokens": 5,
    "total_tokens": 5
  }
}

Text Embeddings

The Embeddings API converts text into high-dimensional vector representations, useful for semantic search, clustering, and RAG applications.

Endpoint

POST https://console.mixroute.io/v1/embeddings

Authentication

Authorization: Bearer sk-xxxxxxxxxx

Request Body

ParameterTypeRequiredDescription
modelstringYesEmbedding model ID
inputstring/arrayYesText(s) to embed
encoding_formatstringNoOutput format: float or base64
dimensionsintegerNoOutput dimensions (model-dependent)

Example Request

Single Text

curl -X POST https://console.mixroute.io/v1/embeddings \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-xxxxxxxxxx" \
  -d '{
    "model": "text-embedding-3-small",
    "input": "The quick brown fox jumps over the lazy dog."
  }'

Batch Texts

curl -X POST https://console.mixroute.io/v1/embeddings \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-xxxxxxxxxx" \
  -d '{
    "model": "text-embedding-3-small",
    "input": [
      "First document text",
      "Second document text",
      "Third document text"
    ]
  }'

Custom Dimensions

Reduce embedding dimensions for efficiency:
curl -X POST https://console.mixroute.io/v1/embeddings \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-xxxxxxxxxx" \
  -d '{
    "model": "text-embedding-3-large",
    "input": "Sample text for embedding",
    "dimensions": 512
  }'

Supported Models

ModelDimensionsDescription
text-embedding-3-small1536Fast, cost-effective
text-embedding-3-large3072Higher accuracy
text-embedding-ada-0021536Legacy model

Use Cases

import numpy as np

def cosine_similarity(a, b):
    return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))

# Compare query embedding with document embeddings
similarities = [cosine_similarity(query_embedding, doc) for doc in doc_embeddings]

Document Clustering

from sklearn.cluster import KMeans

# Cluster documents by embedding similarity
kmeans = KMeans(n_clusters=5)
clusters = kmeans.fit_predict(embeddings)

Best Practices

  • Batch requests: Send multiple texts in one request for efficiency
  • Normalize vectors: Normalize embeddings for consistent similarity scores
  • Choose dimensions: Use smaller dimensions when storage/speed matters
  • Chunk long texts: Split long documents into meaningful chunks before embedding
curl --request POST \
  --url https://console.mixroute.io/v1/embeddings \
  --header 'Authorization: Bearer sk-xxxxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "text-embedding-3-small",
    "input": "Hello, world"
  }'
{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "index": 0,
      "embedding": [0.0023064255, -0.009327292, 0.015797347, ...]
    }
  ],
  "model": "text-embedding-3-small",
  "usage": {
    "prompt_tokens": 5,
    "total_tokens": 5
  }
}