Last updated

Self-hosted embedding cost calculator

Embedding 1M documents of 500 tokens once a month (500M tokens), Qwen3-Embedding-8B (MMTEB 70.58) on a Vast.ai A10 / A10G costs about $7.84 in GPU rental, against $65 for OpenAI text-embedding-3-large and $10 for 3-small. The GPU price is a marketplace median. The speed is an estimate.

Enter your corpus size below. The calculator picks an open embedding model and a GPU, then compares that bill with OpenAI, Voyage, Cohere, Google, and hosted open models.

Documents (or chunks) to embed
How it runs

Pay for the GPU hours the job runs.

500M tokens a month.

$7.84

this month · $0.0157 per 1M tokens · or $179.09 if the GPU stays on

Qwen3-Embedding-8B

MMTEB 70.58MTEB English v2 75.22

Vast.ai · NVIDIA A10 / A10G
$0.2453/hr median · 4.3k tokens/s per GPU, estimate · 32.0 GPU-hours

The pick is the highest MMTEB score among setups whose bill is no more than twice the cheapest scored setup, or $10 more, whichever is larger. Models without a score are priced but not picked.

Quality is the MTEB Multilingual mean over tasks (MMTEB, higher is better), as listed in the Qwen3-Embedding model card's copy of the MTEB leaderboard. English v2 is shown where the same table has it.

Lowest bill$0.34

nomic-embed-text-v1.5, no MMTEB score in the table used
Vast.ai A10 on-demand median

Monthly cost at 500M tokens

Self-host, this batch$7.84
Self-host, GPU left on$179.09
OpenAI 3-small$10.00
OpenAI 3-large$65.00
Voyage 4$30.00
Gemini embedding$75.00
Cohere Embed 4$60.00
DeepInfra BGE-M3$5.00

Against the APIs

  • DeepInfra BGE-M3$5.00$0.01 per 1M tokens · This API costs less this month.
  • DeepInfra e5$5.00$0.01 per 1M tokens · This API costs less this month.
  • OpenAI 3-small$10.00$0.02 per 1M tokens · Self-host costs less this month.
  • Voyage 4 lite$10.00$0.02 per 1M tokens · Self-host costs less this month.
  • Voyage 4$30.00$0.06 per 1M tokens · Self-host costs less this month.
  • Fireworks Qwen3 8B$50.00$0.1 per 1M tokens · Self-host costs less this month.

Free, from this page

Get your embedding deployment plan (free)

One email with this page’s inputs, the recommended model, GPU, and provider, a deployment checklist, and whether self-hosting or the API is the smaller bill.

No spam. One email with your plan, unsubscribe anytime.

Preview of the email

Embedding deployment plan

500M tokens a month

Qwen3-Embedding-8BVast.ai · NVIDIA A10 / A10G

$7.84 this month

OpenAI 3-large $65.00 for the same work. GPU rental only.

  1. Pick the embedding model before you load the vector store. Changing models means re-embedding everything.
  2. Pin the model revision and the serving image tag, so a rebuild does not change the output.
  3. Run a sample of your own data through the model and the API you compare against, and score both.

Self-hosted embeddings vs the OpenAI embedding API

500M tokens a month on OpenAI text-embedding-3-small is $10, and on text-embedding-3-large $65. As a batch job, Qwen3-Embedding-8B on a Vast.ai A10 / A10G is $7.84 of GPU time. Hosted open models sit in between: DeepInfra serves BGE-M3 for $5.

Kept on for all 730 hours to answer queries, the same GPU is $179.09 a month, more than text-embedding-3-large for this corpus. Self-hosting embeddings pays when the GPU is busy: large or frequently refreshed corpora, or text that cannot leave your network. Vector storage is not in either figure.

Best open-source embedding models: MTEB score vs cost

Quality is the MTEB Multilingual mean over tasks (MMTEB, higher is better), as listed in the Qwen3-Embedding model card's copy of the MTEB leaderboard. English v2 is shown where the same table has it. Scores link to the MTEB leaderboard. A dash means the model has no row in that table.

Open embedding models on rented GPUs for 500M tokens a month: MTEB scores, tokens per second, hourly price, and monthly bill. Checked November 1, 2026.
ModelMMTEBMTEB Eng v2ParamsGPUProvider$/hourAlways-on / monthThis workloadPer 1M tokensTokens/s per GPU
Qwen3-Embedding-8B · recommended
Apache-2.0
70.5875.227.57BNVIDIA A10 / A10GVast.ai
A10 on-demand median
$0.2453 median$179.09$7.84$0.01574.3k estimate
Qwen3-Embedding-4B
Apache-2.0
69.4574.64.02BNVIDIA A10 / A10GVast.ai
A10 on-demand median
$0.2453 median$179.09$4.16$0.00838.2k estimate
Qwen3-Embedding-0.6B
Apache-2.0
64.3370.7596MNVIDIA A10 / A10GVast.ai
A10 on-demand median
$0.2453 median$179.09$1.55$0.003122k estimate
multilingual-e5-large-instruct
MIT
63.2265.53560MNVIDIA A10 / A10GVast.ai
A10 on-demand median
$0.2453 median$179.09$1.40$0.002824k estimate
gte-Qwen2-7B-instruct
Apache-2.0
62.5170.727.61BNVIDIA A10 / A10GVast.ai
A10 on-demand median
$0.2453 median$179.09$7.88$0.01584.3k estimate
BGE-M3
MIT
59.56—568MNVIDIA A10 / A10GVast.ai
A10 on-demand median
$0.2453 median$179.09$1.42$0.002824k estimate
E5-Mistral-7B-instruct
MIT
——7.11BNVIDIA A10 / A10GVast.ai
A10 on-demand median
$0.2453 median$179.09$7.37$0.01474.6k estimate
jina-embeddings-v3
CC-BY-NC-4.0 · Non-commercial licence. Commercial use needs a licence from Jina.
——572MNVIDIA A10 / A10GVast.ai
A10 on-demand median
$0.2453 median$179.09$1.43$0.002924k estimate
nomic-embed-text-v1.5
Apache-2.0
——137MNVIDIA A10 / A10GVast.ai
A10 on-demand median
$0.2453 median$179.09$0.34$0.0007100k estimate

“Measured” is the vLLM benchmark of E5-Mistral-7B. “Approx.” is a figure Spheron publishes as approximate. Everything else is a TFLOPS and parameter-count estimate.

Embedding API pricing per million tokens, with MTEB

List prices checked November 1, 2026. Batch discounts and free tiers are not subtracted unless the row says so.

Embedding API prices per 1M tokens, the monthly bill for 500M tokens, and MMTEB score. Checked November 1, 2026.
APIType$ per 1M tokensThis monthMMTEBNote
OpenAI text-embedding-3-smallManaged API$0.02$10.00—
OpenAI text-embedding-3-largeManaged API$0.13$65.0058.93
Voyage voyage-4-largeManaged API$0.12$60.00—The first 200M tokens are free and the batch API is 33% off. Neither is subtracted.
Voyage voyage-4Managed API$0.06$30.00—
Voyage voyage-4-liteManaged API$0.02$10.00—
Google gemini-embedding-001Managed API$0.15 ($0.075 batch)$75.0068.37Score row is gemini-embedding-exp-03-07, the experimental release before gemini-embedding-001.
Cohere Embed 4Managed API$0.12$60.00—cohere.com/pricing no longer lists a per-token Embed price. $0.12 per 1M is the AWS Marketplace listing and matches LiteLLM's price table, read 1 November 2026. The 61.12 MMTEB row is Cohere multilingual v3, a different model, so it is not shown here.
DeepInfra BGE-M3Hosted open model$0.01$5.0059.56Score of the open BGE-M3 weights.
DeepInfra multilingual-e5-large-instructHosted open model$0.01$5.0063.22Score of the open multilingual-e5-large-instruct weights.
Fireworks Qwen3-Embedding-8BHosted open model$0.1$50.0070.58Score of the open Qwen3-Embedding-8B weights.

Embedding GPU cost per hour and per month, by provider

On-demand hourly price and the always-on month (hourly × 730). Community and non-preemptible rates are shown only where that provider publishes them. Each price links to the provider’s pricing page, checked November 1, 2026. A dash means that provider does not list this GPU.

GPU price per hour and per 730-hour month, by provider. Checked November 1, 2026.
GPURunPodLambdaModalVast.aiAWSGoogle Cloud
L4
L4
$0.59/hr On-demand
$430.70/mo
Community $0.44/hr · $321.20/mo
checked November 1, 2026
—
Nvidia L4
$0.7992/hr Preemptible
$583.42/mo
Non-preemptible $2.3976/hr · $1,750/mo
checked November 1, 2026
L4 on-demand median
$0.3378/hr On-demand median
$246.58/mo
checked November 1, 2026
g6.xlarge
$0.8048/hr On-demand
$587.50/mo
checked November 1, 2026
g2-standard-4
$0.7068/hr On-demand
$515.99/mo
checked November 1, 2026
A10 / A10G—
1× A10
$1.29/hr On-demand
$941.70/mo
checked November 1, 2026
Nvidia A10
$1.1016/hr Preemptible
$804.17/mo
Non-preemptible $3.3048/hr · $2,413/mo
checked November 1, 2026
A10 on-demand median
$0.2453/hr On-demand median
$179.09/mo
checked November 1, 2026
g5.xlarge
$1.006/hr On-demand
$734.38/mo
checked November 1, 2026
—
RTX 4090
RTX 4090
$0.89/hr On-demand
$649.70/mo
Community $0.34/hr · $248.20/mo
checked November 1, 2026
——
RTX 4090 24GB on-demand median
$0.4044/hr On-demand median
$295.24/mo
checked November 1, 2026
——
A100
A100 SXM 80GB
$1.79/hr On-demand
$1,307/mo
Community $1.39/hr · $1,015/mo
checked November 1, 2026
A100 PCIe 80GB
$1.79/hr On-demand
$1,307/mo
Community $1.19/hr · $868.70/mo
checked November 1, 2026
1× A100 SXM 40GB
$1.99/hr On-demand
$1,453/mo
checked November 1, 2026
Nvidia A100 80GB
$2.4984/hr Preemptible
$1,824/mo
Non-preemptible $7.4952/hr · $5,471/mo
checked November 1, 2026
A100 SXM4 80GB on-demand median
$1.1253/hr On-demand median
$821.49/mo
checked November 1, 2026
p4de.24xlarge
$27.45/hr On-demand · 8 GPUs
$20,036/mo
checked November 1, 2026
a2-ultragpu-1g
$5.0688/hr On-demand
$3,700/mo
checked November 1, 2026
H100
H100 SXM
$3.99/hr On-demand
$2,913/mo
Community $2.69/hr · $1,964/mo
checked November 1, 2026
H100 PCIe
$2.89/hr On-demand
$2,110/mo
Community $1.99/hr · $1,453/mo
checked November 1, 2026
1× H100 SXM
$4.29/hr On-demand
$3,132/mo
checked November 1, 2026
1× H100 PCIe
$3.29/hr On-demand
$2,402/mo
checked November 1, 2026
Nvidia H100 SXM5
$3.9492/hr Preemptible
$2,883/mo
Non-preemptible $11.85/hr · $8,649/mo
checked November 1, 2026
H100 SXM on-demand median
$2.2044/hr On-demand median
$1,609/mo
checked November 1, 2026
H100 PCIe on-demand median
$2.5422/hr On-demand median
$1,856/mo
checked November 1, 2026
p5.4xlarge
$6.88/hr On-demand
$5,022/mo
checked November 1, 2026
a3-highgpu-8g
$88.49/hr On-demand · 8 GPUs
$64,598/mo
checked November 1, 2026

How the self-hosted embedding cost is calculated

Prices checked November 1, 2026. A month is 730 hours. Tokens a month = documents × average tokens × re-embeds a month. The bill is GPU rental only. The pick is the highest MMTEB score among setups whose bill is no more than twice the cheapest scored setup, or $10 more, whichever is larger. Models without a score are priced but not picked.

Sources, throughput scaling, and what was left out

Embedding is a forward pass over every token, so it is compute-bound. Rows without a published figure take the nearest published number for that model, or for a reference model of the same class, and multiply by (reference parameters ÷ model parameters) × (GPU dense BF16 TFLOPS ÷ the reference GPU's). Models of 4B parameters and up use E5-Mistral-7B, measured with vLLM. Models under 1B use BGE-M3's approximate TEI figure. Those rows are marked estimates. Real throughput depends on sequence length and batch size, and very small models usually hit the CPU tokenizer first, so their estimates run high.

Quality and throughput sources

Models

API prices checked November 1, 2026

GPU prices and compute

Left out

  • Vector database storage and query cost.
  • Chunking overlap. Enter the chunk count, not the file count, if you split documents.
  • Spot and committed-use prices on AWS and Google Cloud.

Deployment checklist

  1. Pick the embedding model before you load the vector store. Changing models means re-embedding everything.
  2. Pin the model revision and the serving image tag, so a rebuild does not change the output.
  3. Run a sample of your own data through the model and the API you compare against, and score both.
  4. Measure your own throughput on the GPU you rent before you budget the month. The rate here is a starting point.
  5. Put a queue in front of the GPU and retry failed jobs, so a preempted or restarted instance does not drop work.
  6. Cut documents into chunks before you count tokens. The token count that matters is the chunk text you actually embed.

Related tools: the self-hosted OCR cost calculator, the speech-to-text cost calculator, and the open-source LLM hosting cost calculator. Related reading: LLM API pricing, LLM cost optimization, and AI agent development.

Self-hosted embedding cost: questions

Is it cheaper to self-host an embedding model than to use the OpenAI API?

For one-off batch jobs the GPU time is usually small, and text-embedding-3-small is also small: $0.02 per million tokens. The measured vLLM run in this tool embedded 36,600 tokens a second with E5-Mistral-7B on one H100, about 132 million tokens an hour. Self-hosting tends to win when you re-embed often, need a model the APIs do not offer, or cannot send the text out. An endpoint left on all month is billed for 730 hours whether it is busy or not.

Which open-source embedding model scores highest on MTEB?

Of the models in this tool, Qwen3-Embedding-8B has the highest MTEB Multilingual mean in the Qwen3-Embedding model card's leaderboard table: 70.58, then Qwen3-Embedding-4B at 69.45 and Qwen3-Embedding-0.6B at 64.33. BGE-M3 is 59.56 in the same table. Scores move as the leaderboard is updated, so check the live board before you choose.

Why do Nomic, Jina, and Voyage show a dash for quality?

They are not in the one table this page uses, and mixing scores from different MTEB versions would make the column misleading. A dash means no score from that table, not a low score. Their own model cards publish other numbers.

How is embedding throughput estimated?

Two sources publish numbers: a measured vLLM run of E5-Mistral-7B (36.6k tokens a second on an H100, 15.3k on an A100) and a Spheron blog with approximate TEI figures for BGE-M3 and Qwen3-Embedding-0.6B. Everything else scales a reference model by parameter count and the GPU's dense BF16 TFLOPS, and is marked an estimate.

Can I use jina-embeddings-v3 commercially?

Not under its open licence. The Hugging Face card lists CC-BY-NC-4.0, which is non-commercial. The calculator still prices it, and the table flags the licence.

What does re-embed frequency change?

It multiplies the corpus. One million documents of 500 tokens is 500 million tokens each time you embed them. Weekly re-embedding is about 2.2 billion tokens a month. Most corpora only need new and changed documents embedded, so if you can track changes, enter that count instead.