Prices and model names in this article were updated on 31 October 2026.
Local LLMs get pitched as free inference once you own the hardware. That is true per token and misleading per month. You still pay for the card, the electricity and your own time. You also pay for the quality gap between what fits on a desk and what runs in a data centre.
The answer for October 2026 depends almost entirely on which cloud price you compare against. One RTX 5090 running all day costs about $4.36 a day. It breaks even with Claude Sonnet 5.5 or GPT-6.1 Sol at about 0.84M tokens a day. Against GPT-6 Luna, Claude Haiku 5.5 or a hosted open model, the same card needs 13 to 24 million tokens a day. That is roughly 150 to 280 tokens per second, around the clock.
The hardware baseline
Memory decides which models you can run locally. The Ollama README asks for "at least 8 GB of RAM available to run the 7B models", 16 GB for the 13B models and 32 GB for the 33B models. The table lists the options we could price from a source page.
| Option | Memory | Price | Source |
|---|---|---|---|
| NVIDIA RTX 5090 (buy) | 32 GB | $1,999 launch price (January 2025); 575 W board power | PC Gamer |
| Mac Studio, M5 Max (buy) | up to 128 GB unified | from $2,499 | MacRumors |
| Mac Studio, M5 Ultra (buy) | up to 512 GB unified | from $5,499; a MacRumors headline gives $22,299 for the 512 GB build | MacRumors |
| RTX 3090 (rent) | 24 GB | $0.50 per hour | Runpod |
| RTX 4090 (rent) | 24 GB | $0.89 per hour | Runpod |
| RTX 5090 (rent) | 32 GB | $1.19 per hour | Runpod |
| A100 PCIe (rent) | 80 GB | $1.79 per hour | Runpod |
| H100 PCIe (rent) | 80 GB | $2.89 per hour | Runpod |
The RTX 5090 figure is NVIDIA's launch price. Street prices in late 2026 can differ, so check before you buy. The Runpod rates come from its page dated 8 October 2026.
What fits on which box, from the sources in this article:
| Model | Memory it needs | Source |
|---|---|---|
| Llama 3.1 8B | 4.7 GB download at 4-bit | Ollama README |
| Gemma 4 E4B | "needs 12–16 GB" | DataNorth |
| gpt-oss-20b | "fits into 16 GB of memory" | AWS Bedrock model card |
| Qwen3.8-27B, Gemma 4 31B | 27B and 31B dense, so the 32 GB tier by the Ollama rule | Ollama README |
| gpt-oss-120b | one 80 GB GPU | TestingCatalog |
The reference case below is a single RTX 5090. It holds everything up to the 27–31B dense models, and it led NVIDIA's RTX 50 series at launch.
The cost math
Cloud baseline at 500K tokens a day
Take a moderate workload: 500K tokens a day, 300K input and 200K output. On GPT-6 Luna ($0.10 input, $0.50 output per million tokens):
- Input: 0.3M × $0.10 = $0.03 a day
- Output: 0.2M × $0.50 = $0.10 a day
- Total: $0.13 a day, $47.45 a year
On GPT-6.1 Sol ($2 / $10):
- Input: 0.3M × $2 = $0.60 a day
- Output: 0.2M × $10 = $2.00 a day
- Total: $2.60 a day, $949 a year
When this article first ran, the reference models were Claude 3.5 Haiku ($0.80 / $4) and GPT-4o ($2.50 / $10). The cheap end of the market has fallen furthest since then, and that is what moves the break-even. The price history has the full curve.
| Cloud model | $/1M in / out | 500K tokens a day | Per year | Source |
|---|---|---|---|---|
| GPT-6 Astra | $10 / $50 | $13.00 | $4,745 | OpenAI |
| Claude Opus 5.5 | $4 / $20 | $5.20 | $1,898 | Anthropic |
| GPT-6.1 Sol, Claude Sonnet 5.5 | $2 / $10 | $2.60 | $949 | OpenAI, Anthropic |
| Gemini 3.8 Flash | $0.75 / $3.75 | $0.98 | $356 | |
| DeepSeek V4.1 Flash (peak hours) | $0.30 / $1.20 | $0.33 | $120 | DeepSeek |
| gpt-oss-120B on Groq | $0.15 / $0.60 | $0.17 | $60 | Groq |
| GPT-6 Luna, Claude Haiku 5.5 | $0.10 / $0.50 | $0.13 | $47 | OpenAI, Anthropic |
| Llama 3.3 70B on OpenRouter | $0.10 / $0.32 | $0.09 | $34 | OpenRouter |
| Llama 3.1 8B on Cloudflare (fp8-fast) | $0.045 / $0.384 | $0.09 | $33 | Cloudflare |
Haiku 5.5 costs $0.10 / $0.50 for prompts up to 100K tokens and $0.50 / $2.50 above that. Gemini 3.8 Flash rises to $1.50 / $7.50 on 1 January 2027. The October 2026 pricing snapshot lists every model with a source link per row.
Local baseline with one RTX 5090
- Hardware: $1,999 over three years (1,095 days) = $1.83 a day
- Electricity: 575 W × 24 h = 13.8 kWh. At the US average residential price of 18.34 cents per kWh (EIA, June 2026), that is $2.53 a day
- Total: $4.36 a day, about $1,590 a year
This is a deliberately simple bound. It counts the card at full board power all day and leaves out the rest of the machine. A card that idles half the day draws less. Replace 18.34 cents with your own tariff.
Break-even
Daily cloud cost grows with tokens. Local cost is roughly fixed. Break-even volume is the local daily cost divided by the cloud price per token. Assume a 60/40 input/output split. GPT-6 Luna's blended price is then 0.6 × $0.10 + 0.4 × $0.50 = $0.26 per million tokens. So $4.36 ÷ $0.26 = 16.8M tokens a day.
The chart splits into two groups.
Against frontier models, the card pays for itself at modest volume. It breaks even with Claude Sonnet 5.5 or GPT-6.1 Sol at 0.84M tokens a day. That holds only if the local model does the job as well. The next section shows it usually does not.
Against cheap closed models and hosted open weights, the card needs 13 to 24 million tokens a day. That is 150 to 280 tokens per second, every second. Llama 3.1 8B on Cloudflare is the fairest comparison. It runs the same weights on someone else's GPU and costs $0.09 a day for the reference workload. Sustained throughput on one card depends on the model, the quantisation and how many requests you batch together. We found no published benchmark that met our sourcing rule, so measure it on your own box before you buy.
Renting changes the math again. An RTX 5090 on Runpod at $1.19 an hour costs $28.56 a day. Against GPT-6 Luna that needs 110M tokens a day, about 1,270 tokens per second. Rented GPUs pay off for bursty batch jobs or for models no API sells. They rarely beat an API that already hosts the same model.
Scaling up to 5M tokens a day
At 5M tokens a day (3M input, 2M output), a medium-traffic production system:
| Option | Daily cost | Annual cost |
|---|---|---|
| GPT-6 Astra | $130.00 | $47,450 |
| Claude Opus 5.5 | $52.00 | $18,980 |
| GPT-6.1 Sol, Claude Sonnet 5.5 | $26.00 | $9,490 |
| Gemini 3.8 Flash | $9.75 | $3,559 |
| One RTX 5090, owned (any model that fits) | $4.36 | $1,590 |
| DeepSeek V4.1 Flash (peak hours) | $3.30 | $1,205 |
| gpt-oss-120B on Groq | $1.65 | $602 |
| GPT-6 Luna, Claude Haiku 5.5 | $1.30 | $475 |
| Llama 3.1 8B on Cloudflare (fp8-fast) | $0.90 | $330 |
At this volume one owned GPU costs less than Gemini 3.8 Flash and the frontier models. It costs more than DeepSeek V4.1 Flash, GPT-6 Luna, Claude Haiku 5.5 and hosted open weights. All cloud figures above are standard prices. Batch APIs at OpenAI, Anthropic and Google take another 50% off work that can wait up to 24 hours, which widens the gap. The costs at scale article covers what else changes at high volume.
The quality gap
Cheap local inference is only cheap if the local model does the job. The Artificial Analysis Intelligence Index (v4.3.2, read 17 October 2026, as reported by DevelopersDigest) is one aggregate view. Parameter counts come from press coverage (eesel for MiMo, Forkast for Kimi K3, DataCamp for DeepSeek).
| Model | Index | Weights | Runs on one 32 GB card? |
|---|---|---|---|
| Claude Opus 5.5 | 58 | closed | no (API only) |
| Claude Sonnet 5.5 | 56 | closed | no (API only) |
| GPT-6.1 Sol | 52 | closed | no (API only) |
| MiMo-V2.6-Pro (Xiaomi) | 46 | open, MIT | no: 1.02T parameters in total |
| Kimi K3 (Moonshot) | 44 | open, modified MIT | no: 2.8T-parameter MoE |
| DeepSeek V4.1 Flash | 39 | open, MIT | no: 284B parameters in total (V4 Flash) |
| Qwen3.8-27B (Alibaba) | 34 | open, Apache 2.0 | yes, at the edge |
The open models that come closest to the frontier are far too large for a desk. The best one on this list that fits on a single card scores 34 against 56–58 at the top. An index is an average over many tasks, so it says little about your one task. It does tell you the gap is real.
Tasks where small and mid-sized local models often hold up:
- Short summarisation
- Classification with a fixed label set
- Template filling
- Extraction to a JSON schema
- Question answering over retrieved text
Tasks where you will see the gap:
- Complex code generation
- Long multi-step reasoning
- Long-document analysis
- Anything that needs recent facts. Local models stop at their training cutoff. Cloud APIs can add web search as a paid tool. Anthropic charges $10 per 1,000 searches.
The small language models guide has a 200-example protocol for testing whether a small model is good enough on your traffic.
The tooling stack
Ollama is the easiest entry point. It downloads models from a registry and serves an OpenAI-compatible API at http://localhost:11434/v1/, including /v1/chat/completions, /v1/embeddings and /v1/models.
# Install Ollama from ollama.com, then:
ollama pull gpt-oss:20b # needs about 16 GB
ollama pull llama3.1:8b # 4.7 GB at 4-bit
# Call it like any OpenAI-compatible endpoint:
curl http://localhost:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-oss:20b",
"messages": [{"role": "user", "content": "Summarize this: ..."}]
}'
llama.cpp gives lower-level control over quantisation and over how a model's layers split between GPU and CPU. That matters when a model is slightly too big for your VRAM.
vLLM is the usual choice for serving a team or a product. It schedules requests with continuous batching and stores the attention cache in small pages (PagedAttention), so one GPU serves many requests at once. It also exposes an OpenAI-compatible server. Throughput, the number the break-even chart depends on, comes from this batching. The talk below covers it.
Decision matrix
| Situation | Recommendation |
|---|---|
| A cheap API model (GPT-6 Luna, Claude Haiku 5.5) passes your evals | Cloud. One owned card needs about 17M tokens a day to win. |
| Only a frontier model passes, and no local model does | Cloud, with caching and batch discounts. |
| A local model passes evals that only a frontier API passed before | Local pays off above about 0.84M tokens a day against Sonnet 5.5 or GPT-6.1 Sol. |
| Volume is low or spiky | Cloud. An idle card still costs $1.83 a day in depreciation. |
| Data must not leave your network | Local, whatever the cost. |
| No one on the team can run it | Cloud. See the next section. |
The hybrid playbook covers the middle case: a local model for the easy share of traffic and a cloud model for the rest.
The operational overhead
Someone has to run the box. Models and drivers need updates, jobs run out of memory, and fans fail. Each problem is small, but together they take hours.
Put those hours into the same daily figure. Every hour a month you spend on the server adds a thirtieth of your hourly cost to each day. One owned RTX 5090 costs $4.36 a day, or $131 over 30 days. Suppose an hour of your time is worth more than $131. Then one hour a month of upkeep costs more than the card and the electricity together.
For teams with dedicated ML infrastructure, local inference is worth building. For a small team where AI is one feature among many, the upkeep often outweighs the savings until volume is high.
What to do next
Log a week of real traffic and count tokens per day, split into input and output. Divide your local daily cost by each candidate model's blended price to get your own break-even. If you are near it, rent the card for a day and measure sustained tokens per second before buying. If you want a second pair of eyes on the numbers, we run these comparisons at Divero.
Sources
- Ollama: OpenAI compatibility
- Ollama README (mirror): memory rule of thumb and model sizes
- PC Gamer: RTX 5090 at $1,999, 32 GB, 575 W
- MacRumors: Mac Studio buyer's guide
- Runpod GPU pricing
- EIA Electric Power Monthly, Table 5.3
- OpenAI models
- Anthropic pricing
- Gemini API pricing
- Artificial Analysis leaderboard snapshot (DevelopersDigest)
- eesel: Xiaomi MiMo-V2.6
- Forkast: Kimi K3
- DataCamp: DeepSeek V4
- vLLM documentation