Guides → Playground & Guide → Fine-Tuning Cost - Training + Inference Break-Even

Fine-Tuning Cost - Training + Inference Break-Even

Meet Faisal Ahmad. ML Engineer at a 100-person legal tech company. "We have 50K legal contracts as training data. Fine-tuning quote was $4K. Will it actually save money?"

🔥 Decision needed by sprint planning Monday.

The story

Fine-tuning math is two-sided: training cost upfront, inference savings ongoing. Training cost depends on base model + dataset size. Inference savings come from using smaller fine-tuned models in place of frontier ones at lower per-token rates. Break-even is the volume × time at which inference savings overcome training cost.

Faisal's case: 50K contracts × ~5K tokens each = 250M training tokens. OpenAI fine-tuning: ~$8/1M training tokens × 250M = $2,000 + $4 reserved for the inference layer. Anthropic similar. Plus eval time + retraining iterations. Realistic total: $4-8K all-in for the first deployment.

Three break-even modes. (1) Volume-driven: high query volume against a fine-tuned smaller model beats lower-volume frontier. (2) Quality-driven: domain-specific FT outperforms frontier on narrow tasks (legal, medical, code). (3) Latency-driven: smaller FT model is faster than frontier - wins for voice/realtime.

🎮 Playground

Fine-Tuning Cost Playground

Here are the inputs that move the result the most. Play with the sliders and check it out. The number updates live.

Fine-tune vs frontier API — which is cheaper to run?

A fine-tuned small model is cheap per query but costs upfront to train. It beats calling a frontier model only above enough volume.

Frontier (no FT)
/ month
Fine-tuned
/ month

💡Cheaper depends on volume: fine-tuning amortizes training over months, so high, sustained query volume is what tips it past frontier API.

Three real scenarios

Same calculator, three team sizes. Click a tab to see how the numbers shift.

$152.86 / month ≈ $1,834 / year

500 queries/day. Frontier cost: $90/mo. FT savings: $72/mo. Training $3K. Payback: 42 months - longer than the model lifetime. Don't fine-tune.

Healthy range: Training never amortizes

See inputs used
trainingTokens
100
queriesPerDay
500
frontierVsFtCostRatio
5
trainingCostUsd
3,000
inputTokensPerQuery
2,000
outputTokensPerQuery
400

Use cases

Same calculator, different applications. Sizes above, workloads here. Pick the one that looks like yours.

Pre-loaded scenarios for the most common applications. Click a tab to see realistic numbers, then hit "Try this scenario" to load it into the calculator above.

$4,533 / month ≈ $54,397 / year

500K completions/day. Cheap-tier FT model serves the easy cases (~80%). Frontier handles complex (~20%). Saves $100K+/mo on the easy-case volume. Plus latency wins for autocomplete UX.

Healthy range: Mandatory at this scale

See inputs used
trainingTokens
1,000
queriesPerDay
500,000
frontierVsFtCostRatio
10
trainingCostUsd
15,000
inputTokensPerQuery
800
outputTokensPerQuery
100

Ready to run the numbers?

Open the full calculator. Pick a model, enter your tokens, see per-call, daily, monthly, and annual cost.

🚀 Open the full calculator →

Fine-tuning capable vendors right now

Verified 11 hours ago
  1. 1
    GPT-5 Mini
    $0.250 in · $2.00 out ·
  2. 2
    gpt-5.1-codex-mini
    $0.250 in · $2.00 out ·
  3. 3
    Command
    $1.00 in · $2.00 out ·

About this calculator: Fine-Tuning Cost - Training + Inference Break-Even

Fine-tuning math: training compute + tokens + base model selection + inference savings. When custom models pay back - and when they don't.

🎛 Inputs you control

Each input shapes the cost. Click an input on the calculator to set it. The explanations below match the live calculator field by field.

Fine-tuning provider + base model: The provider and base model you fine-tune.
How to choose: Pick your target; training and hosted-inference rates vary by provider.
Training dataset size (tokens): Total tokens in your training set.
How to choose: Sum tokens across all examples; training is billed per token x epochs.
Epochs: How many passes over the dataset during training.
How to choose: 3 is a common default; more can overfit and multiplies training cost.
Input tokens / request: Average prompt size at inference, in tokens.
How to choose: About 750 words is ~1,000 tokens; fine-tuned models often need shorter prompts.
Output tokens / request: Average completion size at inference, in tokens.
How to choose: Measure typical responses; output is usually priced higher than input.
Requests / month: Monthly inference volume on the fine-tuned model.
How to choose: Use real traffic; the break-even vs base model depends on this.
📋 Typical values & starting points Don’t know a value yet? Start with these broad, sourced ballparks — the calculator’s ▾ Typical menus pre-load the same options.

Context: API fine-tuning as of Jul 2026: open-weight LoRA ~$0.48-0.50/1M training tokens (sub-16B tiers); hosted frontier-vendor tuning ~$0.20-3/1M for current nano-to-flagship tiers, with premium/legacy tiers up to $25/1M. Typical jobs run 3-5 epochs; 500-5,000 curated examples is the common dataset band. Live per-model rates: see the provider picker above.

Input Default Typical ballparks
trainingTokens moves the needle 250 Small SFT · 5M tok (1K ex × ~3 epochs) = 5 · Typical SFT · 50M tok (50K ex × 2 epochs) = 50 · Large SFT · 250M tok = 250 · Heavy domain tune · 1,000M tok = 1,000
frontierVsFtCostRatio moves the needle 6 Modest downshift · 3× = 3 · Typical (flagship → mini class) · 6× = 6 · Aggressive small-model swap · 12× = 12
monthsToAmortize 12 Fast-moving model · 6 mo = 6 · Typical · 12 mo = 12 · Stable domain · 24 mo = 24
queriesPerDay moves the needle 5,000 Pilot · ~100/day = 100 · Production · ~1K/day = 1,000 · High traffic · ~10K/day = 10,000
inputTokensPerQuery 2,000 Chat turn · ~500 in = 500 · Typical task · ~2K in = 2,000 · RAG-heavy · ~3.5K in = 3,500 · Long-context · ~10K in = 10,000
outputTokensPerQuery 400 Classification / label · ~50 out = 50 · Short answer · ~300 out = 300 · Typical response · ~800 out = 800 · Long-form · ~1.5K out = 1,500
modelTier balanced

Ballparks are broad industry starting points (sourced ranges; * = rough estimate) — your result gets more accurate as you replace them with measured numbers. Try them live in the calculator; API & agent users get the same data from the MCP resource aicost://input-reference/fine-tuning-cost.

📊 CALCULATOR AT A GLANCE
Fine-Tuning Cost - Training + Inference Break-Even full size

Reading your result

Training cost is upfront and fixed. $2-15K typical for production FT. Re-train cost = same as initial when you upgrade base model or substantially update training data.

Monthly savings = (frontier cost - FT cost) × queries/month. At Faisal's scale: ~$650/mo savings. Training pays back in ~6 months.

Re-training timeline matters. If you'll re-train in 9 months (vendor releases new base model), you only have 9 months to amortize. Tighter break-even threshold.

Quality lift is the bigger story usually. FT often improves task-specific accuracy 10-30% vs frontier with prompting. That's worth more than the inference savings in most production workflows.

What "good" looks like:
  • Strong FT fit: >5K queries/day + narrow domain + stable training data + $300+/mo current spend
  • Marginal: 1-5K queries/day, modest domain specificity
  • Skip FT: <1K queries/day OR rapidly changing domain (use RAG)
  • Quality-driven (volume secondary): Narrow tasks where frontier hits ceiling - legal, medical coding, format-rigid output

What this calculator can't tell you

Honest limitations. Every model is wrong; some are useful. Where this one falls short:

For these, use: RAG vs Fine-Tuning for the strategic decision. Self-Host Break-even for FT-on-own-GPUs.

Trade-offs

Cost isn't the only dimension. Click any constraint to see how recommendations change.

What matters most to you? Click any dimension — recommendations update.

Best fit for "cost":

  1. OpenAI GPT-4o-mini FT (legacy) $3/1M training, $0.30/1M inference
  2. Anthropic Haiku FT (when GA) Similar economics
  3. Self-hosted Llama / Mistral FT GPU rental + ops, lowest unit cost at scale

Hosted FT (OpenAI, Anthropic, Google) is operationally easy. Self-hosted FT is dramatically cheaper at scale - if you have ML/SRE capacity. Default to hosted; switch when scale demands.

Most popular

Everything above is the 80% case. The last 20% is where the money is.

The gaps we just listed are real, and they are the expensive ones: your actual prompts, your switching cost, your MLOps overhead. An AICost expert spends the hour on your AI and cloud costs, not a generic playbook. You leave with a written report: the way forward, in 30 days of concrete steps.

  • An hour with the people who built the engines
  • Report the same day
  • The fee credits toward any AICost plan
  • Two slots a week
Book a Solution Session: $299 → or $99 for small business →

Not sure yet? The $39 AICost Blueprint credits toward a Session, and the Session fee credits toward any plan. You never pay twice for the same ground. See all pricing →

Ready to run your own numbers?

You have seen the shape of it. Open the calculator with your model, your tokens, your volume.

🚀 Open the full calculator →

Where to go next

Should you RAG instead? →

When RAG is the better strategic call.

Self-hosted FT break-even →

GPU rental + FT ops vs hosted FT.

FT vendor lock-in exposure →

Multi-vendor strategy with FT.

Methodology

Source
https://platform.openai.com/docs/guides/fine-tuning
Extraction
Per-vendor FT pricing extracted weekly. Quality benchmarks from published case studies.
Editorial gate
8-layer defense, see aicost.ai/ai-cost-economics
Last verified
7/27/2026, 8:00:00 PM

Author: Subu Vdaygiri, Founder & CEO of CloudIntelligence.ai. 17 years Fortune 100 (Ingram Micro, Siemens). Wharton CTO program · Kellogg CPO program · 10× AWS+Azure certified.

3 years of pricing history

Why this matters: pricing for major vendors has dropped 40-90% in the last 24 months. A budget set 12 months ago is probably wrong by 30%+.

View 3-year history for →
📖 Data sources & methodology 163 text models · 9 embeddings · 37 vision · 55 audio · 8 vector DBs across 10 vendor pages · last verified 2026-07-28

Methodology

  • All prices are USD per 1 million tokens, current as of 2026-07-28.
  • Vendor-published values have no mark. Inferred/extrapolated values are marked with * and listed below.
  • Batch API discounts are 50% off standard rates across providers that offer Batch mode.
  • Prompt caching discounts vary by provider (typically 80-90% off cached input tokens).
  • Regional data-residency surcharges (Anthropic 1.1x, OpenAI 1.1x, Google regional tiers) are NOT included in base rates.
  • Long-context pricing tiers apply when input exceeds model threshold.
  • Embedding prices are input-only (no output tokens generated).

Primary sources

Last-verified date is the most recent successful daily snapshot (aicost_pricing_snapshots) or, when no snapshot exists yet, the latest successful crawler run (aicost_crawler_runs). 10 of 10 vendors are currently verified. Aggregator services (TokenCost, AI Pricing Guru, etc.) are not listed.

Anthropic
2026-07-28
https://www.anthropic.com/pricing
Daily snapshot since Sep 2023 · 631 days captured
Anthropic Docs
2026-07-28
https://platform.claude.com/docs/en/about-claude/pricing
Daily snapshot since Sep 2023 · 631 days captured
OpenAI
2026-07-28
https://openai.com/api/pricing/
Daily snapshot since Sep 2023 · 632 days captured
Google AI
2026-07-28
https://ai.google.dev/gemini-api/docs/pricing
Daily snapshot since Dec 2023 · 607 days captured
Google Vertex
2026-07-28
https://cloud.google.com/vertex-ai/generative-ai/pricing
Daily snapshot since Dec 2023 · 607 days captured
DeepSeek
2026-07-28
https://api-docs.deepseek.com/quick_start/pricing
Daily snapshot since May 2024 · 546 days captured
xAI
2026-07-28
https://x.ai/api
Daily snapshot since Nov 2024 · 464 days captured
Mistral
2026-07-28
https://mistral.ai/pricing
Daily snapshot since Dec 2023 · 605 days captured
Cohere
2026-07-28
https://cohere.com/pricing
Daily snapshot since Sep 2023 · 631 days captured

Inferred values (marked with * in calculator tables)

Derived from industry conventions, not directly published by the vendor. Typical conventions: cached input = 10% of base (90% off), Batch API = 50% of base (50% off).

Vendor / Model Field Why it’s inferred
Anthropic — Claude Sonnet 4.6 cachedInput Derived at 10% of input rate — Anthropic publishes 90% cache-hit discount on this tier.
Anthropic — Claude Sonnet 4.5 cachedInput Derived at 10% of input rate; same 90% cache-hit convention as Sonnet 4.6.
Anthropic — Claude Sonnet 4.5 batchInput Derived at 50% of standard input — Anthropic documents uniform 50% Batch discount.
Anthropic — Claude Sonnet 4.5 batchOutput Derived at 50% of standard output — Anthropic documents uniform 50% Batch discount.
Anthropic — Claude Haiku 4.5 cachedInput Derived at 10% of input rate — Anthropic 90% cache-hit discount convention.
OpenAI — GPT-5.4 Mini cachedInput Derived at 10% of input — OpenAI documents automatic 90% discount on cache hits across GPT-5.x tier.
OpenAI — GPT-5.4 Nano cachedInput Derived at 10% of input — OpenAI 90% cache-hit convention.
OpenAI — GPT-5.4 Nano batchInput Derived at 50% of input — OpenAI Batch API uniform 50% discount.
OpenAI — GPT-5.4 Nano batchOutput Derived at 50% of output — OpenAI Batch API uniform 50% discount.
OpenAI — GPT-5.4 Pro cachedInput Derived at 10% of input — OpenAI 90% cache-hit convention.
OpenAI — GPT-5.4 Pro batchInput Derived at 50% of input — OpenAI Batch API uniform 50% discount.
OpenAI — GPT-5.4 Pro batchOutput Derived at 50% of output — OpenAI Batch API uniform 50% discount.
OpenAI — GPT-5.2 cachedInput Derived at 10% of input; no residency uplift.
OpenAI — GPT-5.2 batchInput Derived at 50% of input.
OpenAI — GPT-5.2 batchOutput Derived at 50% of output.
OpenAI — GPT-5 cachedInput Derived at 10% of input.
OpenAI — GPT-5 batchInput Derived at 50% of input.
OpenAI — GPT-5 batchOutput Derived at 50% of output.
OpenAI — GPT-5.5 Pro cachedInput Derived at 10% of input — OpenAI does not publish a cached rate for *-pro models; using the family convention.
OpenAI — GPT-5.5 Pro batchInput Derived at 50% of input.
OpenAI — GPT-5.5 Pro batchOutput Derived at 50% of output.
OpenAI — GPT-5.2 Pro cachedInput Derived at 10% of input — pro-tier convention.
OpenAI — GPT-5.2 Pro batchInput Derived at 50% of input.
OpenAI — GPT-5.2 Pro batchOutput Derived at 50% of output.
OpenAI — GPT-5.1 batchInput Derived at 50% of input.
OpenAI — GPT-5.1 batchOutput Derived at 50% of output.
OpenAI — GPT-5 Pro batchInput Derived at 50% of input.
OpenAI — GPT-5 Pro batchOutput Derived at 50% of output.
OpenAI — GPT-5 Nano cachedInput Derived at 10% of input.
OpenAI — GPT-5 Nano batchInput Derived at 50% of input.
OpenAI — GPT-5 Nano batchOutput Derived at 50% of output.
Google — Gemini 3 Flash cachedInput Derived at 10% of input — Google caching discount convention ~90%.
Google — Gemini 3.1 Flash-Lite cachedInput Derived at 10% of input — Google caching convention.
Google — Gemini 3.1 Flash-Lite batchInput Derived at 50% of input — Google Batch API uniform 50% discount.
Google — Gemini 3.1 Flash-Lite batchOutput Derived at 50% of output — Google Batch API uniform 50% discount.
Google — Gemini 2.5 Pro cachedInput Derived at 10% of input.
Google — Gemini 2.5 Flash cachedInput Derived at 10% of input.
Google — Gemini 2.5 Flash-Lite cachedInput Derived at 10% of input — Google caching convention.
Google — Gemini 2.5 Flash-Lite batchInput Derived at 50% of input — Google Batch API uniform 50% discount.
Google — Gemini 2.5 Flash-Lite batchOutput Derived at 50% of output — Google Batch API uniform 50% discount.
Google — Gemini 2.0 Flash cachedInput Derived at 25% of input per Google 2.0 family caching rates.
Google — Gemini 2.0 Flash batchInput Derived at 50% of input — Google Batch API uniform 50% discount.
Google — Gemini 2.0 Flash batchOutput Derived at 50% of output — Google Batch API uniform 50% discount.
Google — Gemini 2.0 Flash-Lite cachedInput Derived at 10% of input — Google caching convention.
Google — Gemini 2.0 Flash-Lite batchInput Derived at 50% of input — Google Batch API uniform 50% discount.
Google — Gemini 2.0 Flash-Lite batchOutput Derived at 50% of output — Google Batch API uniform 50% discount.
xAI — Grok 4 (legacy) cachedInput Extrapolated at 25% of base.

Pricing is cross-verified against the LiteLLM community registry when available. Daily snapshots are kept in aicost_pricing_snapshots; every change is logged to aicost_price_changelog with old & new values for full audit trail. Read the full methodology →