Beta aicost.ai cost engines are in beta. Estimates only. See Terms.

What does keeping up with model churn cost?

Models live about 12 to 18 months, then get deprecated. Each forced migration is not a one-line model-string change: it is prompt re-baselining, regression, and QA, commonly two engineers for two weeks and sometimes 400+ prompt hours. Price the model-drift fix bill that pairs with eval's detect bill.

What this calculator does

Prices the recurring cost of responding to model drift: forced migrations when a provider deprecates your model, prompt re-baselining and regression after each swap, periodic re-tuning to counter quality drift, and steady-state prompt-ops. This is the fix bill that pairs with eval-hallucination-cost, which is the detect bill, on the model side.

Why use it
  • Models live ~12-18 months and are deprecated regularly, forcing migrations you do not choose
  • A forced migration is never a one-line model-string change: it is prompt re-baselining, regression, and QA
  • Surfaces the steady-state prompt-ops cost of managing behavior, not just shipping features
  • Completes the model-drift picture: eval detects the regression, this prices the fix

New to this calculator? Start with the ⚡ Playground — a few sliders, instant ballpark. Then switch to the 🧮 Calculator for your exact number.

Two ways to use this: visualize in the Playground, then get your number in the Calculator.

Model Maintenance Cost Playground
Drag the sliders for an instant estimate.
What will model churn cost?

Forced migrations x eng-days, plus re-tuning and steady-state prompt-ops. This is the model-drift fix bill.

Estimated annual cost
Change the input sliders below to see new estimates.

How we got this estimate

💡Annual = migrations x eng-days x day-rate + re-tunes + prompt-ops days x 12 x day-rate.

Model Maintenance Cost

Forced migrations, re-tuning, and prompt-ops → annual model-drift fix cost, cost per migration, and percent of spend.
📊 Not sure of a value? Fields with a ▾ Typical pill offer broad industry ballparks (sourced typical ranges) so you can move forward now — your result gets more accurate as you replace them with your own measured numbers. Values marked * are rough estimates.
Hint: How many times a year a vendor forces you onto a new model.
Hint: Engineer-days to move to a new model each time.
Hint: Fully-loaded engineer cost per day (pay + overhead, ~$800-1,200).
Hint: How many times a year you re-tune prompts or fine-tunes.
Hint: What one re-tune costs you, in dollars.
Hint: Engineer-days a month spent tending prompts.
Hint: Your total AI spend for the year, for context.

Results

Set how often you are force-migrated, the effort per migration, and your re-tune and prompt-ops cadence, then calculate to see the annual model-drift fix bill.
📖 Data sources & methodology 150 text models · 9 embeddings · 40 vision · 55 audio · 8 vector DBs across 10 vendor pages · last verified 2026-09-05

Methodology

  • All prices are USD per 1 million tokens, current as of 2026-09-05.
  • 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-09-05
https://www.anthropic.com/pricing
Daily snapshot since Sep 2023 · 670 days captured
Anthropic Docs
2026-09-05
https://platform.claude.com/docs/en/about-claude/pricing
Daily snapshot since Sep 2023 · 670 days captured
OpenAI
2026-09-05
https://openai.com/api/pricing/
Daily snapshot since Sep 2023 · 671 days captured
Google AI
2026-09-05
https://ai.google.dev/gemini-api/docs/pricing
Daily snapshot since Dec 2023 · 646 days captured
Google Vertex
2026-09-05
https://cloud.google.com/vertex-ai/generative-ai/pricing
Daily snapshot since Dec 2023 · 646 days captured
DeepSeek
2026-09-05
https://api-docs.deepseek.com/quick_start/pricing
Daily snapshot since May 2024 · 585 days captured
xAI
2026-09-05
https://x.ai/api
Daily snapshot since Nov 2024 · 503 days captured
Mistral
2026-09-05
https://mistral.ai/pricing
Daily snapshot since Dec 2023 · 644 days captured
Cohere
2026-09-05
https://cohere.com/pricing
Daily snapshot since Sep 2023 · 670 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.
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 →