Models / Embedding models

Embedding models, compared

Every generally-available embedding API on three fields, because three fields are what decide the bill: price per 1M input tokens, the default vector dimensions, and how much text you can hand it in one call. Sortable and filterable.

The short answer

We track 13 generally-available embedding models from 6 providers — Alibaba, Amazon, Cohere, Google, Mistral, OpenAI. 9 carry a published input rate, and the cheapest is $0.02 per 1M input tokens (text-embedding-3-small and Amazon Titan Text Embeddings V2), a 10x spread across the priced rows. Default output dimensions run 384 to 3,072, and the input ceiling — the one field a caller cannot change — runs 512 to 128K tokens.

Last verified: 18 Aug 2026 · sourced from official provider documentation

Lowest published input rate
$0.02/1M input · 1,536 dims, 8K in (OpenAI) · 1,024 dims, 8K in (Amazon)

A tie at the published rate — they differ on dimensions, so the cheaper one for you is whichever vector your index can afford to store.

Embedding models return a vector, not tokens, so none of them has an output-token price and the blended $/M figure used elsewhere on this site does not apply. The prices here are thetext input rate. Several of these models also accept images, audio, video or PDFs and bill those separately — each model page records the per-modality rates its provider publishes.

The list

13 embedding models, cheapest first

Generally-available only. Click a header to re-sort by dimensions or input ceiling, or filter by provider. Rows with no published rate sort last — never estimated.

Model Input $/M Dimensions Max input
text-embedding-3-small
OpenAI · text
$0.021,5368K
Amazon Titan Text Embeddings V2
Amazon · text
$0.021,0248K
Qwen Text-Embedding v4
Alibaba · text
$0.071,0248K
Embed 4 (embed-v4.0)
Cohere · text, image
$0.121,536128K
text-embedding-3-large
OpenAI · text
$0.133,0728K
Amazon Nova Multimodal Embeddings
Amazon · text, image, video, audio
$0.1353,0728K
Gemini Embedding 001
Google · text
$0.153,0722K
Codestral Embed
Mistral · text, code
$0.151,5368K
Gemini Embedding 2
Google · text, image, video, audio, pdf
$0.23,0728K
Embed English v3.0
Cohere · text, image
1,024512
Embed English Light v3.0
Cohere · text, image
384512
Embed Multilingual v3.0
Cohere · text, image
1,024512
Embed Multilingual Light v3.0
Cohere · text, image
384512

Dimensions is the provider's default output size — most of these models let you request a smaller vector. Max input is the hard per-call ceiling. Click any header to sort.

Why the dimensions column matters

The price is paid once. The dimensions are paid every month.

Embedding a corpus is a one-off token cost. Storing the vectors is not: a vector database bills you for what you keep, and a 3,072-dimension vector occupies 3x the space of a 1,024-dimension one — the widest gap between any two priced models on this page. That multiplier lands on your index every month, while the difference in the token rate is settled the day you build it.

Which is why the dimensions number is a default rather than a spec. Every major family here supports truncating the vector at request time, so the row tells you what you get if you ask for nothing — not what you are stuck with. Open any model page for the range its provider publishes and the document it was read from.

FAQ

Embedding models

What is the cheapest embedding model?

text-embedding-3-small (OpenAI) and Amazon Titan Text Embeddings V2 (Amazon) share the lowest published rate we track, at $0.02 per 1M input tokens. Cheapest per token is not cheapest per job: an embedding you store is a recurring index cost, so the vector's dimension count drives your database bill long after the one-off embedding call is paid. Compare the price and the dimensions column together.

Why is there no output price for embedding models?

Because an embedding model does not return tokens — it returns a vector of floating-point numbers. Every provider here bills input tokens only, which is why this page has one price column instead of the input/output/blended trio used on the rest of the site. A blank in the price column means something different: the provider publishes no rate at all, and we leave it null rather than carry a figure we could not source.

Are the dimensions fixed?

Usually not. The number in the dimensions column is the model's default, and most of these families let the caller truncate it at request time — OpenAI via the `dimensions` parameter, Google via `output_dimensionality`, Mistral via `output_dimension`, and Cohere, Amazon Titan V2 and Amazon Nova 2 each via a fixed menu of sizes. Alibaba's Qwen v4 exposes eight steps from 64 to 2048. Each model page records the range its provider publishes, with the source it was read from. The input ceiling is the field you genuinely cannot change.

How much input can an embedding model take at once?

Far less than a chat model, and the spread is wide: Embed English v3.0 caps at 512 tokens while Embed 4 (embed-v4.0) takes 128K — and both are Cohere models, so the gap exists inside a single vendor's lineup. This is what decides your chunking strategy, and it is the field most price comparisons omit entirely.

Why do some rows have no price?

4 of the 13 rows carry no rate because their provider does not publish one on any first-party surface. Cohere's pricing page lists only its current-generation embedding model, and the older family is absent from it and from the AWS Bedrock Price List API too. Aggregators quote a figure for those models; we do not repeat it. A null here means "the provider publishes nothing", which is a fact you can act on — a guessed price is not.