# 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": "2025-12-29",
    "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": 0.0,
            "output": 10.0,
            "input_cached": None,
        },
        {
            "id": "amazon.nova-canvas-v1:0",
            "vendor": "amazon",
            "name": "Amazon Nova Canvas v1",
            "input": 0.0,
            "output": 40.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-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": "deepseek-chat",
            "vendor": "deepseek",
            "name": "DeepSeek Chat",
            "input": 0.27,
            "output": 1.1,
            "input_cached": None,
        },
        {
            "id": "deepseek-reasoner",
            "vendor": "deepseek",
            "name": "DeepSeek Reasoner",
            "input": 0.55,
            "output": 2.19,
            "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.075,
            "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-1.5-flash",
            "vendor": "google",
            "name": "Gemini 1.5 Flash \u2264128k",
            "input": 0.075,
            "output": 0.3,
            "input_cached": None,
        },
        {
            "id": "gemini-1.5-flash-128k",
            "vendor": "google",
            "name": "Gemini 1.5 Flash >128k",
            "input": 0.15,
            "output": 0.6,
            "input_cached": None,
        },
        {
            "id": "gemini-1.5-flash-8b",
            "vendor": "google",
            "name": "Gemini 1.5 Flash-8B \u2264128k",
            "input": 0.0375,
            "output": 0.15,
            "input_cached": None,
        },
        {
            "id": "gemini-1.5-flash-8b-128k",
            "vendor": "google",
            "name": "Gemini 1.5 Flash-8B >128k",
            "input": 0.075,
            "output": 0.3,
            "input_cached": None,
        },
        {
            "id": "gemini-1.5-pro",
            "vendor": "google",
            "name": "Gemini 1.5 Pro \u2264128k",
            "input": 1.25,
            "output": 5,
            "input_cached": None,
        },
        {
            "id": "gemini-1.5-pro-128k",
            "vendor": "google",
            "name": "Gemini 1.5 Pro >128k",
            "input": 2.5,
            "output": 10,
            "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-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-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": "minimax-m2",
            "vendor": "minimax",
            "name": "MiniMax M2",
            "input": 0.3,
            "output": 1.2,
            "input_cached": None,
        },
        {
            "id": "pixtral-12b",
            "vendor": "mistral",
            "name": "Pixtral 12B",
            "input": 0.15,
            "output": 0.15,
            "input_cached": None,
        },
        {
            "id": "mistral-small-latest",
            "vendor": "mistral",
            "name": "Mistral Small 3.1",
            "input": 0.1,
            "output": 0.3,
            "input_cached": None,
        },
        {
            "id": "mistral-medium-2505",
            "vendor": "mistral",
            "name": "Mistral Medium 3",
            "input": 0.4,
            "output": 2,
            "input_cached": None,
        },
        {
            "id": "mistral-nemo",
            "vendor": "mistral",
            "name": "Mistral NeMo",
            "input": 0.15,
            "output": 0.15,
            "input_cached": None,
        },
        {
            "id": "open-mistral-7b",
            "vendor": "mistral",
            "name": "Mistral 7B",
            "input": 0.25,
            "output": 0.25,
            "input_cached": None,
        },
        {
            "id": "open-mixtral-8x7b",
            "vendor": "mistral",
            "name": "Mixtral 8x7B",
            "input": 0.7,
            "output": 0.7,
            "input_cached": None,
        },
        {
            "id": "open-mixtral-8x22b",
            "vendor": "mistral",
            "name": "Mixtral 8x22B",
            "input": 2,
            "output": 6,
            "input_cached": None,
        },
        {
            "id": "mistral-large-latest",
            "vendor": "mistral",
            "name": "Mistral Large 24.11",
            "input": 2,
            "output": 6,
            "input_cached": None,
        },
        {
            "id": "pixtral-large-latest",
            "vendor": "mistral",
            "name": "Pixtral Large",
            "input": 2,
            "output": 6,
            "input_cached": None,
        },
        {
            "id": "mistral-saba-latest",
            "vendor": "mistral",
            "name": "Mistral Saba",
            "input": 0.2,
            "output": 0.6,
            "input_cached": None,
        },
        {
            "id": "codestral-latest",
            "vendor": "mistral",
            "name": "Codestral",
            "input": 0.3,
            "output": 0.9,
            "input_cached": None,
        },
        {
            "id": "ministral-8b-latest",
            "vendor": "mistral",
            "name": "Ministral 8B 24.10",
            "input": 0.1,
            "output": 0.1,
            "input_cached": None,
        },
        {
            "id": "ministral-3b-latest",
            "vendor": "mistral",
            "name": "Ministral 3B 24.10",
            "input": 0.04,
            "output": 0.04,
            "input_cached": None,
        },
        {
            "id": "magistral-medium-latest",
            "vendor": "mistral",
            "name": "Magistral Medium",
            "input": 2,
            "output": 5,
            "input_cached": None,
        },
        {
            "id": "kimi-k2-0905-preview",
            "vendor": "moonshot-ai",
            "name": "Kimi K2 0905 Preview",
            "input": 0.6,
            "output": 2.5,
            "input_cached": 0.15,
        },
        {
            "id": "kimi-k2-0711-preview",
            "vendor": "moonshot-ai",
            "name": "Kimi K2 0711 Preview",
            "input": 0.6,
            "output": 2.5,
            "input_cached": 0.15,
        },
        {
            "id": "kimi-k2-turbo-preview",
            "vendor": "moonshot-ai",
            "name": "Kimi K2 Turbo Preview",
            "input": 1.15,
            "output": 8.0,
            "input_cached": 0.15,
        },
        {
            "id": "kimi-k2-thinking",
            "vendor": "moonshot-ai",
            "name": "Kimi K2 Thinking",
            "input": 0.6,
            "output": 2.5,
            "input_cached": 0.15,
        },
        {
            "id": "kimi-k2-thinking-turbo",
            "vendor": "moonshot-ai",
            "name": "Kimi K2 Thinking Turbo",
            "input": 1.15,
            "output": 8.0,
            "input_cached": 0.15,
        },
        {
            "id": "text-davinci-003",
            "vendor": "openai",
            "name": "GPT-3 Text Davinci 003",
            "input": 20,
            "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": 10,
            "output": 40,
            "input_cached": 0.5,
        },
        {
            "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": "grok-3",
            "vendor": "xai",
            "name": "Grok 3",
            "input": 3,
            "output": 15,
            "input_cached": 0.75,
        },
        {
            "id": "grok-3-mini",
            "vendor": "xai",
            "name": "Grok 3 Mini",
            "input": 0.3,
            "output": 0.5,
            "input_cached": 0.075,
        },
        {
            "id": "grok-4-fast",
            "vendor": "xai",
            "name": "Grok 4 Fast",
            "input": 0.2,
            "output": 0.5,
            "input_cached": 0.05,
        },
        {
            "id": "grok-4",
            "vendor": "xai",
            "name": "Grok 4 \u2264128k",
            "input": 3,
            "output": 15,
            "input_cached": 0.75,
        },
        {
            "id": "grok-4-128k",
            "vendor": "xai",
            "name": "Grok 4 >128k",
            "input": 6,
            "output": 30,
            "input_cached": 0.75,
        },
        {
            "id": "grok-4-fast-128k",
            "vendor": "xai",
            "name": "Grok 4 Fast >128k",
            "input": 0.4,
            "output": 1.0,
            "input_cached": 0.05,
        },
        {
            "id": "grok-4-fast-reasoning",
            "vendor": "xai",
            "name": "Grok 4 Fast Reasoning \u2264128k",
            "input": 0.2,
            "output": 0.5,
            "input_cached": 0.05,
        },
        {
            "id": "grok-4-fast-reasoning-128k",
            "vendor": "xai",
            "name": "Grok 4 Fast Reasoning >128k",
            "input": 0.4,
            "output": 1.0,
            "input_cached": 0.05,
        },
        {
            "id": "grok-code-fast-1",
            "vendor": "xai",
            "name": "Grok Code Fast 1",
            "input": 0.2,
            "output": 1.5,
            "input_cached": 0.02,
        },
        {
            "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-2.5-flash-image",
            "vendor": "google",
            "name": "Gemini 2.5 Flash Image",
            "input": 0.3,
            "output": 30.0,
            "input_cached": None,
        },
        {
            "id": "imagen-4",
            "vendor": "google",
            "name": "Imagen 4",
            "input": 0.0,
            "output": 40.0,
            "input_cached": None,
        },
        {
            "id": "imagen-4-fast",
            "vendor": "google",
            "name": "Imagen 4 Fast",
            "input": 0.0,
            "output": 20.0,
            "input_cached": None,
        },
        {
            "id": "imagen-4-ultra",
            "vendor": "google",
            "name": "Imagen 4 Ultra",
            "input": 0.0,
            "output": 60.0,
            "input_cached": None,
        },
        {
            "id": "imagen-4.0-ultra-generate-001",
            "vendor": "google",
            "name": "Imagen 4.0 Ultra Generate 001",
            "input": 0.0,
            "output": 60.0,
            "input_cached": None,
        },
        {
            "id": "imagen-4.0-fast-generate-001",
            "vendor": "google",
            "name": "Imagen 4.0 Fast Generate 001",
            "input": 0.0,
            "output": 20.0,
            "input_cached": None,
        },
    ],
    "aliases": {
        "claude-haiku-4-5": "claude-4.5-haiku",
        "nova-2-lite": "amazon-nova-2-lite",
    },
}
