{
  "_meta": {
    "verifiedAt": "2026-11-01",
    "unit": "USD per 1M tokens unless noted",
    "sources": {
      "openai": "https://developers.openai.com/api/docs/pricing (standard tier, <272K context)",
      "anthropic": "https://platform.claude.com/docs/en/about-claude/pricing"
    },
    "note": "Models absent from this file have no verified price; the app must display their cost as unknown."
  },
  "openai": {
    "gpt-6-astra": {"input": 10, "cachedInput": 1, "output": 50, "notes": "long context (>272K) $20/$2/$75"},
    "gpt-6.1-sol": {"input": 2, "cachedInput": 0.10, "output": 10},
    "gpt-6.1-terra": {"input": 1, "cachedInput": 0.05, "output": 5},
    "gpt-6-luna": {"input": 0.10, "cachedInput": 0.01, "output": 0.50},
    "gpt-6-sol": {"input": 2, "cachedInput": 0.20, "output": 10},
    "gpt-5.6-sol": {"input": 4, "cachedInput": 0.40, "output": 20, "notes": "promotional through at least 2026-11-21"},
    "gpt-5.6-terra": {"input": 2, "cachedInput": 0.20, "output": 12},
    "gpt-5.6-luna": {"input": 0.20, "cachedInput": 0.02, "output": 1.20},
    "gpt-5.5": {"input": 5, "cachedInput": 0.50, "output": 30},
    "gpt-5.5-pro": {"input": 30, "output": 180},
    "gpt-5.4": {"input": 2.50, "cachedInput": 0.25, "output": 15},
    "gpt-5.4-pro": {"input": 30, "output": 180},
    "gpt-5.4-mini": {"input": 0.75, "cachedInput": 0.075, "output": 4.50},
    "gpt-5.4-nano": {"input": 0.20, "cachedInput": 0.02, "output": 1.25},
    "gpt-5.2": {"input": 1.75, "cachedInput": 0.175, "output": 14},
    "gpt-5.2-pro": {"input": 21, "output": 168},
    "gpt-5.1": {"input": 1.25, "cachedInput": 0.125, "output": 10},
    "gpt-5": {"input": 1.25, "cachedInput": 0.125, "output": 10},
    "gpt-5-mini": {"input": 0.25, "cachedInput": 0.025, "output": 2},
    "gpt-5-nano": {"input": 0.05, "cachedInput": 0.005, "output": 0.40},
    "gpt-5-pro": {"input": 15, "output": 120},
    "gpt-4.1": {"input": 2, "cachedInput": 0.50, "output": 8},
    "gpt-4.1-mini": {"input": 0.40, "cachedInput": 0.10, "output": 1.60},
    "gpt-4.1-nano": {"input": 0.10, "cachedInput": 0.025, "output": 0.40},
    "gpt-4o": {"input": 2.50, "cachedInput": 1.25, "output": 10},
    "gpt-4o-mini": {"input": 0.15, "cachedInput": 0.075, "output": 0.60},
    "o1": {"input": 15, "cachedInput": 7.50, "output": 60},
    "o1-pro": {"input": 150, "output": 600},
    "o3-pro": {"input": 20, "output": 80},
    "o3": {"input": 2, "cachedInput": 0.50, "output": 8},
    "o4-mini": {"input": 1.10, "cachedInput": 0.275, "output": 4.40},
    "o3-mini": {"input": 1.10, "cachedInput": 0.55, "output": 4.40},
    "gpt-4-turbo": {"input": 10, "output": 30, "notes": "listed as gpt-4-turbo-2024-04-09"},
    "gpt-4": {"input": 30, "output": 60, "notes": "listed as gpt-4-0613"},
    "gpt-3.5-turbo": {"input": 0.50, "output": 1.50},
    "chat-latest": {"input": 5, "cachedInput": 0.50, "output": 30, "notes": "ChatGPT model"},
    "gpt-5.3-codex": {"input": 1.75, "cachedInput": 0.175, "output": 14},
    "gpt-5-search-api": {"input": 1.25, "cachedInput": 0.125, "output": 10},
    "gpt-image-2.5-sunburst": {"imageInput": 8, "imageCachedInput": 2, "imageOutput": 30, "input": 5, "cachedInput": 1.25, "unit": "image tokens / text tokens"},
    "gpt-image-2.5-flare": {"imageInput": 8, "imageCachedInput": 2, "imageOutput": 30, "input": 5, "cachedInput": 1.25, "unit": "image tokens / text tokens"},
    "gpt-image-2": {"imageInput": 8, "imageCachedInput": 2, "imageOutput": 30, "input": 5, "cachedInput": 1.25, "unit": "image tokens / text tokens"},
    "gpt-image-1.5": {"imageInput": 8, "imageCachedInput": 2, "imageOutput": 32, "input": 5, "cachedInput": 1.25, "output": 10, "unit": "image tokens / text tokens"},
    "gpt-image-1-mini": {"imageInput": 2.50, "imageCachedInput": 0.25, "imageOutput": 8, "input": 2, "cachedInput": 0.20, "unit": "image tokens / text tokens"},
    "chatgpt-image-latest": {"imageInput": 8, "imageCachedInput": 2, "imageOutput": 32, "input": 5, "cachedInput": 1.25, "output": 10, "unit": "image tokens / text tokens"},
    "gpt-realtime-2.1": {"audioInput": 32, "audioOutput": 64, "input": 4, "cachedInput": 0.40, "output": 24, "unit": "audio tokens / text tokens"},
    "gpt-realtime-2.1-mini": {"audioInput": 10, "audioOutput": 20, "input": 0.60, "cachedInput": 0.06, "output": 2.40},
    "gpt-realtime-2": {"audioInput": 32, "audioOutput": 64, "input": 4, "cachedInput": 0.40, "output": 24},
    "gpt-realtime-1.5": {"audioInput": 32, "audioOutput": 64, "input": 4, "cachedInput": 0.40, "output": 16},
    "gpt-realtime": {"audioInput": 32, "audioOutput": 64, "input": 4, "cachedInput": 0.40, "output": 16},
    "gpt-realtime-mini": {"audioInput": 10, "audioOutput": 20, "input": 0.60, "cachedInput": 0.06, "output": 2.40},
    "gpt-audio-1.5": {"audioInput": 32, "audioOutput": 64, "input": 2.50, "output": 10},
    "gpt-audio": {"audioInput": 32, "audioOutput": 64, "input": 2.50, "output": 10},
    "gpt-audio-mini": {"audioInput": 10, "audioOutput": 20, "input": 0.60, "output": 2.40},
    "gpt-4o-mini-tts": {"input": 0.60, "audioOutput": 12, "notes": "~$0.015 per minute"},
    "tts-1": {"perMillionCharacters": 15},
    "tts-1-hd": {"perMillionCharacters": 30},
    "gpt-live-1": {"perMinute": 0.05},
    "gpt-realtime-translate": {"perMinute": 0.034},
    "gpt-live-transcribe": {"perMinute": 0.017},
    "gpt-realtime-whisper": {"perMinute": 0.017},
    "gpt-transcribe": {"perMinute": 0.0045},
    "gpt-4o-transcribe": {"audioInput": 2.50, "output": 10, "perMinute": 0.006},
    "gpt-4o-mini-transcribe": {"audioInput": 1.25, "output": 5, "perMinute": 0.003},
    "gpt-4o-transcribe-diarize": {"audioInput": 2.50, "output": 10, "perMinute": 0.006},
    "whisper-1": {"perMinute": 0.006, "notes": "page lists 'Whisper'"},
    "text-embedding-3-small": {"input": 0.02},
    "text-embedding-3-large": {"input": 0.13},
    "text-embedding-ada-002": {"input": 0.10},
    "omni-moderation-latest": {"input": 0, "notes": "free"}
  },
  "anthropic": {
    "claude-fable-5-1": {"input": 10, "cacheWrite5m": 12.50, "cacheWrite1h": 20, "cachedInput": 0.25, "output": 50},
    "claude-fable-5": {"input": 10, "cacheWrite5m": 12.50, "cacheWrite1h": 20, "cachedInput": 1, "output": 50},
    "claude-opus-5-5": {"input": 4, "cacheWrite5m": 5, "cacheWrite1h": 8, "cachedInput": 0.20, "output": 20},
    "claude-opus-5": {"input": 5, "cacheWrite5m": 6.25, "cacheWrite1h": 10, "cachedInput": 0.50, "output": 25},
    "claude-opus-4-8": {"input": 5, "cacheWrite5m": 6.25, "cacheWrite1h": 10, "cachedInput": 0.50, "output": 25},
    "claude-opus-4-7": {"input": 5, "cacheWrite5m": 6.25, "cacheWrite1h": 10, "cachedInput": 0.50, "output": 25},
    "claude-opus-4-6": {"input": 5, "cacheWrite5m": 6.25, "cacheWrite1h": 10, "cachedInput": 0.50, "output": 25},
    "claude-opus-4-5-20251101": {"input": 5, "cacheWrite5m": 6.25, "cacheWrite1h": 10, "cachedInput": 0.50, "output": 25},
    "claude-sonnet-5-5": {"input": 2, "cacheWrite5m": 2.50, "cacheWrite1h": 4, "cachedInput": 0.10, "output": 10},
    "claude-sonnet-5": {"input": 2, "cacheWrite5m": 2.50, "cacheWrite1h": 4, "cachedInput": 0.20, "output": 10},
    "claude-sonnet-4-6": {"input": 3, "cacheWrite5m": 3.75, "cacheWrite1h": 6, "cachedInput": 0.30, "output": 15},
    "claude-sonnet-4-5-20250929": {"input": 3, "cacheWrite5m": 3.75, "cacheWrite1h": 6, "cachedInput": 0.30, "output": 15, "notes": "deprecated, retires 2026-11-30"},
    "claude-haiku-5-5": {"input": 0.10, "cacheWrite5m": 0.125, "cacheWrite1h": 0.20, "cachedInput": 0.01, "output": 0.50, "notes": "prompts >100K tokens: $0.50/$2.50"},
    "claude-haiku-4-5-20251001": {"input": 1, "cacheWrite5m": 1.25, "cacheWrite1h": 2, "cachedInput": 0.10, "output": 5}
  }
}
