Skip to content

Evaluation and modelsComparison

Embedding models compared in 2026: OpenAI, Gemini, Voyage, Cohere

Embedding rates are small per token and large per corpus, and the model you pick is the hardest one to change: every vector has to be recomputed. Here are the current options with their published rates and limits, the storage arithmetic, and a way to choose on your own data.

By INFRO Editorial

Published

5 min read

A dark ground scattered with small amber points clustering into several groups, representing text mapped into vectors by an embedding model

In short

In October 2026, OpenAI's text-embedding-3-small costs $0.02 per million tokens and text-embedding-3-large $0.13, both normalised, 8,192-token inputs, shortenable dimensions. Google's Gemini Embedding 2 costs $0.20 per million text tokens ($0.10 on Batch) and also embeds images, audio and video. Voyage 4 costs $0.02 to $0.12 with 200 million free tokens, and Cohere's Embed v5 and v4 take 128K-token mixed inputs. Choose by retrieval quality on your own queries, then by dimensions and storage, because changing models means re-embedding everything.

Key takeaways

  • OpenAI text-embedding-3-small is $0.02 per 1M tokens and -large $0.13; both take 8,192-token inputs and can be shortened with the dimensions parameter.
  • Gemini Embedding 2 is $0.20 per 1M text tokens ($0.10 Batch) and embeds images, audio and video too.
  • Voyage 4 runs from $0.02 (lite) to $0.12 (large) with 200M free tokens; Cohere Embed v5 and v4 take 128K-token mixed inputs.
  • Vectors from different models are not comparable: a model change means re-embedding the whole corpus.
  • Choose by recall on your own queries first, then by dimensions, because storage and search cost scale with them.

Which embedding model should you use in 2026? Shortlist by constraints, then decide on your own data. On price and simplicity, OpenAI's text-embedding-3-small ($0.02 per million tokens) and -large ($0.13) remain the reference points1. For images, audio and video in the same space, Gemini Embedding 2 ($0.20 per million text tokens, $0.10 on Batch)2. For a range of sizes and domain models with a large free allowance, Voyage 43. For very long and mixed inputs, Cohere Embed v5 and v4, with 128K-token inputs including images and PDFs4. Then measure recall on real queries, because the model you choose is the hardest one in your stack to change.

The current options

ModelRate per 1M tokensDefault dimensionsMax inputModalities
OpenAI text-embedding-3-small$0.021,536 (shortenable)8,192 tokensText
OpenAI text-embedding-3-large$0.133,072 (shortenable)8,192 tokensText
Gemini Embedding 2$0.20 text ($0.10 Batch)See Google's docsSee Google's docsText, image, audio, video
Voyage 4 lite / 4 / 4 large$0.02 / $0.06 / $0.12See Voyage's docsSee Voyage's docsText
Voyage code 4, context 4$0.12See Voyage's docsSee Voyage's docsText and code
Cohere Embed v5 pro / fastNot published on the pricing page opened2,048 (256–1,536 options)128K tokensText, images, mixed
Cohere Embed v4Not published on the pricing page opened1,536 (256–1,024 options)128K tokensText, images, mixed
Mistral Embed, Codestral EmbedSee Mistral's pricingSee Mistral's docsSee Mistral's docsText, code
From each vendor's own pages on 2026-10-20. Where a page did not state a figure, the table says so rather than guessing.

Notes from those pages:

  • OpenAI vectors are normalised to length 1, so a dot product gives cosine similarity, and the dimensions parameter trims a vector "without fully losing" its meaning5.
  • Gemini Embedding 2 also prices image input at $0.00012 per image, audio at $0.00016 per second and video at $0.00079 per frame on its standard tier, with half those rates on Batch, and has a free tier for text2.
  • Voyage gives 200 million free tokens on its version-4 models and lists separate law, finance and code models at $0.12 with 50 million free tokens; its multimodal models charge per text token plus per pixel3.
  • Cohere's Embed v5 comes in pro and fast variants with dimension options from 256 to 2,048; its English and multilingual v3 models still take 512-token inputs4. Its pricing page lists dedicated-instance rates rather than per-token rates.
  • Mistral lists Mistral Embed and Codestral Embed, the latter for code6.

The cost that matters: the whole corpus, twice

Embedding rates look negligible per request. They are not negligible per corpus, and you pay for the corpus more than once.

Query embeddings are a second, ongoing cost: every search embeds the query. At high query volumes a small model's per-query cost and latency matter more than its per-corpus cost. Where the tokens go in a RAG pipeline breaks this down.

Dimensions decide storage and search cost

Vector databases store and compare every dimension. Float32 vectors take 4 bytes per dimension:

Dimensions10M vectors (float32)
512about 20 GB
1,024about 41 GB
1,536about 61 GB
3,072about 123 GB

Memory-resident indexes multiply that cost again. Models that can shorten vectors (OpenAI's dimensions parameter, Cohere's dimension options) let you test 512 or 1,024 dimensions against the full size on your own queries. If recall barely moves, the smaller vectors are a lasting saving on every query.

How to choose on your own data

  1. Build a query set. 100 to 300 real queries with the documents that should answer them, from search logs or support tickets.
  2. Embed a sample corpus with each shortlisted model, at its default and one reduced dimension.
  3. Measure recall@k (is the right document in the top 5 or 10?) and, if you rerank, the final answer quality.
  4. Check languages and domains you serve. A model that is strong in English can be weaker in your second language; domain models (code, law, finance) can beat general ones on their domain.
  5. Price the winner on corpus size, re-embed frequency, query volume and storage, not on the rate per token alone.

Evaluating LLMs on real workloads covers building the query set.

Rules that save a migration

  • Never mix models in one index. Vectors from different models are not comparable; a query embedded with model B against documents embedded with model A returns noise without an error.
  • Record the model and dimensions with every vector, so a migration knows exactly what it is replacing.
  • Migrate with a parallel index. Embed the corpus with the new model into a new index, compare results on the query set, switch reads, then delete the old index.
  • Failover means the same model. If the primary embedding provider fails, the only safe fallback is the same model on another account or platform; a different model would write vectors your index cannot use.
  • Rerank instead of re-embedding when the problem is ordering rather than recall. A reranker on the top 50 results is often a smaller change than a new embedding model.

Embeddings through INFRO

INFRO serves POST /v1/embeddings in OpenAI's shape on your own provider connection, so OpenAI's SDKs, LangChain and LlamaIndex work with only the base URL and key changed. It serves OpenAI's and Mistral's embedding models, Azure OpenAI deployments and models on your own OpenAI-compatible server. Each request carries an estimated provider cost and is attributed by project, key and workflow, so corpus jobs and query traffic can be budgeted separately. An embeddings request may only fail over to the same model, so a fallback never writes vectors from a different space into your index. INFRO stores no documents and no vectors and runs no retrieval; your vector database stays yours.

Summary

Shortlist embedding models by modality, input length and budget; choose by recall on your own queries; size dimensions by measured quality, because storage and search scale with them; and treat a model change as a migration, because every vector has to be recomputed.

Questions readers ask

What is the best embedding model in 2026?
There is no single best one; it depends on your language, domain and query style. Shortlist two or three — for example OpenAI text-embedding-3-large, Voyage 4 and Gemini Embedding 2 — embed a sample of your corpus with each, and measure recall on a set of real queries with known answers.
How much does text-embedding-3-small cost?
$0.02 per million tokens on OpenAI's pricing page in October 2026; text-embedding-3-large is $0.13. Embedding ten million 500-token chunks with 3-small costs about $100 at that rate.
Can I switch embedding models without re-embedding?
No. Vectors from different models live in different spaces and cannot be compared. Switching models means re-embedding every document and every query, so plan the switch as a migration with a parallel index.
How many dimensions should embeddings have?
As few as keep your retrieval quality. Storage and search cost grow with dimensions: ten million 1,536-dimension float vectors take about 61 GB, and at 512 dimensions about 20 GB. Models that support shortened dimensions let you test the trade-off on your own data.

From the team that builds it

Where this shows up in INFRO

INFRO is a control plane in front of the provider accounts you already hold. The capabilities below are the parts of it this article touches, each with the documentation that defines its behaviour.

  • Embeddings

    Available with a plan

    POST /v1/embeddings in OpenAI's shape on your own OpenAI, Azure OpenAI, Mistral or OpenAI-compatible connection: routing that fails over only to the same model, budgets checked before the call, and the estimated provider cost of each request. Inputs follow your payload-logging setting; vectors are never stored.

  • Usage and cost per request

    Available with a plan

    Every request records its model, latency, token or unit counts, and estimated provider cost, queryable by project and key.

    Read the documentation for Usage and cost per request
  • Health-aware routing

    Available with a plan

    Named routes use priority or weighted targets over your own connections, with health checks, retries and failover.

    Read the documentation for Health-aware routing
  • Budgets and spend ceilings

    Available with a plan

    A hard cap per organization, project, member, and key, with alerts at your own thresholds.

    Read the documentation for Budgets and spend ceilings

INFRO accounts are self-serve. Provider usage is billed to you by your providers; INFRO charges a software subscription and takes 0% of model spend. See plans.

Sources

Numbered in order of first citation. Each was opened and checked against the claim on the date shown.

  1. 1.Pricing (opens in a new tab) — OpenAI. Accessed Oct 20, 2026.
  2. 2.Gemini Developer API pricing (opens in a new tab) — Google. Accessed Oct 20, 2026.
  3. 3.Pricing (opens in a new tab) — Voyage AI. Accessed Oct 20, 2026.
  4. 4.Cohere's Embed models (opens in a new tab) — Cohere. Accessed Oct 20, 2026.
  5. 5.Vector embeddings (opens in a new tab) — OpenAI. Accessed Oct 20, 2026.
  6. 6.Models overview (opens in a new tab) — Mistral AI. Accessed Oct 20, 2026.

About this article

Rates, dimensions and limits come from OpenAI's embeddings guide and pricing page, Google's Gemini API pricing page, Voyage AI's pricing page and Cohere's Embed documentation, opened on 2026-10-20. Mistral and Cohere token prices were not published on the pages opened and are not quoted. No retrieval benchmark was run; worked examples are arithmetic. Written by the team that builds INFRO.

Last checked against its sources on . The next review is due by . No separate named reviewer is recorded for this article.

How articles are written, sourced and corrected is set out in the editorial standards.