# Taken from https://www.llm-prices.com/
# Moving to here until PRs are review e.g. https://github.com/simonw/llm-prices/pull/48
PRICES = {
    "updated_at": "2026-02-22",
    "prices": [
        {
            "id": "amazon-nova-micro",
            "vendor": "amazon",
            "name": "Amazon Nova Micro",
            "input": 0.035,
            "output": 0.14,
            "input_cached": None,
        },
        {
            "id": "amazon-nova-lite",
            "vendor": "amazon",
            "name": "Amazon Nova Lite",
            "input": 0.06,
            "output": 0.24,
            "input_cached": None,
        },
        {
            "id": "amazon-nova-pro",
            "vendor": "amazon",
            "name": "Amazon Nova Pro",
            "input": 0.8,
            "output": 3.2,
            "input_cached": None,
        },
        {
            "id": "amazon-nova-premier",
            "vendor": "amazon",
            "name": "Amazon Nova Premier",
            "input": 2.5,
            "output": 12.5,
            "input_cached": None,
        },
        {
            "id": "amazon-nova-2-omni-preview",
            "vendor": "amazon",
            "name": "Amazon Nova 2 Omni (Preview)",
            "input": 0.3,
            "output": 2.5,
            "input_cached": None,
        },
        {
            "id": "amazon-nova-2-pro-preview",
            "vendor": "amazon",
            "name": "Amazon Nova 2 Pro (Preview)",
            "input": 1.25,
            "output": 10.0,
            "input_cached": None,
        },
        {
            "id": "amazon-nova-2-lite",
            "vendor": "amazon",
            "name": "Amazon Nova 2 Lite",
            "input": 0.3,
            "output": 2.5,
            "input_cached": None,
        },
        {
            "id": "amazon.titan-image-generator-v2:0",
            "vendor": "amazon",
            "name": "Titan Image Generator v2*",
            "input": 5.0,
            "output": 5.0,
            "input_cached": None,
        },
        {
            "id": "amazon.nova-canvas-v1:0",
            "vendor": "amazon",
            "name": "Amazon Nova Canvas v1*",
            "input": 20.0,
            "output": 20.0,
            "input_cached": None,
        },
        {
            "id": "claude-3.7-sonnet",
            "vendor": "anthropic",
            "name": "Claude 3.7 Sonnet",
            "input": 3,
            "output": 15,
            "input_cached": None,
        },
        {
            "id": "claude-3.5-sonnet",
            "vendor": "anthropic",
            "name": "Claude 3.5 Sonnet",
            "input": 3,
            "output": 15,
            "input_cached": None,
        },
        {
            "id": "claude-3-opus",
            "vendor": "anthropic",
            "name": "Claude 3 Opus",
            "input": 15,
            "output": 75,
            "input_cached": None,
        },
        {
            "id": "claude-3-haiku",
            "vendor": "anthropic",
            "name": "Claude 3 Haiku",
            "input": 0.25,
            "output": 1.25,
            "input_cached": None,
        },
        {
            "id": "claude-3.5-haiku",
            "vendor": "anthropic",
            "name": "Claude 3.5 Haiku",
            "input": 0.8,
            "output": 4,
            "input_cached": None,
        },
        {
            "id": "claude-4.5-haiku",
            "vendor": "anthropic",
            "name": "Claude 4.5 Haiku",
            "input": 1,
            "output": 5,
            "input_cached": None,
        },
        {
            "id": "claude-sonnet-4.5",
            "vendor": "anthropic",
            "name": "Claude Sonnet 4 and 4.5 \u2264200k",
            "input": 3,
            "output": 15,
            "input_cached": None,
        },
        {
            "id": "claude-sonnet-4.5-200k",
            "vendor": "anthropic",
            "name": "Claude Sonnet 4 and 4.5 >200k",
            "input": 6,
            "output": 22.5,
            "input_cached": None,
        },
        {
            "id": "claude-sonnet-4.6",
            "vendor": "anthropic",
            "name": "Claude Sonnet 4.6 \u2264200k",
            "input": 3,
            "output": 15,
            "input_cached": None,
        },
        {
            "id": "claude-sonnet-4.6-200k",
            "vendor": "anthropic",
            "name": "Claude Sonnet 4.6 >200k",
            "input": 6,
            "output": 22.5,
            "input_cached": None,
        },
        {
            "id": "claude-opus-4",
            "vendor": "anthropic",
            "name": "Claude Opus 4",
            "input": 15,
            "output": 75,
            "input_cached": None,
        },
        {
            "id": "claude-opus-4-1",
            "vendor": "anthropic",
            "name": "Claude Opus 4.1",
            "input": 15,
            "output": 75,
            "input_cached": None,
        },
        {
            "id": "claude-opus-4-5",
            "vendor": "anthropic",
            "name": "Claude Opus 4.5",
            "input": 5,
            "output": 25,
            "input_cached": None,
        },
        {
            "id": "claude-opus-4.6",
            "vendor": "anthropic",
            "name": "Claude Opus 4.6 \u2264200k",
            "input": 5,
            "output": 25,
            "input_cached": None,
        },
        {
            "id": "claude-opus-4.6-200k",
            "vendor": "anthropic",
            "name": "Claude Opus 4.6 >200k",
            "input": 10,
            "output": 37.5,
            "input_cached": None,
        },
        {
            "id": "gemini-2.5-pro-preview-03-25",
            "vendor": "google",
            "name": "Gemini 2.5 Pro Preview \u2264200k",
            "input": 1.25,
            "output": 10,
            "input_cached": None,
        },
        {
            "id": "gemini-2.5-pro-preview-03-25-200k",
            "vendor": "google",
            "name": "Gemini 2.5 Pro Preview >200k",
            "input": 2.5,
            "output": 15,
            "input_cached": None,
        },
        {
            "id": "gemini-2.0-flash-lite",
            "vendor": "google",
            "name": "Gemini 2.0 Flash Lite",
            "input": 0.08,
            "output": 0.3,
            "input_cached": None,
        },
        {
            "id": "gemini-2.0-flash",
            "vendor": "google",
            "name": "Gemini 2.0 Flash",
            "input": 0.1,
            "output": 0.4,
            "input_cached": None,
        },
        {
            "id": "gemini-2.5-flash",
            "vendor": "google",
            "name": "Gemini 2.5 Flash",
            "input": 0.3,
            "output": 2.5,
            "input_cached": 0.03,
        },
        {
            "id": "gemini-2.5-flash-lite",
            "vendor": "google",
            "name": "Gemini 2.5 Flash-Lite",
            "input": 0.1,
            "output": 0.4,
            "input_cached": 0.01,
        },
        {
            "id": "gemini-2.5-flash-preview-09-2025",
            "vendor": "google",
            "name": "Gemini 2.5 Flash Preview (09-2025)",
            "input": 0.3,
            "output": 2.5,
            "input_cached": 0.03,
        },
        {
            "id": "gemini-2.5-pro",
            "vendor": "google",
            "name": "Gemini 2.5 Pro \u2264200k",
            "input": 1.25,
            "output": 10,
            "input_cached": 0.125,
        },
        {
            "id": "gemini-2.5-pro-200k",
            "vendor": "google",
            "name": "Gemini 2.5 Pro >200k",
            "input": 2.5,
            "output": 15,
            "input_cached": 0.25,
        },
        {
            "id": "gemini-3.1-pro-preview",
            "vendor": "google",
            "name": "Gemini 3.1 Pro \u2264200k",
            "input": 2,
            "output": 12,
            "input_cached": None,
        },
        {
            "id": "gemini-3.1-pro-preview-200k",
            "vendor": "google",
            "name": "Gemini 3.1 Pro >200k",
            "input": 4,
            "output": 18,
            "input_cached": None,
        },
        {
            "id": "gemini-3-pro-preview",
            "vendor": "google",
            "name": "Gemini 3 Pro \u2264200k",
            "input": 2,
            "output": 12,
            "input_cached": None,
        },
        {
            "id": "gemini-3-pro-preview-200k",
            "vendor": "google",
            "name": "Gemini 3 Pro >200k",
            "input": 4,
            "output": 18,
            "input_cached": None,
        },
        {
            "id": "gemini-3-flash-preview",
            "vendor": "google",
            "name": "Gemini 3 Flash Preview",
            "input": 0.5,
            "output": 3,
            "input_cached": None,
        },
        {
            "id": "gemini-2.5-flash-thinking",
            "vendor": "google",
            "name": "Gemini 2.5 Flash Thinking",
            "input": 0.3,
            "output": 2.5,
            "input_cached": None,
        },
        {
            "id": "gemini-2.5-flash-lite-thinking",
            "vendor": "google",
            "name": "Gemini 2.5 Flash-Lite Thinking",
            "input": 0.1,
            "output": 0.4,
            "input_cached": None,
        },
        {
            "id": "gemini-3-flash-preview-thinking",
            "vendor": "google",
            "name": "Gemini 3 Flash Preview Thinking",
            "input": 0.5,
            "output": 3.0,
            "input_cached": None,
        },
        {
            "id": "gemini-2.5-flash-preview-tts",
            "vendor": "google",
            "name": "Gemini 2.5 Flash Preview TTS",
            "input": 0.5,
            "output": 10,
            "input_cached": None,
        },
        {
            "id": "gemini-2.5-pro-preview-tts",
            "vendor": "google",
            "name": "Gemini 2.5 Pro Preview TTS",
            "input": 1,
            "output": 20,
            "input_cached": None,
        },
        {
            "id": "gpt-4.5",
            "vendor": "openai",
            "name": "GPT-4.5",
            "input": 75,
            "output": 150,
            "input_cached": 37.5,
        },
        {
            "id": "gpt-4o",
            "vendor": "openai",
            "name": "GPT-4o",
            "input": 2.5,
            "output": 10,
            "input_cached": 1.25,
        },
        {
            "id": "gpt-4o-mini",
            "vendor": "openai",
            "name": "GPT-4o Mini",
            "input": 0.15,
            "output": 0.6,
            "input_cached": 0.075,
        },
        {
            "id": "chatgpt-4o-latest",
            "vendor": "openai",
            "name": "ChatGPT 4o Latest",
            "input": 5,
            "output": 15,
            "input_cached": None,
        },
        {
            "id": "o1-preview",
            "vendor": "openai",
            "name": "o1 and o1-preview",
            "input": 15,
            "output": 60,
            "input_cached": 7.5,
        },
        {
            "id": "o1-pro",
            "vendor": "openai",
            "name": "o1 Pro",
            "input": 150,
            "output": 600,
            "input_cached": None,
        },
        {
            "id": "o1-mini",
            "vendor": "openai",
            "name": "o1-mini",
            "input": 1.1,
            "output": 4.4,
            "input_cached": 0.55,
        },
        {
            "id": "o3-mini",
            "vendor": "openai",
            "name": "o3-mini",
            "input": 1.1,
            "output": 4.4,
            "input_cached": 0.55,
        },
        {
            "id": "gpt-4.1",
            "vendor": "openai",
            "name": "GPT-4.1",
            "input": 2,
            "output": 8,
            "input_cached": 0.5,
        },
        {
            "id": "gpt-4.1-mini",
            "vendor": "openai",
            "name": "GPT-4.1 Mini",
            "input": 0.4,
            "output": 1.6,
            "input_cached": 0.1,
        },
        {
            "id": "gpt-4.1-nano",
            "vendor": "openai",
            "name": "GPT-4.1 Nano",
            "input": 0.1,
            "output": 0.4,
            "input_cached": 0.025,
        },
        {
            "id": "o3",
            "vendor": "openai",
            "name": "o3",
            "input": 2,
            "output": 8,
            "input_cached": 0.5,
        },
        {
            "id": "gpt-5.3-codex",
            "vendor": "openai",
            "name": "GPT-5.3 Codex",
            "input": 1.25,
            "output": 10.0,
            "input_cached": None,
        },
        {
            "id": "codex-mini-latest",
            "vendor": "openai",
            "name": "Codex Mini Latest",
            "input": 1.5,
            "output": 6.0,
            "input_cached": None,
        },
        {
            "id": "gpt-5.3",
            "vendor": "openai",
            "name": "GPT-5.3 (Preview)",
            "input": 1.5,
            "output": 7.5,
            "input_cached": None,
        },
        {
            "id": "o4-mini",
            "vendor": "openai",
            "name": "o4-mini",
            "input": 1.1,
            "output": 4.4,
            "input_cached": 0.275,
        },
        {
            "id": "gpt-5-nano",
            "vendor": "openai",
            "name": "GPT-5 Nano",
            "input": 0.05,
            "output": 0.4,
            "input_cached": 0.005,
        },
        {
            "id": "gpt-5-mini",
            "vendor": "openai",
            "name": "GPT-5 Mini",
            "input": 0.25,
            "output": 2,
            "input_cached": 0.025,
        },
        {
            "id": "gpt-5",
            "vendor": "openai",
            "name": "GPT-5",
            "input": 1.25,
            "output": 10,
            "input_cached": 0.125,
        },
        {
            "id": "gpt-image-1",
            "vendor": "openai",
            "name": "gpt-image-1 (image gen)",
            "input": 10,
            "output": 40,
            "input_cached": 1.25,
        },
        {
            "id": "gpt-image-1-mini",
            "vendor": "openai",
            "name": "gpt-image-1-mini (image gen)",
            "input": 2,
            "output": 8,
            "input_cached": 0.2,
        },
        {
            "id": "gpt-image-1.5",
            "vendor": "openai",
            "name": "gpt-image-1.5 (image gen)",
            "input": 5,
            "output": 34,
            "input_cached": None,
        },
        {
            "id": "gpt-5-pro",
            "vendor": "openai",
            "name": "GPT-5 Pro",
            "input": 15,
            "output": 120,
            "input_cached": None,
        },
        {
            "id": "o3-pro",
            "vendor": "openai",
            "name": "o3 Pro",
            "input": 20,
            "output": 80,
            "input_cached": None,
        },
        {
            "id": "o4-mini-deep-research",
            "vendor": "openai",
            "name": "o4-mini Deep Research",
            "input": 2,
            "output": 8,
            "input_cached": 0.5,
        },
        {
            "id": "o3-deep-research",
            "vendor": "openai",
            "name": "o3 Deep Research",
            "input": 10,
            "output": 40,
            "input_cached": 2.5,
        },
        {
            "id": "gpt-5.1-codex-mini",
            "vendor": "openai",
            "name": "GPT-5.1 Codex mini",
            "input": 0.25,
            "output": 2.0,
            "input_cached": 0.025,
        },
        {
            "id": "gpt-5.1-codex",
            "vendor": "openai",
            "name": "GPT-5.1 Codex",
            "input": 1.25,
            "output": 10.0,
            "input_cached": 0.125,
        },
        {
            "id": "gpt-5.1",
            "vendor": "openai",
            "name": "GPT-5.1",
            "input": 1.25,
            "output": 10.0,
            "input_cached": 0.125,
        },
        {
            "id": "gpt-5.2",
            "vendor": "openai",
            "name": "GPT-5.2",
            "input": 1.75,
            "output": 14.0,
            "input_cached": 0.175,
        },
        {
            "id": "gpt-5.2-pro",
            "vendor": "openai",
            "name": "GPT-5.2 Pro",
            "input": 21.0,
            "output": 168.0,
            "input_cached": None,
        },
        {
            "id": "gemini-3-pro-image-preview",
            "vendor": "google",
            "name": "Gemini 3 Pro Image Preview",
            "input": 2.0,
            "output": 120.0,
            "input_cached": None,
        },
        {
            "id": "gemini-3.1-flash-image-preview",
            "vendor": "google",
            "name": "Gemini 3.1 Flash Image Preview*",
            "input": 30.0,
            "output": 30.0,
            "input_cached": None,
        },
        {
            "id": "imagen-4",
            "vendor": "google",
            "name": "Imagen 4*",
            "input": 20.0,
            "output": 20.0,
            "input_cached": None,
        },
        {
            "id": "imagen-4-fast",
            "vendor": "google",
            "name": "Imagen 4 Fast*",
            "input": 10.0,
            "output": 10.0,
            "input_cached": None,
        },
        {
            "id": "imagen-4-ultra",
            "vendor": "google",
            "name": "Imagen 4 Ultra*",
            "input": 30.0,
            "output": 30.0,
            "input_cached": None,
        },
        {
            "id": "imagen-4.0-ultra-generate-001",
            "vendor": "google",
            "name": "Imagen 4.0 Ultra Generate 001*",
            "input": 30.0,
            "output": 30.0,
            "input_cached": None,
        },
        {
            "id": "imagen-4.0-fast-generate-001",
            "vendor": "google",
            "name": "Imagen 4.0 Fast Generate 001*",
            "input": 10.0,
            "output": 10.0,
            "input_cached": None,
        },
        {
            "id": "chirp_3",
            "vendor": "google",
            "name": "GCP Chirp 3 (STT)*",
            # $0.016 per minute ~ $0.96 per hour.
            # 1M tokens ≈ 5000 minutes => $80.00
            # Splitting cost 50/50 between input and output tokens for comparison.
            "input": 40.0,
            "output": 40.0,
            "input_cached": None,
        },
        {
            "id": "aws-polly",
            "vendor": "amazon",
            "name": "AWS Polly*",
            # $16.00 per 1 million characters.
            # 1M tokens ≈ 4M characters => $64.00
            # Splitting cost 50/50 between input and output tokens for comparison.
            "input": 32.0,
            "output": 32.0,
            "input_cached": None,
        },
        {
            "id": "aws-transcribe",
            "vendor": "amazon",
            "name": "AWS Transcribe*",
            # $0.024 per minute => $1.44 per hour.
            # 1M tokens ≈ 5000 minutes => $120.00
            # Splitting cost 50/50 between input and output tokens for comparison.
            "input": 60.0,
            "output": 60.0,
            "input_cached": None,
        },
        {
            "id": "gcp-chirp3-tts",
            "vendor": "google",
            "name": "GCP Chirp 3 (TTS)*",
            # $16.00 per 1 million characters.
            # 1M tokens ≈ 4M characters => $64.00
            # Splitting cost 50/50 between input and output tokens for comparison.
            "input": 32.0,
            "output": 32.0,
            "input_cached": None,
        },
        {
            "id": "aws-translate",
            "vendor": "amazon",
            "name": "AWS Translate*",
            # $15.00 per 1 million characters (standard translation).
            # 1M tokens ≈ 4M characters => $60.00
            # Splitting cost 50/50 between input and output tokens for comparison.
            "input": 30.0,
            "output": 30.0,
            "input_cached": None,
        },
        {
            "id": "gcp-translate",
            "vendor": "google",
            "name": "GCP Cloud Translation*",
            # $20.00 per 1 million characters (Basic/Advanced NMT).
            # 1M tokens ≈ 4M characters => $80.00
            # Splitting cost 50/50 between input and output tokens for comparison.
            "input": 40.0,
            "output": 40.0,
            "input_cached": None,
        },
    ],
    "aliases": {
        "claude-haiku-4-5": "claude-4.5-haiku",
        "claude-sonnet-4-5": "claude-sonnet-4.5",
        "nova-2-lite": "amazon-nova-2-lite",
        "nova-lite": "amazon-nova-lite",
        "nova-micro": "amazon-nova-micro",
        "nova-pro": "amazon-nova-pro",
        "nova-premier": "amazon-nova-premier",
        "bedrock-nova-lite-v1": "amazon-nova-lite",
        "gcp-chirp3": "chirp_3",
        "aws-translate": "aws-translate",
        "gcp-translate": "gcp-translate",
    },
}
