{
  "fetched": "2026-11-11",
  "units": "USD per 1M tokens",
  "sources": {
    "anthropic": "https://platform.claude.com/docs/en/about-claude/pricing",
    "openai": "https://developers.openai.com/api/docs/pricing",
    "google": "https://aistudio.google.com/docs/pricing"
  },
  "notes": [
    "Prices are the public list prices read from the official pages on the fetched date. Cached-input = cache read / cache hit rate.",
    "Anthropic: Batch API is 50 percent off input and output (stated on the page). Cache write (5 minute) premium is 1.25x input.",
    "OpenAI: the page does not print a batch percentage; its Batch prices are half of Standard in the examples it lists (e.g. gpt-6-astra input 5.00 vs 10.00), so 0.5 is used. OpenAI has no cache-write fee.",
    "Google: Standard, context-cache and Batch prices are printed per model; batch is exactly half. Context-cache storage fees are not modelled. Gemini 4 Carbon list prices rise on 2026-12-01 to input 4.00 / cache 0.20 / output 20.00; the table uses the prices valid on the fetch date.",
    "Role mapping is an assumption: the experiment ran on a proxy, so each family's 'big' and 'small' tier is the commercial model of a comparable class. Token counts are the real counts from the proxy models; the same counts are priced under each family."
  ],
  "batch_factor": 0.5,
  "families": {
    "anthropic": {
      "label": "Anthropic",
      "big":   {"model": "Claude Sonnet 5.5", "input": 2.00, "cached_input": 0.10, "cache_write": 2.50, "output": 10.00},
      "small": {"model": "Claude Haiku 5.5 (prompts up to 100k)", "input": 0.10, "cached_input": 0.01, "cache_write": 0.125, "output": 0.50}
    },
    "openai": {
      "label": "OpenAI",
      "big":   {"model": "gpt-6.1-sol", "input": 2.00, "cached_input": 0.10, "output": 10.00},
      "small": {"model": "gpt-6-luna", "input": 0.10, "cached_input": 0.01, "output": 0.50}
    },
    "google": {
      "label": "Google",
      "big":   {"model": "gemini-4-carbon", "input": 2.00, "cached_input": 0.10, "output": 10.00},
      "small": {"model": "gemini-3.1-flash-lite", "input": 0.25, "cached_input": 0.025, "output": 1.50}
    }
  },
  "reference_models_seen": {
    "anthropic": {"Claude Fable 5.2": [8, 0.20, 40], "Claude Opus 5.5": [4, 0.20, 20], "Claude Sonnet 5.5": [2, 0.10, 10], "Claude Haiku 5.5": [0.10, 0.01, 0.50], "Claude Haiku 4.5": [1, 0.10, 5]},
    "openai": {"gpt-6-astra": [10, 1.00, 50], "gpt-6.1-sol": [2, 0.10, 10], "gpt-6.1-terra": [1, 0.05, 5], "gpt-6-luna": [0.10, 0.01, 0.50], "gpt-5.4-mini": [0.75, 0.075, 4.50]},
    "google": {"gemini-4-carbon": [2, 0.10, 10], "gemini-3.8-flash": [0.75, 0.075, 3.75], "gemini-3.5-flash-lite": [0.30, 0.03, 2.50], "gemini-3.1-flash-lite": [0.25, 0.025, 1.50]},
    "format": "[input, cached_input, output] USD per 1M tokens"
  }
}
