Tool Reviews

OpenAI vs Cohere vs Voyage Embeddings for RAG

Compare retrieval quality, languages, dimensions, input limits, pricing, batch processing, and privacy controls for three embedding APIs.

  • #embeddings
  • #RAG
  • #vector search
  • #OpenAI
  • #Cohere
  • #Voyage AI

Read this article with your own numbers

Read this article with your own numbers

Enter your numbers below and the highlighted numbers in the article body will be recalculated as estimates based on your input. Leave the fields blank and the article keeps its original example numbers.

Your input is used only to display this page. It is not stored in your browser, and it is never sent to this site's servers or to advertising companies. It does not carry over to other articles.

The highlighted numbers are mechanical estimates based on your on-screen input, or on the article's own examples where fields are blank. They are not a recommendation or individual advice. Official vendor prices and measured benchmark results are never rewritten.

"Matches your input" means the condition described by the input fields is currently true. It does not mean better, appropriate, or that you should switch.

Your numbers for this article

The article is currently showing its original example numbers.

OpenAI, Cohere, and Voyage AI all provide production embedding APIs, but they optimize for different constraints. OpenAI offers a compact text-only model family and a familiar API. Cohere Embed 4 accepts text, images, and mixed document content, has a 128,000-token context window, and can be deployed through several private or managed routes. Voyage offers a broad retrieval-focused range, including general, code, legal, finance, contextual, and multimodal models.

The practical decision is which model retrieves the right evidence from your corpus at an acceptable ingestion cost, query latency, storage footprint, and data boundary.

Specifications, prices, limits, and data-control statements in this article were checked against official vendor sources on 2026-07-23. Values can change. Cohere’s current public API price for Embed 4 could not be read clearly from its official public pricing page during this check and remains marked [VERIFY].

Quick comparison

Provider and representative modelInputMaximum contextOutput dimensionsPublished API priceDistinctive option
OpenAI text-embedding-3-largeText[VERIFY] current per-input limitUp to 3,072; shortening supported$0.13 per 1M tokensSimple text API and native dimension shortening
Cohere embed-v4.0Text, images, mixed text and images128,000 tokens256, 512, 1,024, or 1,536 (default)[VERIFY] public API token priceMultimodal document embeddings and private deployment choices
Voyage voyage-4-largeText32,000 tokens256, 512, 1,024 (default), or 2,048$0.12 per 1M tokens after the published free allowanceRetrieval-focused family with compatible Voyage 4 vectors

OpenAI also lists text-embedding-3-small at $0.02 per 1 million tokens. Voyage lists voyage-4 at $0.06 and voyage-4-lite at $0.02 per million tokens after its free allowance. A lower embedding bill does not automatically mean a lower RAG bill: weak retrieval can increase reranking and wasted generation calls.

The model, dimension, vector data type, chunking method, and index settings form one retrieval system. Compare complete configurations, not model names in isolation. If chunk boundaries are unsettled, use the RAG chunk size guide first.

Official sources for the table: OpenAI model and pricing page, Cohere Embed model documentation, Voyage text embedding documentation, and Voyage pricing.

Retrieval quality and multilingual coverage

All three vendors position their current general models for multilingual retrieval. OpenAI describes text-embedding-3-large as its most capable embedding model for English and non-English tasks. Cohere documents support for more than 100 languages in Embed 4 and distinguishes search_query from search_document inputs. Voyage describes the Voyage 4 text family as general-purpose and multilingual, and its API likewise uses an input_type distinction for retrieval.

Those statements do not create an apples-to-apples ranking. OpenAI’s January 2024 announcement reported a 54.9 MIRACL average and 64.6 MTEB average for text-embedding-3-large, but those are vendor-published results for that release, not a current three-vendor bake-off (official OpenAI announcement). Cohere and Voyage publish their own evaluations under different model generations, tasks, datasets, dimensions, and evaluation settings. Quoting the highest number from each page would imply comparability that has not been established.

Build a retrieval test set from real questions. Include:

  1. exact fact lookups;
  2. paraphrases that share few keywords with the source;
  3. queries and documents in different supported languages;
  4. ambiguous terms that require domain context;
  5. tables, code, OCR text, or screenshots used in production;
  6. unanswerable queries.

Label relevant chunks, then measure recall at the candidate depth sent to a reranker or generator. Record MRR or NDCG when order matters, and break results down by language and document type.

For document-heavy corpora, compare Cohere Embed 4’s mixed-modality path with an OCR-and-text pipeline. For code, include Voyage’s voyage-code-3 rather than assuming a general model represents identifiers and structure equally well.

If you do not yet have labeled queries and relevant passages, build that asset before treating a vendor benchmark as a buying decision. The RAG retrieval evaluation guide explains how to define recall at k, MRR, NDCG, and failure slices from your own traffic.

Dimensions and storage impact

Dimension count affects vector storage, memory traffic, and approximate-nearest-neighbor index size. For uncompressed 32-bit floating-point vectors, the raw vector payload is:

vectors × dimensions × 4 bytes

At 1,000,000 vectors, 3,072 dimensions require about 12.29 GB of raw decimal storage, 1,536 require 6.14 GB, 1,024 require 4.10 GB, and 256 require 1.02 GB. These estimates exclude IDs, metadata, replicas, indexes, backups, and database overhead.

OpenAI’s text-embedding-3-large produces up to 3,072 dimensions and supports a dimensions parameter for shorter outputs. OpenAI says its v3 embeddings remain L2-normalized after shortening, so cosine similarity and dot product produce equivalent rankings for those normalized vectors (official embeddings FAQ).

Cohere Embed 4 exposes 256, 512, 1,024, and 1,536 dimensions plus float, 8-bit, and binary outputs (official Embed API reference). Voyage 4 exposes 256, 512, 1,024, and 2,048 dimensions. Voyage documents float32, 8-bit, and binary output; it estimates 4× and 32× raw payload reductions for int8 and bit-packed binary (official dimension and quantization guide).

Evaluate compression as a model variant. Compare full-dimension float, 1,024-dimension float, a smaller float vector, and one supported quantized option. Measure recall, p95 latency, index build time, and stored bytes; graph and metadata overhead prevent payload savings from mapping directly to total database size.

Changing model or dimension normally requires re-embedding and rebuilding the index. Store model ID, dimension, data type, normalization, and preprocessing version in index metadata. Never mix incompatible vectors because their lengths happen to match.

Input limits and document types

Context length is a ceiling, not a recommended chunk size. Cohere Embed 4 documents a 128,000-token maximum and accepts text, images, and mixed text-image content such as PDF page representations. Voyage’s current text models generally document a 32,000-token context window; voyage-law-2 is listed at 16,000 tokens. OpenAI’s current official pages consulted for this article did not expose an unambiguous per-input maximum for text-embedding-3-large, so that limit remains [VERIFY] rather than carrying forward an older value.

Embedding an entire manual into one vector usually weakens passage retrieval because one vector must summarize many topics. Use long contexts for coherent sections, dense tables, slide pages, or document-level candidate generation—not as a reason to skip chunk evaluation.

The largest modality difference is straightforward:

  • OpenAI’s model page lists text input and no image, audio, or video support.
  • Cohere Embed 4 can create unified vectors from text, images, or mixed inputs. This can preserve information in charts, layouts, and screenshots that OCR alone may miss.
  • Voyage separates text and multimodal families. voyage-multimodal-3.5 supports interleaved text and visual data, while the Voyage 4 models in the main comparison are text models (official multimodal documentation).

Also test request-level input and token limits. They can determine ingestion throughput even when individual documents are short.

The current Cohere Embed v2 reference allows up to 96 texts or mixed inputs per call and documents a 20 MB combined image payload for Embed 4 mixed inputs. Voyage’s text embedding endpoint allows up to 1,000 texts per request; for voyage-4-large, the total across that request is capped at 120,000 tokens, even though each individual input can use the model’s 32,000-token context. These are request constraints, not recommendations for chunk size (official Cohere Embed API reference, official Voyage embeddings API reference; checked 2026-07-24).

Pricing and batch options

Published token prices checked on 2026-07-23 are:

ModelStandard embedding price per 1M tokensPublished free allowanceBatch option
OpenAI text-embedding-3-small$0.02None confirmed on model page50% Batch API discount
OpenAI text-embedding-3-large$0.13None confirmed on model page50% Batch API discount
Cohere embed-v4.0[VERIFY]Trial API calls are free but rate-limited and not allowed for production or commercial useEmbed Jobs exists; current discount [VERIFY]
Voyage voyage-4-lite$0.02First 200M tokens per account33% discount
Voyage voyage-4$0.06First 200M tokens per account33% discount
Voyage voyage-4-large$0.12First 200M tokens per account33% discount

OpenAI’s Batch API has a 24-hour window and 50% discount; one file may contain at most 50,000 embedding inputs across its requests (official Batch API reference). Voyage documents a 12-hour window, 33% discount, and 30-day uploaded-file retention (official Voyage pricing).

Cohere’s official pricing page confirmed that production API use is pay-as-you-go and embedding is token-billed, but the current Embed 4 token rate was not visible in the retrieved page. Confirm it in the Cohere dashboard or a current quote before publication: [VERIFY]. Cohere also lists dedicated Model Vault pricing for Embed 4 at $4 per hour / $2,500 per month for a Small instance and $5 per hour / $3,250 per month for Medium (official Model Vault documentation).

A 100-million-token corpus costs $2 at a $0.02 rate, $6 at $0.06, $12 at $0.12, or $13 at $0.13 before discounts and allowances. Add storage, indexing, replicas, queries, reranking, and updates. The vector database pricing guide covers those costs.

For recurring ingestion, separate the one-time backfill from daily updates and calculate both standard and batch paths. The embedding cost reduction guide covers deduplication, selective re-embedding, and dimensionality tradeoffs.

Privacy and deployment controls

Embedding inputs often contain protected source material. Review training use, retention, region, subprocessors, deletion, and deployment topology separately.

OpenAI’s current API data-control table says API data is not used for training by default. It lists /v1/embeddings with up to 30 days of abuse-monitoring retention by default and marks the endpoint eligible for Zero Data Retention controls for approved customers. Regional storage and processing availability varies by region and eligibility (official OpenAI data controls).

Cohere documents four broad routes: its managed platform, cloud AI services, customer-controlled private cloud deployments, and on-premises deployments. Its private deployment documentation says data can remain inside the customer’s environment and the model can be network-isolated. Cohere also offers Model Vault as a dedicated, logically isolated, Cohere-managed route, with Zero Data Retention available for standalone deployments (official deployment overview, official private deployment overview).

Voyage’s FAQ says customers using Voyage-hosted endpoints can opt out of storage and future training for zero-day retention; opting out requires a payment method and organization-admin access. Voyage also documents AWS Marketplace deployments in the customer’s account and VPC, where the customer controls data flow and API access (official privacy FAQ, official AWS deployment guide).

Do not reduce this review to a “no training” checkbox. Confirm the production account setting, contract, endpoint, region, logging, batch workflow, and support-access policy. Redact secrets and unnecessary personal data, and test deletion across source data, batch files, vectors, replicas, and backups.

Pick by workload

Use the following starting decisions, then require a corpus-specific evaluation:

Choose OpenAI first for a text-only product with a small integration surface. text-embedding-3-small gives a low published rate; text-embedding-3-large adds capability and flexible shortening. It fits teams already using OpenAI that do not need image-aware vectors or self-managed deployment.

Choose Cohere first for multimodal enterprise documents or deployment flexibility. Embed 4’s long context, mixed input, dimensions, and quantized outputs cover difficult PDFs and slides. SaaS, cloud-service, dedicated, VPC, and on-premises paths matter for residency or isolation. Confirm public API pricing.

Choose Voyage first for retrieval specialization. Its catalog includes general, code, finance, law, contextual, and multimodal models. Voyage 4 text vectors are documented as mutually compatible, which can ease planned cost-quality migrations. Validate compatibility before changing production traffic.

Run the final bake-off with the same chunks, filters, candidate depth, and database settings. Measure recall at k, ranking quality, p95 latency, index bytes, ingestion time, and monthly cost. Add reranking only after recording the embedding-only baseline. For managed stores, see Pinecone vs Turbopuffer.

Select the cheapest configuration that clears mandatory retrieval, latency, and privacy gates—not the model with the strongest marketing label. Preserve the test set and index manifest so a future model release can be evaluated without rebuilding the decision process from memory.

FAQ

Which embedding provider is best for RAG?

There is no provider-independent winner. Start with the model that matches the corpus modality and deployment boundary, then compare recall at k, latency, index size, and total cost on the same labeled queries. Vendor benchmark scores are useful screening evidence, not a substitute for a corpus-specific test.

Can I switch embedding providers without rebuilding my vector index?

Usually no. Vectors from different model families occupy different representation spaces, even when their dimensions match. Re-embed the documents and queries into a new index, validate it in parallel, and switch traffic only after it clears the same retrieval gates. Voyage documents compatibility within its Voyage 4 family, but that does not extend to OpenAI, Cohere, or older Voyage families.

Is a larger embedding dimension always more accurate?

No. More dimensions increase raw storage and memory traffic, while the retrieval gain depends on the model, corpus, and index. Test at least one full-size vector and one smaller supported dimension; compare retrieval metrics and total index bytes rather than assuming the largest output is necessary.

Should queries and documents use different input types?

Use the provider’s retrieval-specific settings when available. Cohere recommends search_query for queries and search_document for indexed passages; Voyage recommends query and document. Keep the choice in index metadata so ingestion and query services cannot silently drift.

Do long context windows remove the need for chunking?

No. A context limit only defines what the API can accept. Passage retrieval still depends on coherent, searchable units. Compare several chunk sizes and overlaps, especially for tables, code, and mixed-layout documents, before embedding an entire long document as one vector.

Verification notes and primary sources

The following official pages were rechecked on 2026-07-24:

The unresolved OpenAI per-input token limit and Cohere public API token price remain [VERIFY]; neither value should be filled from an older blog post, cached table, or third-party calculator without a current official source.