What embeddings cost and why they are billed differently
Embedding models convert text into vectors for search and RAG. Unlike chat models, they produce no output tokens — you are billed input only, per million tokens, at rates far below any chat model. That makes embeddings the cheapest line item in a typical RAG stack, but the one teams most often pay twice: re-embedding unchanged documents is pure waste.
Verified embedding rates, October 2026
| Model | Input / 1M | Notes |
|---|---|---|
| text-embedding-3-small | $0.02 | The default for most RAG pipelines; supports dimension reduction |
| text-embedding-3-large | $0.13 | Higher retrieval quality at 6.5× the price |
| text-embedding-ada-002 | $0.10 | Legacy model — small is cheaper and generally better |
Rates verified October 28, 2026 on OpenAI's official API pricing page, which lists embedding models in their own category. There is no reason to still be on ada-002 for new work: text-embedding-3-small costs a fifth as much.
Corpus math: what indexing actually costs
A 500-token document chunk costs 0.0005 × $0.02 = $0.00001 to embed with text-embedding-3-small. Scale it:
Batch API: $5 (small) · $32.50 (large)
The embedding bill is a one-time cost per document version — then retrieval is free until something changes. Compare that with the recurring cost of stuffing the same documents into prompts: at $2/1M input, re-sending 500M tokens of context just 50 times costs $50,000. This is the economic argument for RAG in one line: embed once, retrieve forever.
Three rules that keep embedding bills tiny
- Embed once, cache forever. Store vectors with a hash of the source chunk; only re-embed when the content changes. Re-embedding unchanged documents is the #1 embedding waste pattern.
- Start with small. text-embedding-3-small at $0.02/1M handles most retrieval workloads. Benchmark large ($0.13/1M) against it on your own recall metrics before paying 6.5× — the quality gap is real but often smaller than the price gap.
- Use dimension reduction. The v3 models support a dimensions parameter that shrinks vectors (e.g. 1536 → 512), cutting vector-database storage and retrieval latency with minimal quality loss. Storage and compute are the quiet second half of embedding cost.
Embeddings in the full RAG bill
Embeddings are usually the smallest part of a RAG system. The bigger costs are the chat-model tokens on every query (retrieved chunks inflate prompts), vector-database hosting, and re-indexing pipelines. Budget the whole stack with our bill estimator, and compare the build-vs-retrieve decision in our fine-tuning vs RAG guide.
Quick answers
How much do OpenAI embeddings cost?
Verified October 2026 on OpenAI's model pages: text-embedding-3-small costs $0.02 per million tokens, text-embedding-3-large $0.13, and the legacy text-embedding-ada-002 $0.10. Embedding models bill input only — there are no output token charges — which is why corpus-scale indexing stays cheap even across millions of documents.
Are embeddings cheaper than chat completions?
Dramatically. text-embedding-3-small at $0.02/1M is 100x cheaper than GPT-6.1 Sol's $2/1M input rate. That price gap is the economic engine of RAG: embedding a document once and retrieving it forever is vastly cheaper than re-sending the same document as prompt context on every single query.
Do embeddings qualify for the Batch API discount?
Yes for the current models: text-embedding-3-small drops to $0.01/1M through the Batch API — half the standard rate — and indexing jobs are ideal batch candidates: non-urgent, high-volume, and one-shot. One exception to note: the legacy text-embedding-ada-002 has no batch discount, so migration to 3-small pays twice.
How much does it cost to embed 1 million documents?
At 500 tokens per document (500M tokens total): about $10 with text-embedding-3-small, or $65 with text-embedding-3-large — and the 3-small figure halves again to roughly $5 through the Batch API. It is a one-time cost until the documents change, which is why corpus size rarely blocks a RAG project.