{
  "name": "Solvency model pricing dataset",
  "license": "CC-BY-4.0",
  "attribution": "Source: Solvency (solvency.dev)",
  "note": "Prices verified against each provider's own pricing page on the last_verified date. Benchmark pass rates are NOT included: they are third-party and are cited and linked rather than redistributed.",
  "generated_from": "data/models.json",
  "schema_version": "1.0.0",
  "price_basis": "Standard (non-batch) list price, global/default routing, no negotiated discount.",
  "models": [
    {
      "model_id": "claude-opus-5",
      "provider": "anthropic",
      "display_name": "Claude Opus 5",
      "status": "current",
      "capability_class": "frontier",
      "input_per_mtok": 5,
      "output_per_mtok": 25,
      "cached_input_per_mtok": 0.5,
      "context_window": 1000000,
      "source_url": "https://platform.claude.com/docs/en/about-claude/pricing",
      "last_verified": "2026-08-21",
      "pricing_notes": "Cache hit (read) rate shown. 5m cache write $6.25, 1h cache write $10. Full 1M context at standard rate. inference_geo=us applies 1.1x."
    },
    {
      "model_id": "claude-sonnet-5",
      "provider": "anthropic",
      "display_name": "Claude Sonnet 5",
      "status": "current",
      "capability_class": "frontier",
      "input_per_mtok": 2,
      "output_per_mtok": 10,
      "cached_input_per_mtok": 0.2,
      "context_window": 1000000,
      "source_url": "https://platform.claude.com/docs/en/about-claude/pricing",
      "last_verified": "2026-08-21",
      "pricing_notes": "Launch introductory $2/$10 became the standard price; the previously scheduled 2026-09-01 increase to $3/$15 was cancelled per the pricing page."
    },
    {
      "model_id": "claude-haiku-4-5",
      "provider": "anthropic",
      "display_name": "Claude Haiku 4.5",
      "status": "current",
      "capability_class": "small",
      "input_per_mtok": 1,
      "output_per_mtok": 5,
      "cached_input_per_mtok": 0.1,
      "context_window": 200000,
      "source_url": "https://platform.claude.com/docs/en/about-claude/pricing",
      "last_verified": "2026-08-21",
      "pricing_notes": "200k context, 64k max output."
    },
    {
      "model_id": "gpt-5.6-sol",
      "provider": "openai",
      "display_name": "GPT-5.6 Sol",
      "status": "current",
      "capability_class": "frontier",
      "input_per_mtok": 5,
      "output_per_mtok": 30,
      "cached_input_per_mtok": 0.5,
      "context_window": 1050000,
      "source_url": "https://developers.openai.com/api/docs/pricing",
      "last_verified": "2026-08-21",
      "pricing_notes": "Context window from the models catalog page (1.05M)."
    },
    {
      "model_id": "gpt-5.6-terra",
      "provider": "openai",
      "display_name": "GPT-5.6 Terra",
      "status": "current",
      "capability_class": "frontier",
      "input_per_mtok": 2,
      "output_per_mtok": 12,
      "cached_input_per_mtok": 0.2,
      "context_window": 1050000,
      "source_url": "https://developers.openai.com/api/docs/pricing",
      "last_verified": "2026-08-21",
      "pricing_notes": null
    },
    {
      "model_id": "gpt-5.6-luna",
      "provider": "openai",
      "display_name": "GPT-5.6 Luna",
      "status": "current",
      "capability_class": "small",
      "input_per_mtok": 0.2,
      "output_per_mtok": 1.2,
      "cached_input_per_mtok": 0.02,
      "context_window": 1050000,
      "source_url": "https://developers.openai.com/api/docs/pricing",
      "last_verified": "2026-08-21",
      "pricing_notes": null
    },
    {
      "model_id": "gpt-5.3-codex",
      "provider": "openai",
      "display_name": "GPT-5.3 Codex",
      "status": "current",
      "capability_class": "frontier",
      "input_per_mtok": 1.75,
      "output_per_mtok": 14,
      "cached_input_per_mtok": 0.175,
      "context_window": null,
      "source_url": "https://developers.openai.com/api/docs/pricing",
      "last_verified": "2026-08-21",
      "pricing_notes": "Context window NOT LISTED on the models catalog page consulted; recorded as missing rather than inferred."
    },
    {
      "model_id": "gemini-3.1-pro-preview",
      "provider": "google",
      "display_name": "Gemini 3.1 Pro (preview)",
      "status": "current",
      "capability_class": "frontier",
      "input_per_mtok": 2,
      "output_per_mtok": 12,
      "cached_input_per_mtok": 0.2,
      "context_window": null,
      "source_url": "https://ai.google.dev/gemini-api/docs/pricing",
      "last_verified": "2026-08-21",
      "pricing_notes": "PROMPT-LENGTH TIERED. Rates shown apply to prompts <= 200k tokens. Above 200k: $4.00 in / $18.00 out / $0.40 cache. All Solvency task tiers stay under 200k, so the low tier is the correct one. Context window not stated on the pricing page."
    },
    {
      "model_id": "gemini-3.7-flash",
      "provider": "google",
      "display_name": "Gemini 3.7 Flash",
      "status": "current",
      "capability_class": "small",
      "input_per_mtok": 0.75,
      "output_per_mtok": 3.75,
      "cached_input_per_mtok": 0.075,
      "context_window": null,
      "source_url": "https://ai.google.dev/gemini-api/docs/pricing",
      "last_verified": "2026-08-21",
      "pricing_notes": "PROMOTIONAL PRICING through 2026-12-31. From 2027-01-01 the page states input doubles to $1.50, output to $7.50, cache to $0.15. Context window not stated on the pricing page."
    },
    {
      "model_id": "deepseek-v4-pro",
      "provider": "deepseek",
      "display_name": "DeepSeek V4 Pro",
      "status": "current",
      "capability_class": "frontier",
      "input_per_mtok": 1.32,
      "output_per_mtok": 3.96,
      "cached_input_per_mtok": 0.044,
      "context_window": 1000000,
      "source_url": "https://api-docs.deepseek.com/quick_start/pricing/",
      "last_verified": "2026-08-21",
      "pricing_notes": "TIME-OF-DAY PRICING. Peak rates recorded (conservative). Off-peak: $0.66 in / $1.98 out / $0.022 cache. Peak = 01:00-04:00 and 06:00-10:00 UTC."
    },
    {
      "model_id": "deepseek-v4-flash",
      "provider": "deepseek",
      "display_name": "DeepSeek V4 Flash",
      "status": "current",
      "capability_class": "small",
      "input_per_mtok": 0.44,
      "output_per_mtok": 1.32,
      "cached_input_per_mtok": 0.014,
      "context_window": 1000000,
      "source_url": "https://api-docs.deepseek.com/quick_start/pricing/",
      "last_verified": "2026-08-21",
      "pricing_notes": "TIME-OF-DAY PRICING. Peak rates recorded (conservative). Off-peak: $0.22 in / $0.66 out / $0.007 cache."
    },
    {
      "model_id": "grok-4.6",
      "provider": "xai",
      "display_name": "Grok 4.6",
      "status": "current",
      "capability_class": "frontier",
      "input_per_mtok": 2,
      "output_per_mtok": 6,
      "cached_input_per_mtok": 0.5,
      "context_window": 500000,
      "source_url": "https://docs.x.ai/docs/models",
      "last_verified": "2026-08-21",
      "pricing_notes": "PROMPT-LENGTH TIERED. Rates apply to prompts < 200k. At >= 200k the whole request bills at $4.00 in / $12.00 out / $1.00 cache."
    },
    {
      "model_id": "mistral-medium-latest",
      "provider": "mistral",
      "display_name": "Mistral Medium 3.5",
      "status": "current",
      "capability_class": "small",
      "input_per_mtok": 1.5,
      "output_per_mtok": 7.5,
      "cached_input_per_mtok": null,
      "context_window": null,
      "source_url": "https://mistral.ai/pricing/api",
      "last_verified": "2026-08-21",
      "pricing_notes": "Mistral's recommended coding model. Cached-input rate and context window NOT PUBLISHED on the API pricing page; recorded as missing. Regional inference adds 10%."
    },
    {
      "model_id": "gpt-5",
      "provider": "openai",
      "display_name": "GPT-5",
      "status": "legacy",
      "capability_class": "frontier",
      "input_per_mtok": 1.25,
      "output_per_mtok": 10,
      "cached_input_per_mtok": 0.125,
      "context_window": null,
      "source_url": "https://developers.openai.com/api/docs/pricing",
      "last_verified": "2026-08-21",
      "pricing_notes": "Retained because it is the highest-scoring model on the Aider polyglot benchmark and is still list-priced."
    },
    {
      "model_id": "o3",
      "provider": "openai",
      "display_name": "o3",
      "status": "legacy",
      "capability_class": "frontier",
      "input_per_mtok": 2,
      "output_per_mtok": 8,
      "cached_input_per_mtok": 0.5,
      "context_window": null,
      "source_url": "https://developers.openai.com/api/docs/pricing",
      "last_verified": "2026-08-21",
      "pricing_notes": "Retained for benchmark join coverage."
    },
    {
      "model_id": "o3-pro",
      "provider": "openai",
      "display_name": "o3-pro",
      "status": "legacy",
      "capability_class": "frontier",
      "input_per_mtok": 20,
      "output_per_mtok": 80,
      "cached_input_per_mtok": null,
      "context_window": null,
      "source_url": "https://developers.openai.com/api/docs/pricing",
      "last_verified": "2026-08-21",
      "pricing_notes": "No cached-input rate published. Retained for benchmark join coverage."
    },
    {
      "model_id": "gpt-4.1",
      "provider": "openai",
      "display_name": "GPT-4.1",
      "status": "legacy",
      "capability_class": "small",
      "input_per_mtok": 2,
      "output_per_mtok": 8,
      "cached_input_per_mtok": 0.5,
      "context_window": null,
      "source_url": "https://developers.openai.com/api/docs/pricing",
      "last_verified": "2026-08-21",
      "pricing_notes": "Retained for benchmark join coverage."
    },
    {
      "model_id": "gemini-2.5-pro",
      "provider": "google",
      "display_name": "Gemini 2.5 Pro",
      "status": "legacy",
      "capability_class": "frontier",
      "input_per_mtok": 1.25,
      "output_per_mtok": 10,
      "cached_input_per_mtok": 0.125,
      "context_window": null,
      "source_url": "https://ai.google.dev/gemini-api/docs/pricing",
      "last_verified": "2026-08-21",
      "pricing_notes": "PROMPT-LENGTH TIERED; rates apply to prompts <= 200k. Retained for benchmark join coverage."
    },
    {
      "model_id": "claude-opus-4",
      "provider": "anthropic",
      "display_name": "Claude Opus 4",
      "status": "retired",
      "capability_class": "frontier",
      "input_per_mtok": 15,
      "output_per_mtok": 75,
      "cached_input_per_mtok": 1.5,
      "context_window": null,
      "source_url": "https://platform.claude.com/docs/en/about-claude/pricing",
      "last_verified": "2026-08-21",
      "pricing_notes": "RETIRED on the first-party API; still available and priced on Google Cloud. Retained for benchmark join coverage only."
    },
    {
      "model_id": "claude-sonnet-4",
      "provider": "anthropic",
      "display_name": "Claude Sonnet 4",
      "status": "retired",
      "capability_class": "frontier",
      "input_per_mtok": 3,
      "output_per_mtok": 15,
      "cached_input_per_mtok": 0.3,
      "context_window": null,
      "source_url": "https://platform.claude.com/docs/en/about-claude/pricing",
      "last_verified": "2026-08-21",
      "pricing_notes": "RETIRED on the first-party API; still available and priced on Bedrock and Google Cloud. Retained for benchmark join coverage only."
    },
    {
      "model_id": "claude-fable-5",
      "provider": "anthropic",
      "display_name": "Claude Fable 5",
      "status": "current",
      "capability_class": "frontier",
      "input_per_mtok": 10,
      "output_per_mtok": 50,
      "cached_input_per_mtok": 1,
      "context_window": 1000000,
      "source_url": "https://platform.claude.com/docs/en/about-claude/pricing",
      "last_verified": "2026-08-21",
      "pricing_notes": "Anthropic's most capable widely released model, GA 2026-06-09. Uses the Opus 4.7-generation tokenizer, which produces ~30% more tokens for the same text than pre-4.7 models — a real cost factor not visible in the per-token price."
    },
    {
      "model_id": "grok-4.5",
      "provider": "xai",
      "display_name": "Grok 4.5",
      "status": "current",
      "capability_class": "frontier",
      "input_per_mtok": 2,
      "output_per_mtok": 6,
      "cached_input_per_mtok": 0.3,
      "context_window": 500000,
      "source_url": "https://docs.x.ai/docs/models",
      "last_verified": "2026-08-21",
      "pricing_notes": "PROMPT-LENGTH TIERED; rates apply to prompts < 200k. At >= 200k: $4.00 in / $12.00 out / $0.60 cache."
    },
    {
      "model_id": "gpt-5.4",
      "provider": "openai",
      "display_name": "GPT-5.4",
      "status": "current",
      "capability_class": "frontier",
      "input_per_mtok": 2.5,
      "output_per_mtok": 15,
      "cached_input_per_mtok": 0.25,
      "context_window": 272000,
      "source_url": "https://developers.openai.com/api/docs/pricing",
      "last_verified": "2026-08-21",
      "pricing_notes": "Pricing page lists context as <272K."
    },
    {
      "model_id": "claude-opus-4-6",
      "provider": "anthropic",
      "display_name": "Claude Opus 4.6",
      "status": "legacy",
      "capability_class": "frontier",
      "input_per_mtok": 5,
      "output_per_mtok": 25,
      "cached_input_per_mtok": 0.5,
      "context_window": 1000000,
      "source_url": "https://platform.claude.com/docs/en/about-claude/pricing",
      "last_verified": "2026-08-21",
      "pricing_notes": "Listed under legacy models on the models overview page; still list-priced."
    },
    {
      "model_id": "claude-opus-4-5",
      "provider": "anthropic",
      "display_name": "Claude Opus 4.5",
      "status": "legacy",
      "capability_class": "frontier",
      "input_per_mtok": 5,
      "output_per_mtok": 25,
      "cached_input_per_mtok": 0.5,
      "context_window": 200000,
      "source_url": "https://platform.claude.com/docs/en/about-claude/pricing",
      "last_verified": "2026-08-21",
      "pricing_notes": "Listed under legacy models; still list-priced."
    }
  ]
}
