MTEB average
Score · English embedding tasks
Turn text into numerical vectors for semantic search, retrieval and recommendations. Choose the vector size to balance accuracy and storage.
Text Embedding 3 Large converts text into vectors that represent its meaning. Your application compares those vectors to retrieve related passages, group similar documents or power recommendations. It is OpenAI’s largest embedding model, released January 25, 2024, and it returns numbers rather than a written answer.
In a retrieval workflow, embed your documents once and store the vectors alongside the original text. At query time, embed the question with the same model and dimensions, find the closest stored vectors and pass those passages to a language model as context.
The model returns 3,072 dimensions by default, and the dimensions parameter shortens them. OpenAI reports that a 256-dimension vector from this model still outperforms a full 1,536-dimension Ada 002 vector on MTEB. Size drives storage: at 4 bytes per value, a million vectors take about 12.3 GB at 3,072 dimensions and about 1 GB at 256, before index overhead. Use the same size for documents and queries.
Text Embedding 3 Small costs $0.02 per million tokens against $0.13 for Large. OpenAI’s published averages put Large ahead on English tasks (MTEB 64.6 against 62.3) and further ahead on multilingual retrieval (MIRACL 54.9 against 44.0). If your content spans languages or retrieval quality drives the product, start with Large. For high-volume English workloads, test Small first.
OpenAI’s published averages for its three embedding models, at their default dimensions.
Score · English embedding tasks
Score · multilingual retrieval
Published by the model’s creator for its own models in January 2024, not an independent leaderboard. Scores from current MTEB leaderboard versions use different task sets and are not comparable. Run a retrieval test on your own documents before switching models.
| Usage | Price | Unit |
|---|---|---|
| Embedding generation | $0.13 | 1M input tokens |
AI/ML API input rates per million tokens. Embedding models have no output charge.
| Model | Input per 1M tokens | Input length |
|---|---|---|
| $0.13 | 8Ktokens | |
| $0.12 | 16Ktokens | |
| $0.07 | 8Ktokens | |
| $0.025 | 2Ktokens | |
| $0.02 | 8Ktokens |
Each provider counts tokens with its own tokenizer, so the same text can bill a different number of tokens.
Queries are billed too, at the same rate per token.
| Tokens embedded | Cost on AI/ML API |
|---|---|
| 100,000 tokens | $0.013 |
| 1,000,000 tokens | $0.13 |
| 10,000,000 tokens | $1.30 |
| 100,000,000 tokens | $13.00 |
Give your agent the model details, code and documentation.
export AIMLAPI_KEY="8f2b4c7d9a1e6b3f…"curl 'https://api.aimlapi.com/v1/embeddings' \
-H "Authorization: Bearer $AIMLAPI_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "text-embedding-3-large",
"input": "A practical guide to building semantic search."
}'import os
import requests
headers = {"Authorization": "Bearer " + os.environ["AIMLAPI_KEY"]}
payload = {
"model": "text-embedding-3-large",
"input": "A practical guide to building semantic search."
}
response = requests.post(
"https://api.aimlapi.com/v1/embeddings",
headers=headers,
json=payload,
timeout=120,
)
response.raise_for_status()
data = response.json()
embedding = data["data"][0]["embedding"]
print(len(embedding), embedding[:5])async function main() {
const headers = {
Authorization: "Bearer " + process.env.AIMLAPI_KEY,
"Content-Type": "application/json",
};
const response = await fetch(
"https://api.aimlapi.com/v1/embeddings",
{
method: "POST",
headers,
body: JSON.stringify({
"model": "text-embedding-3-large",
"input": "A practical guide to building semantic search."
}),
},
);
if (!response.ok) throw new Error(await response.text());
const data = await response.json();
const embedding = data.data[0].embedding;
console.log(embedding.length, embedding.slice(0, 5));
}
main().catch(error => {
console.error(error);
process.exitCode = 1;
});No. It returns one numeric vector per input. Pair it with a language model if you need a written answer from the retrieved passages.
Yes. Set dimensions to shorten the default 3,072-dimension output. OpenAI reports that even 256 dimensions outperform a full Ada 002 vector on MTEB.
No. Vectors are only comparable when they come from the same model with the same dimensions. If you change either, embed the collection again.
Up to 8,192 tokens per input, according to OpenAI. Split longer documents into passages before embedding them.
AI/ML API charges $0.13 per million input tokens, and vectors are not billed as output. Embedding 10 million tokens costs $1.30.
OpenAI published an MTEB average of 64.6 and a MIRACL average of 54.9 at launch in January 2024, ahead of its Small and Ada 002 models. These are the creator’s own results and are not comparable with current MTEB leaderboard versions.
Small costs $0.02 per million tokens and scores slightly lower on English tasks. Large is clearly stronger on multilingual retrieval. Test both on a sample of your own queries.