From bfc1dc73a16a098e7703c20ee2857eb28cf97d1f Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Thu, 27 Aug 2026 19:11:13 +0000 Subject: [PATCH 1/9] registry audit: add gemini 3.5 transcribe + omni 1.1 flash, xai grok-imagine image models and grok-4.20 aliases, mistral cache-read pricing Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- ...odel_prices_and_context_window_backup.json | 319 +++++++++++++++++- model_prices_and_context_window.json | 319 +++++++++++++++++- 2 files changed, 628 insertions(+), 10 deletions(-) diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index 7f5e41d45ce..4d7e36c90e1 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -22876,6 +22876,34 @@ "supports_vision": true, "tpm": 800000 }, + "gemini/gemini-omni-1.1-flash": { + "input_cost_per_audio_token": 1.5e-06, + "input_cost_per_token": 1.5e-06, + "litellm_provider": "gemini", + "mode": "chat", + "output_cost_per_reasoning_token": 9e-06, + "output_cost_per_token": 9e-06, + "output_cost_per_video_token": 1.75e-05, + "source": "https://ai.google.dev/gemini-api/docs/pricing", + "supported_endpoints": [ + "/v1/chat/completions" + ], + "supported_modalities": [ + "text", + "image", + "audio", + "video" + ], + "supported_output_modalities": [ + "text", + "video" + ], + "supports_audio_input": true, + "supports_reasoning": true, + "supports_system_messages": true, + "supports_video_input": true, + "supports_vision": true + }, "gemini/gemini-3.1-pro-preview": { "prompt_cache_min_tokens": 4096, "cache_read_input_token_cost": 2e-07, @@ -30683,6 +30711,7 @@ "supports_tool_choice": true }, "mistral/codestral-2508": { + "cache_read_input_token_cost": 3e-08, "input_cost_per_token": 3e-07, "litellm_provider": "mistral", "max_input_tokens": 128000, @@ -30697,6 +30726,7 @@ "supports_tool_choice": true }, "mistral/codestral-latest": { + "cache_read_input_token_cost": 3e-08, "input_cost_per_token": 3e-07, "litellm_provider": "mistral", "max_input_tokens": 128000, @@ -30704,11 +30734,11 @@ "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 9e-07, - "supports_assistant_prefill": true, - "supports_response_schema": true, - "supports_tool_choice": true, "source": "https://docs.mistral.ai/models/model-cards/codestral-25-08", - "supports_function_calling": true + "supports_assistant_prefill": true, + "supports_function_calling": true, + "supports_response_schema": true, + "supports_tool_choice": true }, "mistral/codestral-mamba-latest": { "input_cost_per_token": 2.5e-07, @@ -31042,6 +31072,7 @@ "mode": "embedding" }, "mistral/codestral-embed": { + "cache_read_input_token_cost": 1.5e-08, "input_cost_per_token": 1.5e-07, "litellm_provider": "mistral", "max_input_tokens": 8192, @@ -31049,6 +31080,7 @@ "mode": "embedding" }, "mistral/codestral-embed-2505": { + "cache_read_input_token_cost": 1.5e-08, "input_cost_per_token": 1.5e-07, "litellm_provider": "mistral", "max_input_tokens": 8192, @@ -31098,6 +31130,7 @@ "supports_tool_choice": true }, "mistral/mistral-large-latest": { + "cache_read_input_token_cost": 5e-08, "input_cost_per_token": 5e-07, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -31113,6 +31146,7 @@ "supports_vision": true }, "mistral/mistral-large-3": { + "cache_read_input_token_cost": 5e-08, "input_cost_per_token": 5e-07, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -31128,6 +31162,7 @@ "supports_vision": true }, "mistral/mistral-large-2512": { + "cache_read_input_token_cost": 5e-08, "input_cost_per_token": 5e-07, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -31198,6 +31233,7 @@ "supports_vision": true }, "mistral/mistral-medium-2604": { + "cache_read_input_token_cost": 1.5e-07, "input_cost_per_token": 1.5e-06, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -31214,6 +31250,7 @@ "supports_vision": true }, "mistral/mistral-medium-latest": { + "cache_read_input_token_cost": 1.5e-07, "input_cost_per_token": 1.5e-06, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -31246,6 +31283,7 @@ "supports_vision": true }, "mistral/mistral-medium-3-5": { + "cache_read_input_token_cost": 1.5e-07, "input_cost_per_token": 1.5e-06, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -31275,6 +31313,7 @@ "supports_tool_choice": true }, "mistral/mistral-small-latest": { + "cache_read_input_token_cost": 1.5e-08, "input_cost_per_token": 1.5e-07, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -31285,9 +31324,9 @@ "source": "https://docs.mistral.ai/models/model-cards/mistral-small-4-0-26-03", "supports_assistant_prefill": true, "supports_function_calling": true, + "supports_reasoning": true, "supports_response_schema": true, "supports_tool_choice": true, - "supports_reasoning": true, "supports_vision": true }, "mistral/mistral-small-3-2-2506": { @@ -31307,6 +31346,7 @@ "supports_vision": true }, "mistral/ministral-3-3b-2512": { + "cache_read_input_token_cost": 1e-08, "input_cost_per_token": 1e-07, "litellm_provider": "mistral", "max_input_tokens": 131072, @@ -31322,6 +31362,7 @@ "supports_vision": true }, "mistral/ministral-3-8b-2512": { + "cache_read_input_token_cost": 1.5e-08, "input_cost_per_token": 1.5e-07, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -31337,6 +31378,7 @@ "supports_vision": true }, "mistral/ministral-3-14b-2512": { + "cache_read_input_token_cost": 2e-08, "input_cost_per_token": 2e-07, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -31352,6 +31394,7 @@ "supports_vision": true }, "mistral/ministral-8b-2512": { + "cache_read_input_token_cost": 1.5e-08, "input_cost_per_token": 1.5e-07, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -31367,6 +31410,7 @@ "supports_vision": true }, "mistral/ministral-8b-latest": { + "cache_read_input_token_cost": 1.5e-08, "input_cost_per_token": 1.5e-07, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -44080,6 +44124,69 @@ "supports_prompt_caching": true, "supports_response_schema": true }, + "xai/grok-4.20": { + "cache_read_input_token_cost": 2e-07, + "input_cost_per_token": 1.25e-06, + "litellm_provider": "xai", + "max_input_tokens": 1000000, + "max_output_tokens": 1000000, + "max_tokens": 1000000, + "mode": "chat", + "output_cost_per_token": 2.5e-06, + "source": "https://docs.x.ai/docs/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": true, + "supports_web_search": true, + "input_cost_per_token_above_200k_tokens": 2.5e-06, + "output_cost_per_token_above_200k_tokens": 5e-06, + "cache_read_input_token_cost_above_200k_tokens": 4e-07, + "supports_prompt_caching": true, + "supports_response_schema": true + }, + "xai/grok-4.20-reasoning": { + "cache_read_input_token_cost": 2e-07, + "input_cost_per_token": 1.25e-06, + "litellm_provider": "xai", + "max_input_tokens": 1000000, + "max_output_tokens": 1000000, + "max_tokens": 1000000, + "mode": "chat", + "output_cost_per_token": 2.5e-06, + "source": "https://docs.x.ai/docs/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": true, + "supports_web_search": true, + "input_cost_per_token_above_200k_tokens": 2.5e-06, + "output_cost_per_token_above_200k_tokens": 5e-06, + "cache_read_input_token_cost_above_200k_tokens": 4e-07, + "supports_prompt_caching": true, + "supports_response_schema": true + }, + "xai/grok-4.20-reasoning-latest": { + "cache_read_input_token_cost": 2e-07, + "input_cost_per_token": 1.25e-06, + "litellm_provider": "xai", + "max_input_tokens": 1000000, + "max_output_tokens": 1000000, + "max_tokens": 1000000, + "mode": "chat", + "output_cost_per_token": 2.5e-06, + "source": "https://docs.x.ai/docs/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": true, + "supports_web_search": true, + "input_cost_per_token_above_200k_tokens": 2.5e-06, + "output_cost_per_token_above_200k_tokens": 5e-06, + "cache_read_input_token_cost_above_200k_tokens": 4e-07, + "supports_prompt_caching": true, + "supports_response_schema": true + }, "xai/grok-4.20-beta-0309-non-reasoning": { "cache_read_input_token_cost": 2e-07, "input_cost_per_token": 1.25e-06, @@ -44281,6 +44388,125 @@ "supports_vision": true, "deprecation_date": "2026-05-15" }, + "xai/grok-imagine-image": { + "input_cost_per_image": 0.002, + "litellm_provider": "xai", + "mode": "image_generation", + "output_cost_per_image": 0.02, + "source": "https://docs.x.ai/docs/models", + "supported_endpoints": [ + "/v1/images/generations" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "image" + ] + }, + "xai/grok-imagine-image-2026-03-02": { + "input_cost_per_image": 0.002, + "litellm_provider": "xai", + "mode": "image_generation", + "output_cost_per_image": 0.02, + "source": "https://docs.x.ai/docs/models", + "supported_endpoints": [ + "/v1/images/generations" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "image" + ] + }, + "xai/grok-imagine-image-quality": { + "input_cost_per_image": 0.01, + "litellm_provider": "xai", + "mode": "image_generation", + "output_cost_per_image": 0.05, + "source": "https://docs.x.ai/docs/models", + "supported_endpoints": [ + "/v1/images/generations" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "image" + ] + }, + "xai/grok-imagine-image-quality-20260403": { + "input_cost_per_image": 0.01, + "litellm_provider": "xai", + "mode": "image_generation", + "output_cost_per_image": 0.05, + "source": "https://docs.x.ai/docs/models", + "supported_endpoints": [ + "/v1/images/generations" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "image" + ] + }, + "xai/grok-imagine-image-quality-latest": { + "input_cost_per_image": 0.01, + "litellm_provider": "xai", + "mode": "image_generation", + "output_cost_per_image": 0.05, + "source": "https://docs.x.ai/docs/models", + "supported_endpoints": [ + "/v1/images/generations" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "image" + ] + }, + "xai/grok-imagine-image-pro": { + "input_cost_per_image": 0.01, + "litellm_provider": "xai", + "mode": "image_generation", + "output_cost_per_image": 0.05, + "source": "https://docs.x.ai/docs/models", + "supported_endpoints": [ + "/v1/images/generations" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "image" + ] + }, + "xai/grok-imagine-image-2.0": { + "input_cost_per_image": 0.01, + "litellm_provider": "xai", + "mode": "image_generation", + "output_cost_per_image": 0.06, + "source": "https://docs.x.ai/docs/models", + "supported_endpoints": [ + "/v1/images/generations" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "image" + ] + }, "xai/grok-vision-beta": { "input_cost_per_image": 5e-06, "input_cost_per_token": 5e-06, @@ -50957,6 +51183,46 @@ "cache_read_input_token_cost_above_200k_tokens": 4e-07, "supports_response_schema": true }, + "xai/grok-4.20-non-reasoning": { + "cache_read_input_token_cost": 2e-07, + "input_cost_per_token": 1.25e-06, + "litellm_provider": "xai", + "max_input_tokens": 1000000, + "max_output_tokens": 1000000, + "max_tokens": 1000000, + "mode": "chat", + "output_cost_per_token": 2.5e-06, + "source": "https://docs.x.ai/docs/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_tool_choice": true, + "supports_vision": true, + "supports_web_search": true, + "input_cost_per_token_above_200k_tokens": 2.5e-06, + "output_cost_per_token_above_200k_tokens": 5e-06, + "cache_read_input_token_cost_above_200k_tokens": 4e-07, + "supports_response_schema": true + }, + "xai/grok-4.20-non-reasoning-latest": { + "cache_read_input_token_cost": 2e-07, + "input_cost_per_token": 1.25e-06, + "litellm_provider": "xai", + "max_input_tokens": 1000000, + "max_output_tokens": 1000000, + "max_tokens": 1000000, + "mode": "chat", + "output_cost_per_token": 2.5e-06, + "source": "https://docs.x.ai/docs/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_tool_choice": true, + "supports_vision": true, + "supports_web_search": true, + "input_cost_per_token_above_200k_tokens": 2.5e-06, + "output_cost_per_token_above_200k_tokens": 5e-06, + "cache_read_input_token_cost_above_200k_tokens": 4e-07, + "supports_response_schema": true + }, "xai/grok-4.20-multi-agent-0309": { "cache_read_input_token_cost": 2e-07, "input_cost_per_token": 1.25e-06, @@ -50978,6 +51244,48 @@ "cache_read_input_token_cost_above_200k_tokens": 4e-07, "supports_response_schema": true }, + "xai/grok-4.20-multi-agent": { + "cache_read_input_token_cost": 2e-07, + "input_cost_per_token": 1.25e-06, + "litellm_provider": "xai", + "max_input_tokens": 1000000, + "max_output_tokens": 1000000, + "max_tokens": 1000000, + "mode": "chat", + "output_cost_per_token": 2.5e-06, + "source": "https://docs.x.ai/docs/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": true, + "supports_web_search": true, + "input_cost_per_token_above_200k_tokens": 2.5e-06, + "output_cost_per_token_above_200k_tokens": 5e-06, + "cache_read_input_token_cost_above_200k_tokens": 4e-07, + "supports_response_schema": true + }, + "xai/grok-4.20-multi-agent-latest": { + "cache_read_input_token_cost": 2e-07, + "input_cost_per_token": 1.25e-06, + "litellm_provider": "xai", + "max_input_tokens": 1000000, + "max_output_tokens": 1000000, + "max_tokens": 1000000, + "mode": "chat", + "output_cost_per_token": 2.5e-06, + "source": "https://docs.x.ai/docs/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": true, + "supports_web_search": true, + "input_cost_per_token_above_200k_tokens": 2.5e-06, + "output_cost_per_token_above_200k_tokens": 5e-06, + "cache_read_input_token_cost_above_200k_tokens": 4e-07, + "supports_response_schema": true + }, "xai/grok-build-0.1": { "cache_read_input_token_cost": 2e-07, "input_cost_per_token": 1e-06, @@ -51161,6 +51469,7 @@ "web_search_billing_unit": "per_query" }, "mistral/mistral-small-2603": { + "cache_read_input_token_cost": 1.5e-08, "input_cost_per_token": 1.5e-07, "litellm_provider": "mistral", "max_input_tokens": 262144, diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index 7f5e41d45ce..4d7e36c90e1 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -22876,6 +22876,34 @@ "supports_vision": true, "tpm": 800000 }, + "gemini/gemini-omni-1.1-flash": { + "input_cost_per_audio_token": 1.5e-06, + "input_cost_per_token": 1.5e-06, + "litellm_provider": "gemini", + "mode": "chat", + "output_cost_per_reasoning_token": 9e-06, + "output_cost_per_token": 9e-06, + "output_cost_per_video_token": 1.75e-05, + "source": "https://ai.google.dev/gemini-api/docs/pricing", + "supported_endpoints": [ + "/v1/chat/completions" + ], + "supported_modalities": [ + "text", + "image", + "audio", + "video" + ], + "supported_output_modalities": [ + "text", + "video" + ], + "supports_audio_input": true, + "supports_reasoning": true, + "supports_system_messages": true, + "supports_video_input": true, + "supports_vision": true + }, "gemini/gemini-3.1-pro-preview": { "prompt_cache_min_tokens": 4096, "cache_read_input_token_cost": 2e-07, @@ -30683,6 +30711,7 @@ "supports_tool_choice": true }, "mistral/codestral-2508": { + "cache_read_input_token_cost": 3e-08, "input_cost_per_token": 3e-07, "litellm_provider": "mistral", "max_input_tokens": 128000, @@ -30697,6 +30726,7 @@ "supports_tool_choice": true }, "mistral/codestral-latest": { + "cache_read_input_token_cost": 3e-08, "input_cost_per_token": 3e-07, "litellm_provider": "mistral", "max_input_tokens": 128000, @@ -30704,11 +30734,11 @@ "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 9e-07, - "supports_assistant_prefill": true, - "supports_response_schema": true, - "supports_tool_choice": true, "source": "https://docs.mistral.ai/models/model-cards/codestral-25-08", - "supports_function_calling": true + "supports_assistant_prefill": true, + "supports_function_calling": true, + "supports_response_schema": true, + "supports_tool_choice": true }, "mistral/codestral-mamba-latest": { "input_cost_per_token": 2.5e-07, @@ -31042,6 +31072,7 @@ "mode": "embedding" }, "mistral/codestral-embed": { + "cache_read_input_token_cost": 1.5e-08, "input_cost_per_token": 1.5e-07, "litellm_provider": "mistral", "max_input_tokens": 8192, @@ -31049,6 +31080,7 @@ "mode": "embedding" }, "mistral/codestral-embed-2505": { + "cache_read_input_token_cost": 1.5e-08, "input_cost_per_token": 1.5e-07, "litellm_provider": "mistral", "max_input_tokens": 8192, @@ -31098,6 +31130,7 @@ "supports_tool_choice": true }, "mistral/mistral-large-latest": { + "cache_read_input_token_cost": 5e-08, "input_cost_per_token": 5e-07, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -31113,6 +31146,7 @@ "supports_vision": true }, "mistral/mistral-large-3": { + "cache_read_input_token_cost": 5e-08, "input_cost_per_token": 5e-07, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -31128,6 +31162,7 @@ "supports_vision": true }, "mistral/mistral-large-2512": { + "cache_read_input_token_cost": 5e-08, "input_cost_per_token": 5e-07, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -31198,6 +31233,7 @@ "supports_vision": true }, "mistral/mistral-medium-2604": { + "cache_read_input_token_cost": 1.5e-07, "input_cost_per_token": 1.5e-06, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -31214,6 +31250,7 @@ "supports_vision": true }, "mistral/mistral-medium-latest": { + "cache_read_input_token_cost": 1.5e-07, "input_cost_per_token": 1.5e-06, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -31246,6 +31283,7 @@ "supports_vision": true }, "mistral/mistral-medium-3-5": { + "cache_read_input_token_cost": 1.5e-07, "input_cost_per_token": 1.5e-06, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -31275,6 +31313,7 @@ "supports_tool_choice": true }, "mistral/mistral-small-latest": { + "cache_read_input_token_cost": 1.5e-08, "input_cost_per_token": 1.5e-07, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -31285,9 +31324,9 @@ "source": "https://docs.mistral.ai/models/model-cards/mistral-small-4-0-26-03", "supports_assistant_prefill": true, "supports_function_calling": true, + "supports_reasoning": true, "supports_response_schema": true, "supports_tool_choice": true, - "supports_reasoning": true, "supports_vision": true }, "mistral/mistral-small-3-2-2506": { @@ -31307,6 +31346,7 @@ "supports_vision": true }, "mistral/ministral-3-3b-2512": { + "cache_read_input_token_cost": 1e-08, "input_cost_per_token": 1e-07, "litellm_provider": "mistral", "max_input_tokens": 131072, @@ -31322,6 +31362,7 @@ "supports_vision": true }, "mistral/ministral-3-8b-2512": { + "cache_read_input_token_cost": 1.5e-08, "input_cost_per_token": 1.5e-07, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -31337,6 +31378,7 @@ "supports_vision": true }, "mistral/ministral-3-14b-2512": { + "cache_read_input_token_cost": 2e-08, "input_cost_per_token": 2e-07, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -31352,6 +31394,7 @@ "supports_vision": true }, "mistral/ministral-8b-2512": { + "cache_read_input_token_cost": 1.5e-08, "input_cost_per_token": 1.5e-07, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -31367,6 +31410,7 @@ "supports_vision": true }, "mistral/ministral-8b-latest": { + "cache_read_input_token_cost": 1.5e-08, "input_cost_per_token": 1.5e-07, "litellm_provider": "mistral", "max_input_tokens": 262144, @@ -44080,6 +44124,69 @@ "supports_prompt_caching": true, "supports_response_schema": true }, + "xai/grok-4.20": { + "cache_read_input_token_cost": 2e-07, + "input_cost_per_token": 1.25e-06, + "litellm_provider": "xai", + "max_input_tokens": 1000000, + "max_output_tokens": 1000000, + "max_tokens": 1000000, + "mode": "chat", + "output_cost_per_token": 2.5e-06, + "source": "https://docs.x.ai/docs/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": true, + "supports_web_search": true, + "input_cost_per_token_above_200k_tokens": 2.5e-06, + "output_cost_per_token_above_200k_tokens": 5e-06, + "cache_read_input_token_cost_above_200k_tokens": 4e-07, + "supports_prompt_caching": true, + "supports_response_schema": true + }, + "xai/grok-4.20-reasoning": { + "cache_read_input_token_cost": 2e-07, + "input_cost_per_token": 1.25e-06, + "litellm_provider": "xai", + "max_input_tokens": 1000000, + "max_output_tokens": 1000000, + "max_tokens": 1000000, + "mode": "chat", + "output_cost_per_token": 2.5e-06, + "source": "https://docs.x.ai/docs/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": true, + "supports_web_search": true, + "input_cost_per_token_above_200k_tokens": 2.5e-06, + "output_cost_per_token_above_200k_tokens": 5e-06, + "cache_read_input_token_cost_above_200k_tokens": 4e-07, + "supports_prompt_caching": true, + "supports_response_schema": true + }, + "xai/grok-4.20-reasoning-latest": { + "cache_read_input_token_cost": 2e-07, + "input_cost_per_token": 1.25e-06, + "litellm_provider": "xai", + "max_input_tokens": 1000000, + "max_output_tokens": 1000000, + "max_tokens": 1000000, + "mode": "chat", + "output_cost_per_token": 2.5e-06, + "source": "https://docs.x.ai/docs/models", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": true, + "supports_web_search": true, + "input_cost_per_token_above_200k_tokens": 2.5e-06, + "output_cost_per_token_above_200k_tokens": 5e-06, + "cache_read_input_token_cost_above_200k_tokens": 4e-07, + "supports_prompt_caching": true, + "supports_response_schema": true + }, "xai/grok-4.20-beta-0309-non-reasoning": { "cache_read_input_token_cost": 2e-07, "input_cost_per_token": 1.25e-06, @@ -44281,6 +44388,125 @@ "supports_vision": true, "deprecation_date": "2026-05-15" }, + "xai/grok-imagine-image": { + "input_cost_per_image": 0.002, + "litellm_provider": "xai", + "mode": "image_generation", + "output_cost_per_image": 0.02, + "source": "https://docs.x.ai/docs/models", + "supported_endpoints": [ + "/v1/images/generations" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "image" + ] + }, + "xai/grok-imagine-image-2026-03-02": { + "input_cost_per_image": 0.002, + "litellm_provider": "xai", + "mode": "image_generation", + "output_cost_per_image": 0.02, + "source": "https://docs.x.ai/docs/models", + "supported_endpoints": [ + "/v1/images/generations" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "image" + ] + }, + "xai/grok-imagine-image-quality": { + "input_cost_per_image": 0.01, + "litellm_provider": "xai", + "mode": "image_generation", + "output_cost_per_image": 0.05, + "source": "https://docs.x.ai/docs/models", + "supported_endpoints": [ + "/v1/images/generations" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "image" + ] + }, + "xai/grok-imagine-image-quality-20260403": { + "input_cost_per_image": 0.01, + "litellm_provider": "xai", + "mode": "image_generation", + "output_cost_per_image": 0.05, + "source": "https://docs.x.ai/docs/models", + "supported_endpoints": [ + "/v1/images/generations" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "image" + ] + }, + "xai/grok-imagine-image-quality-latest": { + "input_cost_per_image": 0.01, + "litellm_provider": "xai", + "mode": "image_generation", + "output_cost_per_image": 0.05, + "source": "https://docs.x.ai/docs/models", + "supported_endpoints": [ + "/v1/images/generations" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "image" + ] + }, + "xai/grok-imagine-image-pro": { + "input_cost_per_image": 0.01, + "litellm_provider": "xai", + "mode": "image_generation", + "output_cost_per_image": 0.05, + "source": "https://docs.x.ai/docs/models", + "supported_endpoints": [ + "/v1/images/generations" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "image" + ] + }, + "xai/grok-imagine-image-2.0": { + "input_cost_per_image": 0.01, + "litellm_provider": "xai", + "mode": "image_generation", + "output_cost_per_image": 0.06, + "source": "https://docs.x.ai/docs/models", + "supported_endpoints": [ + "/v1/images/generations" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "image" + ] + }, "xai/grok-vision-beta": { "input_cost_per_image": 5e-06, "input_cost_per_token": 5e-06, @@ -50957,6 +51183,46 @@ "cache_read_input_token_cost_above_200k_tokens": 4e-07, "supports_response_schema": true }, + "xai/grok-4.20-non-reasoning": { + "cache_read_input_token_cost": 2e-07, + "input_cost_per_token": 1.25e-06, + "litellm_provider": "xai", + "max_input_tokens": 1000000, + "max_output_tokens": 1000000, + "max_tokens": 1000000, + "mode": "chat", + "output_cost_per_token": 2.5e-06, + "source": "https://docs.x.ai/docs/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_tool_choice": true, + "supports_vision": true, + "supports_web_search": true, + "input_cost_per_token_above_200k_tokens": 2.5e-06, + "output_cost_per_token_above_200k_tokens": 5e-06, + "cache_read_input_token_cost_above_200k_tokens": 4e-07, + "supports_response_schema": true + }, + "xai/grok-4.20-non-reasoning-latest": { + "cache_read_input_token_cost": 2e-07, + "input_cost_per_token": 1.25e-06, + "litellm_provider": "xai", + "max_input_tokens": 1000000, + "max_output_tokens": 1000000, + "max_tokens": 1000000, + "mode": "chat", + "output_cost_per_token": 2.5e-06, + "source": "https://docs.x.ai/docs/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_tool_choice": true, + "supports_vision": true, + "supports_web_search": true, + "input_cost_per_token_above_200k_tokens": 2.5e-06, + "output_cost_per_token_above_200k_tokens": 5e-06, + "cache_read_input_token_cost_above_200k_tokens": 4e-07, + "supports_response_schema": true + }, "xai/grok-4.20-multi-agent-0309": { "cache_read_input_token_cost": 2e-07, "input_cost_per_token": 1.25e-06, @@ -50978,6 +51244,48 @@ "cache_read_input_token_cost_above_200k_tokens": 4e-07, "supports_response_schema": true }, + "xai/grok-4.20-multi-agent": { + "cache_read_input_token_cost": 2e-07, + "input_cost_per_token": 1.25e-06, + "litellm_provider": "xai", + "max_input_tokens": 1000000, + "max_output_tokens": 1000000, + "max_tokens": 1000000, + "mode": "chat", + "output_cost_per_token": 2.5e-06, + "source": "https://docs.x.ai/docs/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": true, + "supports_web_search": true, + "input_cost_per_token_above_200k_tokens": 2.5e-06, + "output_cost_per_token_above_200k_tokens": 5e-06, + "cache_read_input_token_cost_above_200k_tokens": 4e-07, + "supports_response_schema": true + }, + "xai/grok-4.20-multi-agent-latest": { + "cache_read_input_token_cost": 2e-07, + "input_cost_per_token": 1.25e-06, + "litellm_provider": "xai", + "max_input_tokens": 1000000, + "max_output_tokens": 1000000, + "max_tokens": 1000000, + "mode": "chat", + "output_cost_per_token": 2.5e-06, + "source": "https://docs.x.ai/docs/models", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": true, + "supports_web_search": true, + "input_cost_per_token_above_200k_tokens": 2.5e-06, + "output_cost_per_token_above_200k_tokens": 5e-06, + "cache_read_input_token_cost_above_200k_tokens": 4e-07, + "supports_response_schema": true + }, "xai/grok-build-0.1": { "cache_read_input_token_cost": 2e-07, "input_cost_per_token": 1e-06, @@ -51161,6 +51469,7 @@ "web_search_billing_unit": "per_query" }, "mistral/mistral-small-2603": { + "cache_read_input_token_cost": 1.5e-08, "input_cost_per_token": 1.5e-07, "litellm_provider": "mistral", "max_input_tokens": 262144, From 90073864ece70a50155dfd405315f6b7dba87287 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Thu, 27 Aug 2026 19:21:21 +0000 Subject: [PATCH 2/9] fix(registry): add tpm/rpm to new gemini entries per repo convention Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- litellm/model_prices_and_context_window_backup.json | 12 +++++++----- model_prices_and_context_window.json | 12 +++++++----- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index 4d7e36c90e1..fc10b61b7cd 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -22884,6 +22884,7 @@ "output_cost_per_reasoning_token": 9e-06, "output_cost_per_token": 9e-06, "output_cost_per_video_token": 1.75e-05, + "rpm": 2000, "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/chat/completions" @@ -22902,7 +22903,8 @@ "supports_reasoning": true, "supports_system_messages": true, "supports_video_input": true, - "supports_vision": true + "supports_vision": true, + "tpm": 800000 }, "gemini/gemini-3.1-pro-preview": { "prompt_cache_min_tokens": 4096, @@ -51655,6 +51657,7 @@ "litellm_provider": "gemini", "mode": "audio_transcription", "output_cost_per_token": 1.2e-05, + "rpm": 10, "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/audio/transcriptions" @@ -51667,8 +51670,7 @@ "text" ], "supports_audio_input": true, - "tpm": 800000, - "rpm": 2000 + "tpm": 250000 }, "gemini/gemini-3.5-transcribe-live": { "input_cost_per_audio_token": 3.5e-06, @@ -51676,6 +51678,7 @@ "litellm_provider": "gemini", "mode": "audio_transcription", "output_cost_per_token": 2.1e-05, + "rpm": 10, "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/realtime" @@ -51687,8 +51690,7 @@ "text" ], "supports_audio_input": true, - "tpm": 250000, - "rpm": 10 + "tpm": 250000 }, "perplexity/pplx-embed-context-v1-0.6b": { "input_cost_per_token": 8e-09, diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index 4d7e36c90e1..fc10b61b7cd 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -22884,6 +22884,7 @@ "output_cost_per_reasoning_token": 9e-06, "output_cost_per_token": 9e-06, "output_cost_per_video_token": 1.75e-05, + "rpm": 2000, "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/chat/completions" @@ -22902,7 +22903,8 @@ "supports_reasoning": true, "supports_system_messages": true, "supports_video_input": true, - "supports_vision": true + "supports_vision": true, + "tpm": 800000 }, "gemini/gemini-3.1-pro-preview": { "prompt_cache_min_tokens": 4096, @@ -51655,6 +51657,7 @@ "litellm_provider": "gemini", "mode": "audio_transcription", "output_cost_per_token": 1.2e-05, + "rpm": 10, "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/audio/transcriptions" @@ -51667,8 +51670,7 @@ "text" ], "supports_audio_input": true, - "tpm": 800000, - "rpm": 2000 + "tpm": 250000 }, "gemini/gemini-3.5-transcribe-live": { "input_cost_per_audio_token": 3.5e-06, @@ -51676,6 +51678,7 @@ "litellm_provider": "gemini", "mode": "audio_transcription", "output_cost_per_token": 2.1e-05, + "rpm": 10, "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ "/v1/realtime" @@ -51687,8 +51690,7 @@ "text" ], "supports_audio_input": true, - "tpm": 250000, - "rpm": 10 + "tpm": 250000 }, "perplexity/pplx-embed-context-v1-0.6b": { "input_cost_per_token": 8e-09, From afe61aa0c8bafb6ffb1e4b6a902f96ed8bbd6964 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Thu, 27 Aug 2026 20:50:00 +0000 Subject: [PATCH 3/9] fix(registry): price xai grok-imagine generated images via input_cost_per_image for default calculator Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- ...odel_prices_and_context_window_backup.json | 21 +++++++------------ model_prices_and_context_window.json | 21 +++++++------------ 2 files changed, 14 insertions(+), 28 deletions(-) diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index b21e8a60599..78863dc5cca 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -54171,10 +54171,9 @@ "supports_response_schema": true }, "xai/grok-imagine-image": { - "input_cost_per_image": 0.002, + "input_cost_per_image": 0.02, "litellm_provider": "xai", "mode": "image_generation", - "output_cost_per_image": 0.02, "source": "https://docs.x.ai/docs/models", "supported_endpoints": [ "/v1/images/generations" @@ -54188,10 +54187,9 @@ ] }, "xai/grok-imagine-image-2026-03-02": { - "input_cost_per_image": 0.002, + "input_cost_per_image": 0.02, "litellm_provider": "xai", "mode": "image_generation", - "output_cost_per_image": 0.02, "source": "https://docs.x.ai/docs/models", "supported_endpoints": [ "/v1/images/generations" @@ -54205,10 +54203,9 @@ ] }, "xai/grok-imagine-image-quality": { - "input_cost_per_image": 0.01, + "input_cost_per_image": 0.05, "litellm_provider": "xai", "mode": "image_generation", - "output_cost_per_image": 0.05, "source": "https://docs.x.ai/docs/models", "supported_endpoints": [ "/v1/images/generations" @@ -54222,10 +54219,9 @@ ] }, "xai/grok-imagine-image-quality-20260403": { - "input_cost_per_image": 0.01, + "input_cost_per_image": 0.05, "litellm_provider": "xai", "mode": "image_generation", - "output_cost_per_image": 0.05, "source": "https://docs.x.ai/docs/models", "supported_endpoints": [ "/v1/images/generations" @@ -54239,10 +54235,9 @@ ] }, "xai/grok-imagine-image-quality-latest": { - "input_cost_per_image": 0.01, + "input_cost_per_image": 0.05, "litellm_provider": "xai", "mode": "image_generation", - "output_cost_per_image": 0.05, "source": "https://docs.x.ai/docs/models", "supported_endpoints": [ "/v1/images/generations" @@ -54256,10 +54251,9 @@ ] }, "xai/grok-imagine-image-pro": { - "input_cost_per_image": 0.01, + "input_cost_per_image": 0.05, "litellm_provider": "xai", "mode": "image_generation", - "output_cost_per_image": 0.05, "source": "https://docs.x.ai/docs/models", "supported_endpoints": [ "/v1/images/generations" @@ -54273,10 +54267,9 @@ ] }, "xai/grok-imagine-image-2.0": { - "input_cost_per_image": 0.01, + "input_cost_per_image": 0.06, "litellm_provider": "xai", "mode": "image_generation", - "output_cost_per_image": 0.06, "source": "https://docs.x.ai/docs/models", "supported_endpoints": [ "/v1/images/generations" diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index b21e8a60599..78863dc5cca 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -54171,10 +54171,9 @@ "supports_response_schema": true }, "xai/grok-imagine-image": { - "input_cost_per_image": 0.002, + "input_cost_per_image": 0.02, "litellm_provider": "xai", "mode": "image_generation", - "output_cost_per_image": 0.02, "source": "https://docs.x.ai/docs/models", "supported_endpoints": [ "/v1/images/generations" @@ -54188,10 +54187,9 @@ ] }, "xai/grok-imagine-image-2026-03-02": { - "input_cost_per_image": 0.002, + "input_cost_per_image": 0.02, "litellm_provider": "xai", "mode": "image_generation", - "output_cost_per_image": 0.02, "source": "https://docs.x.ai/docs/models", "supported_endpoints": [ "/v1/images/generations" @@ -54205,10 +54203,9 @@ ] }, "xai/grok-imagine-image-quality": { - "input_cost_per_image": 0.01, + "input_cost_per_image": 0.05, "litellm_provider": "xai", "mode": "image_generation", - "output_cost_per_image": 0.05, "source": "https://docs.x.ai/docs/models", "supported_endpoints": [ "/v1/images/generations" @@ -54222,10 +54219,9 @@ ] }, "xai/grok-imagine-image-quality-20260403": { - "input_cost_per_image": 0.01, + "input_cost_per_image": 0.05, "litellm_provider": "xai", "mode": "image_generation", - "output_cost_per_image": 0.05, "source": "https://docs.x.ai/docs/models", "supported_endpoints": [ "/v1/images/generations" @@ -54239,10 +54235,9 @@ ] }, "xai/grok-imagine-image-quality-latest": { - "input_cost_per_image": 0.01, + "input_cost_per_image": 0.05, "litellm_provider": "xai", "mode": "image_generation", - "output_cost_per_image": 0.05, "source": "https://docs.x.ai/docs/models", "supported_endpoints": [ "/v1/images/generations" @@ -54256,10 +54251,9 @@ ] }, "xai/grok-imagine-image-pro": { - "input_cost_per_image": 0.01, + "input_cost_per_image": 0.05, "litellm_provider": "xai", "mode": "image_generation", - "output_cost_per_image": 0.05, "source": "https://docs.x.ai/docs/models", "supported_endpoints": [ "/v1/images/generations" @@ -54273,10 +54267,9 @@ ] }, "xai/grok-imagine-image-2.0": { - "input_cost_per_image": 0.01, + "input_cost_per_image": 0.06, "litellm_provider": "xai", "mode": "image_generation", - "output_cost_per_image": 0.06, "source": "https://docs.x.ai/docs/models", "supported_endpoints": [ "/v1/images/generations" From 2b02c95ff23ff403f20d4c17fd8d0d34cf77d54e Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Fri, 28 Aug 2026 13:13:38 +0000 Subject: [PATCH 4/9] fix(registry): add zai/glm-5.3-flash, databricks-glm-5-3-flash, moonshot/kimi-k2.7-code; xai grok-imagine-image-pro deprecation date Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- ...odel_prices_and_context_window_backup.json | 53 ++++++++++++++++++- model_prices_and_context_window.json | 53 ++++++++++++++++++- 2 files changed, 104 insertions(+), 2 deletions(-) diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index 20145960c26..e4820d5c143 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -15216,6 +15216,29 @@ "supports_tool_choice": true, "supports_vision": false }, + "databricks/databricks-glm-5-3-flash": { + "litellm_provider": "databricks", + "max_input_tokens": 1048576, + "max_output_tokens": 131072, + "max_tokens": 131072, + "metadata": { + "notes": "Databricks has not published pay-per-token DBU rates for this model yet (not on the foundation-model-serving pricing page as of 2026-08-27), so cost fields are omitted until rates are published." + }, + "mode": "chat", + "source": "https://docs.databricks.com/aws/en/machine-learning/foundation-model-apis/supported-models", + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "text" + ], + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": true + }, "databricks/databricks-gpt-5": { "cache_creation_input_token_cost": 1.24999e-06, "cache_read_input_token_cost": 1.2502e-07, @@ -31860,6 +31883,17 @@ "supports_tool_choice": true, "supports_web_search": true }, + "moonshot/kimi-k2.7-code": { + "cache_read_input_token_cost": 1.9e-07, + "input_cost_per_token": 9.5e-07, + "litellm_provider": "moonshot", + "max_input_tokens": 262144, + "max_tokens": 262144, + "mode": "chat", + "output_cost_per_token": 4e-06, + "source": "https://platform.kimi.ai/docs/pricing/chat-k27-code", + "supports_prompt_caching": true + }, "moonshot/kimi-k2-turbo-preview": { "cache_read_input_token_cost": 1.5e-07, "deprecation_date": "2026-05-25", @@ -44627,6 +44661,22 @@ "supports_reasoning": true, "supports_tool_choice": true }, + "zai/glm-5.3-flash": { + "cache_creation_input_token_cost": 0, + "cache_read_input_token_cost": 3e-08, + "input_cost_per_token": 1.5e-07, + "output_cost_per_token": 5e-07, + "litellm_provider": "zai", + "max_input_tokens": 1048576, + "max_output_tokens": 128000, + "mode": "chat", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "source": "https://docs.z.ai/guides/overview/pricing", + "supports_vision": true + }, "zai/glm-5.1": { "cache_creation_input_token_cost": 0, "cache_read_input_token_cost": 2.6e-07, @@ -54371,7 +54421,8 @@ ], "supported_output_modalities": [ "image" - ] + ], + "deprecation_date": "2026-05-15" }, "xai/grok-imagine-image-2.0": { "input_cost_per_image": 0.06, diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index 20145960c26..e4820d5c143 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -15216,6 +15216,29 @@ "supports_tool_choice": true, "supports_vision": false }, + "databricks/databricks-glm-5-3-flash": { + "litellm_provider": "databricks", + "max_input_tokens": 1048576, + "max_output_tokens": 131072, + "max_tokens": 131072, + "metadata": { + "notes": "Databricks has not published pay-per-token DBU rates for this model yet (not on the foundation-model-serving pricing page as of 2026-08-27), so cost fields are omitted until rates are published." + }, + "mode": "chat", + "source": "https://docs.databricks.com/aws/en/machine-learning/foundation-model-apis/supported-models", + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "text" + ], + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": true + }, "databricks/databricks-gpt-5": { "cache_creation_input_token_cost": 1.24999e-06, "cache_read_input_token_cost": 1.2502e-07, @@ -31860,6 +31883,17 @@ "supports_tool_choice": true, "supports_web_search": true }, + "moonshot/kimi-k2.7-code": { + "cache_read_input_token_cost": 1.9e-07, + "input_cost_per_token": 9.5e-07, + "litellm_provider": "moonshot", + "max_input_tokens": 262144, + "max_tokens": 262144, + "mode": "chat", + "output_cost_per_token": 4e-06, + "source": "https://platform.kimi.ai/docs/pricing/chat-k27-code", + "supports_prompt_caching": true + }, "moonshot/kimi-k2-turbo-preview": { "cache_read_input_token_cost": 1.5e-07, "deprecation_date": "2026-05-25", @@ -44627,6 +44661,22 @@ "supports_reasoning": true, "supports_tool_choice": true }, + "zai/glm-5.3-flash": { + "cache_creation_input_token_cost": 0, + "cache_read_input_token_cost": 3e-08, + "input_cost_per_token": 1.5e-07, + "output_cost_per_token": 5e-07, + "litellm_provider": "zai", + "max_input_tokens": 1048576, + "max_output_tokens": 128000, + "mode": "chat", + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_tool_choice": true, + "source": "https://docs.z.ai/guides/overview/pricing", + "supports_vision": true + }, "zai/glm-5.1": { "cache_creation_input_token_cost": 0, "cache_read_input_token_cost": 2.6e-07, @@ -54371,7 +54421,8 @@ ], "supported_output_modalities": [ "image" - ] + ], + "deprecation_date": "2026-05-15" }, "xai/grok-imagine-image-2.0": { "input_cost_per_image": 0.06, From 02f787308d029de581234f0dae60e9798d253077 Mon Sep 17 00:00:00 2001 From: mateo-berri <277851410+mateo-berri@users.noreply.github.com> Date: Fri, 28 Aug 2026 09:17:46 -0700 Subject: [PATCH 5/9] fix(registry): correct gemini omni, grok-4.20 multi-agent, kimi-k2.7-code entries Gemini omni 1.1 flash and omni flash preview only answer on the Interactions API, so both now list /v1beta/interactions as their endpoint and 1.1 flash gets the 131072 / 65536 limits the models API reports. grok-4.20-multi-agent and -latest now match the dated entry (mode responses, /v1/responses only), and all three drop function calling and tool choice since the API rejects client-side tools outside a beta. kimi-k2.7-code gets the capability flags kimi-k2.6 carries (tools, reasoning, JSON mode, image and video input) plus max_output_tokens. grok-imagine-image-2.0 gets a low quality tier at $0.04 so quality=low is not billed at the $0.06 default. --- ...odel_prices_and_context_window_backup.json | 54 +++++++++++++++---- model_prices_and_context_window.json | 54 +++++++++++++++---- 2 files changed, 86 insertions(+), 22 deletions(-) diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index e4820d5c143..f4f627d02fa 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -23004,7 +23004,7 @@ "rpm": 2000, "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ - "/v1/chat/completions" + "/v1beta/interactions" ], "supported_modalities": [ "text", @@ -31888,11 +31888,18 @@ "input_cost_per_token": 9.5e-07, "litellm_provider": "moonshot", "max_input_tokens": 262144, + "max_output_tokens": 262144, "max_tokens": 262144, "mode": "chat", "output_cost_per_token": 4e-06, "source": "https://platform.kimi.ai/docs/pricing/chat-k27-code", - "supports_prompt_caching": true + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_video_input": true, + "supports_vision": true }, "moonshot/kimi-k2-turbo-preview": { "cache_read_input_token_cost": 1.5e-07, @@ -51360,10 +51367,10 @@ "mode": "responses", "output_cost_per_token": 2.5e-06, "source": "https://docs.x.ai/docs/models", - "supports_function_calling": true, + "supports_function_calling": false, "supports_prompt_caching": true, "supports_reasoning": true, - "supports_tool_choice": true, + "supports_tool_choice": false, "supports_vision": true, "supports_web_search": true, "input_cost_per_token_above_200k_tokens": 2.5e-06, @@ -54238,6 +54245,9 @@ "input_cost_per_audio_token": 1.5e-06, "input_cost_per_token": 1.5e-06, "litellm_provider": "gemini", + "max_input_tokens": 131072, + "max_output_tokens": 65536, + "max_tokens": 65536, "mode": "chat", "output_cost_per_reasoning_token": 9e-06, "output_cost_per_token": 9e-06, @@ -54245,7 +54255,7 @@ "rpm": 2000, "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ - "/v1/chat/completions" + "/v1beta/interactions" ], "supported_modalities": [ "text", @@ -54440,6 +54450,22 @@ "image" ] }, + "low/1024-x-1024/grok-imagine-image-2.0": { + "input_cost_per_image": 0.04, + "litellm_provider": "xai", + "mode": "image_generation", + "source": "https://docs.x.ai/docs/models", + "supported_endpoints": [ + "/v1/images/generations" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "image" + ] + }, "xai/grok-4.20-non-reasoning": { "cache_read_input_token_cost": 2e-07, "input_cost_per_token": 1.25e-06, @@ -54487,13 +54513,16 @@ "max_input_tokens": 1000000, "max_output_tokens": 1000000, "max_tokens": 1000000, - "mode": "chat", + "mode": "responses", "output_cost_per_token": 2.5e-06, "source": "https://docs.x.ai/docs/models", - "supports_function_calling": true, + "supported_endpoints": [ + "/v1/responses" + ], + "supports_function_calling": false, "supports_prompt_caching": true, "supports_reasoning": true, - "supports_tool_choice": true, + "supports_tool_choice": false, "supports_vision": true, "supports_web_search": true, "input_cost_per_token_above_200k_tokens": 2.5e-06, @@ -54508,13 +54537,16 @@ "max_input_tokens": 1000000, "max_output_tokens": 1000000, "max_tokens": 1000000, - "mode": "chat", + "mode": "responses", "output_cost_per_token": 2.5e-06, "source": "https://docs.x.ai/docs/models", - "supports_function_calling": true, + "supported_endpoints": [ + "/v1/responses" + ], + "supports_function_calling": false, "supports_prompt_caching": true, "supports_reasoning": true, - "supports_tool_choice": true, + "supports_tool_choice": false, "supports_vision": true, "supports_web_search": true, "input_cost_per_token_above_200k_tokens": 2.5e-06, diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index e4820d5c143..f4f627d02fa 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -23004,7 +23004,7 @@ "rpm": 2000, "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ - "/v1/chat/completions" + "/v1beta/interactions" ], "supported_modalities": [ "text", @@ -31888,11 +31888,18 @@ "input_cost_per_token": 9.5e-07, "litellm_provider": "moonshot", "max_input_tokens": 262144, + "max_output_tokens": 262144, "max_tokens": 262144, "mode": "chat", "output_cost_per_token": 4e-06, "source": "https://platform.kimi.ai/docs/pricing/chat-k27-code", - "supports_prompt_caching": true + "supports_function_calling": true, + "supports_prompt_caching": true, + "supports_reasoning": true, + "supports_response_schema": true, + "supports_tool_choice": true, + "supports_video_input": true, + "supports_vision": true }, "moonshot/kimi-k2-turbo-preview": { "cache_read_input_token_cost": 1.5e-07, @@ -51360,10 +51367,10 @@ "mode": "responses", "output_cost_per_token": 2.5e-06, "source": "https://docs.x.ai/docs/models", - "supports_function_calling": true, + "supports_function_calling": false, "supports_prompt_caching": true, "supports_reasoning": true, - "supports_tool_choice": true, + "supports_tool_choice": false, "supports_vision": true, "supports_web_search": true, "input_cost_per_token_above_200k_tokens": 2.5e-06, @@ -54238,6 +54245,9 @@ "input_cost_per_audio_token": 1.5e-06, "input_cost_per_token": 1.5e-06, "litellm_provider": "gemini", + "max_input_tokens": 131072, + "max_output_tokens": 65536, + "max_tokens": 65536, "mode": "chat", "output_cost_per_reasoning_token": 9e-06, "output_cost_per_token": 9e-06, @@ -54245,7 +54255,7 @@ "rpm": 2000, "source": "https://ai.google.dev/gemini-api/docs/pricing", "supported_endpoints": [ - "/v1/chat/completions" + "/v1beta/interactions" ], "supported_modalities": [ "text", @@ -54440,6 +54450,22 @@ "image" ] }, + "low/1024-x-1024/grok-imagine-image-2.0": { + "input_cost_per_image": 0.04, + "litellm_provider": "xai", + "mode": "image_generation", + "source": "https://docs.x.ai/docs/models", + "supported_endpoints": [ + "/v1/images/generations" + ], + "supported_modalities": [ + "text", + "image" + ], + "supported_output_modalities": [ + "image" + ] + }, "xai/grok-4.20-non-reasoning": { "cache_read_input_token_cost": 2e-07, "input_cost_per_token": 1.25e-06, @@ -54487,13 +54513,16 @@ "max_input_tokens": 1000000, "max_output_tokens": 1000000, "max_tokens": 1000000, - "mode": "chat", + "mode": "responses", "output_cost_per_token": 2.5e-06, "source": "https://docs.x.ai/docs/models", - "supports_function_calling": true, + "supported_endpoints": [ + "/v1/responses" + ], + "supports_function_calling": false, "supports_prompt_caching": true, "supports_reasoning": true, - "supports_tool_choice": true, + "supports_tool_choice": false, "supports_vision": true, "supports_web_search": true, "input_cost_per_token_above_200k_tokens": 2.5e-06, @@ -54508,13 +54537,16 @@ "max_input_tokens": 1000000, "max_output_tokens": 1000000, "max_tokens": 1000000, - "mode": "chat", + "mode": "responses", "output_cost_per_token": 2.5e-06, "source": "https://docs.x.ai/docs/models", - "supports_function_calling": true, + "supported_endpoints": [ + "/v1/responses" + ], + "supports_function_calling": false, "supports_prompt_caching": true, "supports_reasoning": true, - "supports_tool_choice": true, + "supports_tool_choice": false, "supports_vision": true, "supports_web_search": true, "input_cost_per_token_above_200k_tokens": 2.5e-06, From 1aa214e69ce83d89d9ca42b883e583a44a776c3f Mon Sep 17 00:00:00 2001 From: mateo-berri <277851410+mateo-berri@users.noreply.github.com> Date: Fri, 28 Aug 2026 09:19:22 -0700 Subject: [PATCH 6/9] fix(registry): align gemini-omni-flash-preview limits with the models API The models API reports 131072 input / 65536 output for the preview model and the Interactions API accepts 100k tokens but rejects 130k, so the 1,048,576 input limit copied from the docs was wrong. --- litellm/model_prices_and_context_window_backup.json | 6 +++--- model_prices_and_context_window.json | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index f4f627d02fa..537fe511253 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -22994,9 +22994,9 @@ "input_cost_per_audio_token": 1.5e-06, "input_cost_per_token": 1.5e-06, "litellm_provider": "gemini", - "max_input_tokens": 1048576, - "max_output_tokens": 65535, - "max_tokens": 65535, + "max_input_tokens": 131072, + "max_output_tokens": 65536, + "max_tokens": 65536, "mode": "chat", "output_cost_per_reasoning_token": 9e-06, "output_cost_per_token": 9e-06, diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index f4f627d02fa..537fe511253 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -22994,9 +22994,9 @@ "input_cost_per_audio_token": 1.5e-06, "input_cost_per_token": 1.5e-06, "litellm_provider": "gemini", - "max_input_tokens": 1048576, - "max_output_tokens": 65535, - "max_tokens": 65535, + "max_input_tokens": 131072, + "max_output_tokens": 65536, + "max_tokens": 65536, "mode": "chat", "output_cost_per_reasoning_token": 9e-06, "output_cost_per_token": 9e-06, From b05ac5fefd4448abb6d164d3c076a6cb52c2d825 Mon Sep 17 00:00:00 2001 From: mateo-berri <277851410+mateo-berri@users.noreply.github.com> Date: Fri, 28 Aug 2026 09:29:09 -0700 Subject: [PATCH 7/9] test(registry): allow /v1beta/interactions in the supported_endpoints schema --- tests/test_litellm/test_utils.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/test_litellm/test_utils.py b/tests/test_litellm/test_utils.py index 92033251b13..488ee0d7c60 100644 --- a/tests/test_litellm/test_utils.py +++ b/tests/test_litellm/test_utils.py @@ -1051,6 +1051,7 @@ def test_aaamodel_prices_and_context_window_json_is_valid(): "/v1/audio/speech", "/v1/ocr", "/vertex_ai/live", + "/v1beta/interactions", ], }, }, From bf047148fcd4d492464a5822810692310365fc27 Mon Sep 17 00:00:00 2001 From: mateo-berri <277851410+mateo-berri@users.noreply.github.com> Date: Fri, 28 Aug 2026 09:38:21 -0700 Subject: [PATCH 8/9] fix(cost): price image generations from the requested quality when the response omits it --- .../litellm_core_utils/llm_cost_calc/utils.py | 32 +++++++++------- .../llm_cost_calc/test_llm_cost_calc_utils.py | 38 +++++++++++++++++++ 2 files changed, 57 insertions(+), 13 deletions(-) diff --git a/litellm/litellm_core_utils/llm_cost_calc/utils.py b/litellm/litellm_core_utils/llm_cost_calc/utils.py index bdbaee00c19..1fbc82c95a2 100644 --- a/litellm/litellm_core_utils/llm_cost_calc/utils.py +++ b/litellm/litellm_core_utils/llm_cost_calc/utils.py @@ -72,6 +72,11 @@ def _get_token_detail_value(details: object, key: str) -> int | None: return value if isinstance(value, int) else None +def _requested_image_param(optional_params: Mapping[str, object] | None, key: str) -> str | None: + value: Final = None if optional_params is None else optional_params.get(key) + return value if isinstance(value, str) else None + + def get_web_search_requests(server_tool_use: Any) -> int | None: """ Tolerantly read ``web_search_requests`` from a ``server_tool_use`` value @@ -1311,12 +1316,13 @@ class CostCalculatorUtils: cost_calculator as vertex_ai_image_cost_calculator, ) - if size is None: - size = completion_response.size or "1024-x-1024" - if quality is None: - quality = completion_response.quality or "standard" - if n is None: - n = len(completion_response.data) if completion_response.data else 0 + resolved_size: Final = ( + size or completion_response.size or _requested_image_param(optional_params, "size") or "1024-x-1024" + ) + resolved_quality: Final = ( + quality or completion_response.quality or _requested_image_param(optional_params, "quality") or "standard" + ) + resolved_n: Final = n if n is not None else (len(completion_response.data) if completion_response.data else 0) if custom_llm_provider == litellm.LlmProviders.VERTEX_AI.value: if isinstance(completion_response, ImageResponse): @@ -1328,7 +1334,7 @@ class CostCalculatorUtils: if isinstance(completion_response, ImageResponse): return bedrock_image_cost_calculator( model=model, - size=size, + size=resolved_size, image_response=completion_response, optional_params=optional_params, ) @@ -1424,19 +1430,19 @@ class CostCalculatorUtils: # Fall through to default for DALL-E models return default_image_cost_calculator( model=model, - quality=quality, + quality=resolved_quality, custom_llm_provider=custom_llm_provider, - n=n, - size=size, + n=resolved_n, + size=resolved_size, optional_params=optional_params, ) else: return default_image_cost_calculator( model=model, - quality=quality, + quality=resolved_quality, custom_llm_provider=custom_llm_provider, - n=n, - size=size, + n=resolved_n, + size=resolved_size, optional_params=optional_params, ) return 0.0 diff --git a/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_llm_cost_calc_utils.py b/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_llm_cost_calc_utils.py index ce90719789a..722c93cdb11 100644 --- a/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_llm_cost_calc_utils.py +++ b/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_llm_cost_calc_utils.py @@ -27,6 +27,7 @@ from litellm.types.utils import ( ) from litellm.litellm_core_utils.llm_cost_calc.utils import ( + CostCalculatorUtils, PromptTokensDetailsResult, TokenTypeCostBreakdown, _calculate_input_cost, @@ -3841,3 +3842,40 @@ def test_generic_cost_per_token_grok_46_long_context(_local_model_cost_map): ) assert prompt_cost == pytest.approx(200_000 * 4e-06 + 50_000 * 1e-06) assert completion_cost == pytest.approx(1_000 * 1.2e-05) + + +@pytest.mark.parametrize( + ("response_quality", "requested_quality", "expected_cost"), + [ + (None, "low", 0.04), + (None, None, 0.06), + ("high", "low", 0.08), + ], +) +def test_route_image_generation_cost_falls_back_to_requested_quality( + monkeypatch, response_quality, requested_quality, expected_cost +): + def tier(cost): + return {"litellm_provider": "xai", "mode": "image_generation", "input_cost_per_image": cost} + + monkeypatch.setattr( + litellm, + "model_cost", + { + "xai/grok-imagine-image-2.0": tier(0.06), + "low/1024-x-1024/grok-imagine-image-2.0": tier(0.04), + "high/1024-x-1024/grok-imagine-image-2.0": tier(0.08), + }, + ) + response = ImageResponse(data=[ImageObject(url="https://example.com/image.png")], quality=response_quality) + optional_params = {} if requested_quality is None else {"quality": requested_quality} + + cost = CostCalculatorUtils.route_image_generation_cost_calculator( + model="xai/grok-imagine-image-2.0", + completion_response=response, + custom_llm_provider="xai", + optional_params=optional_params, + call_type="image_generation", + ) + + assert cost == expected_cost From b8f91235a6670d42c52f0c842a4b963f47d41cd0 Mon Sep 17 00:00:00 2001 From: mateo-berri <277851410+mateo-berri@users.noreply.github.com> Date: Fri, 28 Aug 2026 09:52:31 -0700 Subject: [PATCH 9/9] fix(cost): only let a WxH request size drive image pricing --- .../litellm_core_utils/llm_cost_calc/utils.py | 11 +++++- .../llm_cost_calc/test_llm_cost_calc_utils.py | 36 +++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/litellm/litellm_core_utils/llm_cost_calc/utils.py b/litellm/litellm_core_utils/llm_cost_calc/utils.py index 1fbc82c95a2..19e3f624268 100644 --- a/litellm/litellm_core_utils/llm_cost_calc/utils.py +++ b/litellm/litellm_core_utils/llm_cost_calc/utils.py @@ -1,6 +1,7 @@ # What is this? ## Helper utilities for cost_per_token() +import re from collections.abc import Mapping from dataclasses import dataclass from types import MappingProxyType @@ -72,11 +73,19 @@ def _get_token_detail_value(details: object, key: str) -> int | None: return value if isinstance(value, int) else None +_IMAGE_SIZE_PATTERN: Final = re.compile(r"\d+(?:x|-x-)\d+") + + def _requested_image_param(optional_params: Mapping[str, object] | None, key: str) -> str | None: value: Final = None if optional_params is None else optional_params.get(key) return value if isinstance(value, str) else None +def _requested_image_size(optional_params: Mapping[str, object] | None) -> str | None: + value: Final = _requested_image_param(optional_params, "size") + return value if value is not None and _IMAGE_SIZE_PATTERN.fullmatch(value) else None + + def get_web_search_requests(server_tool_use: Any) -> int | None: """ Tolerantly read ``web_search_requests`` from a ``server_tool_use`` value @@ -1317,7 +1326,7 @@ class CostCalculatorUtils: ) resolved_size: Final = ( - size or completion_response.size or _requested_image_param(optional_params, "size") or "1024-x-1024" + size or completion_response.size or _requested_image_size(optional_params) or "1024-x-1024" ) resolved_quality: Final = ( quality or completion_response.quality or _requested_image_param(optional_params, "quality") or "standard" diff --git a/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_llm_cost_calc_utils.py b/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_llm_cost_calc_utils.py index 722c93cdb11..58fa5720636 100644 --- a/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_llm_cost_calc_utils.py +++ b/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_llm_cost_calc_utils.py @@ -3879,3 +3879,39 @@ def test_route_image_generation_cost_falls_back_to_requested_quality( ) assert cost == expected_cost + + +@pytest.mark.parametrize( + ("requested_size", "expected_cost"), + [ + ("1536x1024", 0.05), + ("1536-x-1024", 0.05), + ("auto", 0.04), + (None, 0.04), + ], +) +def test_route_image_generation_cost_falls_back_to_requested_size(monkeypatch, requested_size, expected_cost): + def tier(cost): + return {"litellm_provider": "xai", "mode": "image_generation", "input_cost_per_image": cost} + + monkeypatch.setattr( + litellm, + "model_cost", + { + "xai/grok-imagine-image-2.0": tier(0.06), + "low/1024-x-1024/grok-imagine-image-2.0": tier(0.04), + "low/1536-x-1024/grok-imagine-image-2.0": tier(0.05), + }, + ) + response = ImageResponse(data=[ImageObject(url="https://example.com/image.png")]) + optional_params = {"quality": "low", **({} if requested_size is None else {"size": requested_size})} + + cost = CostCalculatorUtils.route_image_generation_cost_calculator( + model="xai/grok-imagine-image-2.0", + completion_response=response, + custom_llm_provider="xai", + optional_params=optional_params, + call_type="image_generation", + ) + + assert cost == expected_cost