The breakeven math: API tokens vs renting a GPU

Published 2026-07-06 · updated 2026-07-07
API vs GPU breakeven priced daily on llmhosting.ai

Every team serving an open-weight model eventually asks: we’re paying per token, should we just rent the GPU? A short formula settles it. Here it is, with the traps.

The formula

GPU count× $/hr rate ÷ aggregate tok/s× 3600 × util% $ / 1M outputtokens (self-host) API price(cheapest listed) lower numberwins today = cost utilization ↓ = cost ↑ fast(25% util = 4x cost vs 100%) re-run quarterly, API floor moves weekly Self-hosted cost per 1M tokens

Self-hosted cost per million output tokens:

$/1M = (GPU count × $/hr) ÷ (aggregate tok/s × 3600 × utilization) × 1,000,000

Worked example: Llama 3.3 70B at FP8 needs ~96 GB of VRAM, so one 141 GB H200 fits it. Take an illustrative $3.30/hr on-demand rate (the live H200 price will differ by the time you read this) and a well-batched vLLM deployment doing ~650 aggregate tok/s at 50% utilization:

(1 × 3.30) ÷ (650 × 3600 × 0.5) × 1,000,000 ≈ $2.82 per 1M tokens

Compare that against the cheapest API price on the model’s page (live prices here) and you have your answer for today. Our calculator runs this with live GPU floors.

The three variables that move the answer

1. Utilization. The GPU bills 24/7; your traffic doesn’t arrive 24/7. A chatbot with strong daytime peaks might average 30% utilization; an offline batch pipeline can hit 95%. Utilization divides directly into your cost: the same deployment at 25% utilization costs 4× as much per token as at 100%. This single number flips most decisions.

2. Aggregate throughput, not per-request speed. A single request might stream 40 tok/s, but a batched vLLM server answers dozens of requests concurrently; the aggregate is what earns back the rent. Aggregate throughput scales with the model’s active parameters. A MoE model like GPT-OSS 120B (5B active) batches like a small model while answering like a big one, which is why MoE models are disproportionately cheap to self-host.

3. The API floor keeps moving. Open-model API prices have compressed relentlessly; providers on our model pages reprice weekly. A breakeven that cleared 3× margin in January can be underwater by June. Put a quarterly reminder on the math.

Costs the formula hides

  • Input tokens are not free. The formula above prices output; a RAG workload pushing 20:1 input:output ratios shifts the math (APIs charge input at 2-5× less than output, but they do charge).
  • Engineering time. Someone owns quantization choices, CUDA driver mishaps, autoscaling, and the 2 a.m. page. At small scale this dwarfs the compute delta.
  • Redundancy. One GPU is not a production deployment. Two is your real minimum, which doubles the rent until traffic fills both.
  • Egress and storage are rounding errors for LLM serving, but check anyway on marketplace hosts.

The honest decision rule

monthly outputtokens? < ~200M/mouse the API > ~500M/mosteady, high utilrent 1 GPU node bursty orlatency-criticalhybrid: base+overflow watch: eng time,redundancy = 2x GPU,input-token cost low volume high + steady spiky pattern engineering overheadswamps savings here Which path fits your traffic
  • Under ~200M output tokens/month: use the API. The engineering overhead swamps any savings.
  • Steady, high-utilization workloads past ~500M tokens/month on a model whose API price is above your computed self-host cost: rent, starting with one node of the cheapest fitting GPU (floors on our GPU board).
  • Bursty or latency-critical traffic: hybrid. Serve the base load on rented hardware, overflow to the API.

Run your own numbers in the breakeven calculator. It uses today’s live prices on both sides of the equation.

Put the numbers to work. Run your own workload through the breakeven calculator with today's floors, then price hardware: rent at Vast.ai → · rent at RunPod → Rental links are referral links. They never affect our rankings, which are ordered by price alone.

← All guides