fix(cost-map): retirement dates, chatgpt reasoning flags, bing pricing, bedrock mantle and mythos, azure gpt-5.6 alias, anthropic batch rates, new nebius, openrouter and xai rows (#42951)

This commit is contained in:
devin-ai-integration[bot] 2026-09-25 19:12:36 -07:00 • committed by GitHub
parent 7fc2206171
commit 4179860a17
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 1029 additions and 137 deletions

View file

@ -42,6 +42,9 @@ pub struct ModelInfo {
pub cache_creation_input_token_cost_above_200k_tokens: Option<f64>,
/// Rate applied once the prompt exceeds the token threshold in the field name.
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_creation_input_token_cost_above_200k_tokens_batches: Option<f64>,
/// Rate applied once the prompt exceeds the token threshold in the field name.
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_creation_input_token_cost_above_256k_tokens: Option<f64>,
/// Rate applied once the prompt exceeds the token threshold in the field name.
#[serde(skip_serializing_if = "Option::is_none")]
@ -78,6 +81,9 @@ pub struct ModelInfo {
/// Rate applied once the prompt exceeds the token threshold in the field name.
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_read_input_token_cost_above_200k_tokens: Option<f64>,
/// Rate applied once the prompt exceeds the token threshold in the field name.
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_read_input_token_cost_above_200k_tokens_batches: Option<f64>,
/// Priority service-tier rate for the same-named base field.
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_read_input_token_cost_above_200k_tokens_priority: Option<f64>,
@ -113,6 +119,10 @@ pub struct ModelInfo {
pub code_interpreter_cost_per_session: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub computer_use_input_cost_per_1k_tokens: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub computer_use_output_cost_per_1k_tokens: Option<f64>,
/// Reasoning effort the provider applies when the request omits reasoning_effort. Gates whether a non-default temperature or the top_p/logprobs sampling params are accepted, which hold only when the effort resolves to 'none'.
#[serde(skip_serializing_if = "Option::is_none")]
pub default_reasoning_effort: Option<ReasoningEffort>,
@ -120,6 +130,10 @@ pub struct ModelInfo {
#[serde(skip_serializing_if = "Option::is_none")]
pub deprecation_date: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub file_search_cost_per_1k_calls: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub file_search_cost_per_gb_per_day: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub gemini_audio_only_live: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub gemini_native_audio: Option<bool>,
@ -174,6 +188,9 @@ pub struct ModelInfo {
/// Rate applied once the prompt exceeds the token threshold in the field name.
#[serde(skip_serializing_if = "Option::is_none")]
pub input_cost_per_token_above_200k_tokens: Option<f64>,
/// Rate applied once the prompt exceeds the token threshold in the field name.
#[serde(skip_serializing_if = "Option::is_none")]
pub input_cost_per_token_above_200k_tokens_batches: Option<f64>,
/// Priority service-tier rate for the same-named base field.
#[serde(skip_serializing_if = "Option::is_none")]
pub input_cost_per_token_above_200k_tokens_priority: Option<f64>,
@ -265,6 +282,26 @@ pub struct ModelInfo {
pub output_cost_per_image_1536: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub output_cost_per_image_512: Option<f64>,
#[serde(
rename = "output_cost_per_image_0.5K",
skip_serializing_if = "Option::is_none"
)]
pub output_cost_per_image_0_5k: Option<f64>,
#[serde(
rename = "output_cost_per_image_1K",
skip_serializing_if = "Option::is_none"
)]
pub output_cost_per_image_1k: Option<f64>,
#[serde(
rename = "output_cost_per_image_2K",
skip_serializing_if = "Option::is_none"
)]
pub output_cost_per_image_2k: Option<f64>,
#[serde(
rename = "output_cost_per_image_4K",
skip_serializing_if = "Option::is_none"
)]
pub output_cost_per_image_4k: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub output_cost_per_image_token: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
@ -297,6 +334,9 @@ pub struct ModelInfo {
/// Rate applied once the prompt exceeds the token threshold in the field name.
#[serde(skip_serializing_if = "Option::is_none")]
pub output_cost_per_token_above_200k_tokens: Option<f64>,
/// Rate applied once the prompt exceeds the token threshold in the field name.
#[serde(skip_serializing_if = "Option::is_none")]
pub output_cost_per_token_above_200k_tokens_batches: Option<f64>,
/// Priority service-tier rate for the same-named base field.
#[serde(skip_serializing_if = "Option::is_none")]
pub output_cost_per_token_above_200k_tokens_priority: Option<f64>,
@ -357,6 +397,8 @@ pub struct ModelInfo {
/// Provider default requests-per-minute limit.
#[serde(skip_serializing_if = "Option::is_none")]
pub rpm: Option<u64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub rules: Option<Vec<Value>>,
/// USD cost per web search query, keyed by search context size.
#[serde(skip_serializing_if = "Option::is_none")]
pub search_context_cost_per_query: Option<SearchContextCostPerQuery>,
@ -475,6 +517,8 @@ pub struct ModelInfo {
#[serde(skip_serializing_if = "Option::is_none")]
pub uses_embed_content: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub vector_store_cost_per_gb_per_day: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub vertex_ai_audio_api: Option<VertexAiAudioApi>,
/// Whether web search is billed per query or per prompt.
#[serde(skip_serializing_if = "Option::is_none")]

View file

@ -384,6 +384,7 @@ _DEPLOYMENT_PRICING_KEYS: Final = (
"cache_read_input_token_cost_above_200k_tokens_batches",
"cache_read_input_token_cost_above_272k_tokens_batches",
"cache_creation_input_token_cost_batches",
"cache_creation_input_token_cost_above_200k_tokens_batches",
"cache_creation_input_token_cost_above_272k_tokens_batches",
"ocr_cost_per_page",
"ocr_cost_per_page_batches",

View file

@ -1279,8 +1279,11 @@
"source": "https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonBedrockFoundationModels/current/index.json"
},
"anthropic.claude-mythos-preview": {
"input_cost_per_token": 0,
"output_cost_per_token": 0,
"cache_creation_input_token_cost": 3.4375e-05,
"cache_creation_input_token_cost_above_1hr": 5.5e-05,
"cache_read_input_token_cost": 2.75e-06,
"input_cost_per_token": 2.75e-05,
"output_cost_per_token": 0.0001375,
"litellm_provider": "bedrock",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
@ -1289,10 +1292,11 @@
"thinking_always_on": true,
"supports_function_calling": true,
"supports_vision": true,
"supports_prompt_caching": false,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true,
"supports_output_config": true
"supports_output_config": true,
"source": "https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonBedrockFoundationModels/current/index.json"
},
"global.anthropic.claude-opus-4-7": {
"bedrock_converse_supports_strict_tools": false,
@ -7773,27 +7777,27 @@
"output_cost_per_token_above_272k_tokens_batches": 0.000135
},
"azure/gpt-5.6": {
"cache_creation_input_token_cost": 6.25e-06,
"cache_creation_input_token_cost_above_272k_tokens": 1.25e-05,
"cache_creation_input_token_cost_priority": 1.25e-05,
"cache_creation_input_token_cost_above_272k_tokens_priority": 2.5e-05,
"cache_read_input_token_cost": 5e-07,
"cache_read_input_token_cost_above_272k_tokens": 1e-06,
"cache_read_input_token_cost_priority": 1e-06,
"cache_read_input_token_cost_above_272k_tokens_priority": 2e-06,
"input_cost_per_token": 5e-06,
"input_cost_per_token_above_272k_tokens": 1e-05,
"input_cost_per_token_priority": 1e-05,
"input_cost_per_token_above_272k_tokens_priority": 2e-05,
"cache_creation_input_token_cost": 5e-06,
"cache_creation_input_token_cost_above_272k_tokens": 1e-05,
"cache_creation_input_token_cost_priority": 1e-05,
"cache_creation_input_token_cost_above_272k_tokens_priority": 2e-05,
"cache_read_input_token_cost": 4e-07,
"cache_read_input_token_cost_above_272k_tokens": 8e-07,
"cache_read_input_token_cost_priority": 8e-07,
"cache_read_input_token_cost_above_272k_tokens_priority": 1.6e-06,
"input_cost_per_token": 4e-06,
"input_cost_per_token_above_272k_tokens": 8e-06,
"input_cost_per_token_priority": 8e-06,
"input_cost_per_token_above_272k_tokens_priority": 1.6e-05,
"litellm_provider": "azure",
"max_input_tokens": 922000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 3e-05,
"output_cost_per_token_above_272k_tokens": 4.5e-05,
"output_cost_per_token_priority": 6e-05,
"output_cost_per_token_above_272k_tokens_priority": 9e-05,
"output_cost_per_token": 2e-05,
"output_cost_per_token_above_272k_tokens": 3e-05,
"output_cost_per_token_priority": 4e-05,
"output_cost_per_token_above_272k_tokens_priority": 6e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -8579,27 +8583,27 @@
"supports_web_search": true
},
"azure/us/gpt-5.6": {
"cache_creation_input_token_cost": 6.875e-06,
"cache_creation_input_token_cost_above_272k_tokens": 1.375e-05,
"cache_creation_input_token_cost_above_272k_tokens_priority": 2.75e-05,
"cache_creation_input_token_cost_priority": 1.375e-05,
"cache_read_input_token_cost": 5.5e-07,
"cache_read_input_token_cost_above_272k_tokens": 1.1e-06,
"cache_read_input_token_cost_above_272k_tokens_priority": 2.2e-06,
"cache_read_input_token_cost_priority": 1.1e-06,
"input_cost_per_token": 5.5e-06,
"input_cost_per_token_above_272k_tokens": 1.1e-05,
"input_cost_per_token_above_272k_tokens_priority": 2.2e-05,
"input_cost_per_token_priority": 1.1e-05,
"cache_creation_input_token_cost": 5.5e-06,
"cache_creation_input_token_cost_above_272k_tokens": 1.1e-05,
"cache_creation_input_token_cost_above_272k_tokens_priority": 2.2e-05,
"cache_creation_input_token_cost_priority": 1.1e-05,
"cache_read_input_token_cost": 4.4e-07,
"cache_read_input_token_cost_above_272k_tokens": 8.8e-07,
"cache_read_input_token_cost_above_272k_tokens_priority": 1.76e-06,
"cache_read_input_token_cost_priority": 8.8e-07,
"input_cost_per_token": 4.4e-06,
"input_cost_per_token_above_272k_tokens": 8.8e-06,
"input_cost_per_token_above_272k_tokens_priority": 1.76e-05,
"input_cost_per_token_priority": 8.8e-06,
"litellm_provider": "azure",
"max_input_tokens": 922000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 3.3e-05,
"output_cost_per_token_above_272k_tokens": 4.95e-05,
"output_cost_per_token_above_272k_tokens_priority": 9.9e-05,
"output_cost_per_token_priority": 6.6e-05,
"output_cost_per_token": 2.2e-05,
"output_cost_per_token_above_272k_tokens": 3.3e-05,
"output_cost_per_token_above_272k_tokens_priority": 6.6e-05,
"output_cost_per_token_priority": 4.4e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -8985,27 +8989,27 @@
"supports_web_search": true
},
"azure/eu/gpt-5.6": {
"cache_creation_input_token_cost": 6.875e-06,
"cache_creation_input_token_cost_above_272k_tokens": 1.375e-05,
"cache_creation_input_token_cost_above_272k_tokens_priority": 2.75e-05,
"cache_creation_input_token_cost_priority": 1.375e-05,
"cache_read_input_token_cost": 5.5e-07,
"cache_read_input_token_cost_above_272k_tokens": 1.1e-06,
"cache_read_input_token_cost_above_272k_tokens_priority": 2.2e-06,
"cache_read_input_token_cost_priority": 1.1e-06,
"input_cost_per_token": 5.5e-06,
"input_cost_per_token_above_272k_tokens": 1.1e-05,
"input_cost_per_token_above_272k_tokens_priority": 2.2e-05,
"input_cost_per_token_priority": 1.1e-05,
"cache_creation_input_token_cost": 5.5e-06,
"cache_creation_input_token_cost_above_272k_tokens": 1.1e-05,
"cache_creation_input_token_cost_above_272k_tokens_priority": 2.2e-05,
"cache_creation_input_token_cost_priority": 1.1e-05,
"cache_read_input_token_cost": 4.4e-07,
"cache_read_input_token_cost_above_272k_tokens": 8.8e-07,
"cache_read_input_token_cost_above_272k_tokens_priority": 1.76e-06,
"cache_read_input_token_cost_priority": 8.8e-07,
"input_cost_per_token": 4.4e-06,
"input_cost_per_token_above_272k_tokens": 8.8e-06,
"input_cost_per_token_above_272k_tokens_priority": 1.76e-05,
"input_cost_per_token_priority": 8.8e-06,
"litellm_provider": "azure",
"max_input_tokens": 922000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 3.3e-05,
"output_cost_per_token_above_272k_tokens": 4.95e-05,
"output_cost_per_token_above_272k_tokens_priority": 9.9e-05,
"output_cost_per_token_priority": 6.6e-05,
"output_cost_per_token": 2.2e-05,
"output_cost_per_token_above_272k_tokens": 3.3e-05,
"output_cost_per_token_above_272k_tokens_priority": 6.6e-05,
"output_cost_per_token_priority": 4.4e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -14640,14 +14644,18 @@
"claude-haiku-4-5-20251001": {
"cache_creation_input_token_cost": 1.25e-06,
"cache_creation_input_token_cost_above_1hr": 2e-06,
"cache_creation_input_token_cost_batches": 6.25e-07,
"cache_read_input_token_cost": 1e-07,
"cache_read_input_token_cost_batches": 5e-08,
"input_cost_per_token": 1e-06,
"input_cost_per_token_batches": 5e-07,
"litellm_provider": "anthropic",
"max_input_tokens": 200000,
"max_output_tokens": 64000,
"max_tokens": 64000,
"mode": "chat",
"output_cost_per_token": 5e-06,
"output_cost_per_token_batches": 2.5e-06,
"supports_assistant_prefill": true,
"supports_function_calling": true,
"supports_native_structured_output": true,
@ -14663,14 +14671,18 @@
"claude-haiku-4-5": {
"cache_creation_input_token_cost": 1.25e-06,
"cache_creation_input_token_cost_above_1hr": 2e-06,
"cache_creation_input_token_cost_batches": 6.25e-07,
"cache_read_input_token_cost": 1e-07,
"cache_read_input_token_cost_batches": 5e-08,
"input_cost_per_token": 1e-06,
"input_cost_per_token_batches": 5e-07,
"litellm_provider": "anthropic",
"max_input_tokens": 200000,
"max_output_tokens": 64000,
"max_tokens": 64000,
"mode": "chat",
"output_cost_per_token": 5e-06,
"output_cost_per_token_batches": 2.5e-06,
"supports_assistant_prefill": true,
"supports_function_calling": true,
"supports_native_structured_output": true,
@ -14693,13 +14705,21 @@
"input_cost_per_token_above_200k_tokens": 6e-06,
"output_cost_per_token_above_200k_tokens": 2.25e-05,
"cache_creation_input_token_cost_above_200k_tokens": 7.5e-06,
"cache_creation_input_token_cost_above_200k_tokens_batches": 3.75e-06,
"cache_creation_input_token_cost_batches": 1.875e-06,
"cache_read_input_token_cost_above_200k_tokens": 6e-07,
"cache_read_input_token_cost_above_200k_tokens_batches": 3e-07,
"cache_read_input_token_cost_batches": 1.5e-07,
"input_cost_per_token_above_200k_tokens_batches": 3e-06,
"input_cost_per_token_batches": 1.5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 64000,
"max_tokens": 64000,
"mode": "chat",
"output_cost_per_token": 1.5e-05,
"output_cost_per_token_above_200k_tokens_batches": 1.125e-05,
"output_cost_per_token_batches": 7.5e-06,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -14727,13 +14747,21 @@
"input_cost_per_token_above_200k_tokens": 6e-06,
"output_cost_per_token_above_200k_tokens": 2.25e-05,
"cache_creation_input_token_cost_above_200k_tokens": 7.5e-06,
"cache_creation_input_token_cost_above_200k_tokens_batches": 3.75e-06,
"cache_creation_input_token_cost_batches": 1.875e-06,
"cache_read_input_token_cost_above_200k_tokens": 6e-07,
"cache_read_input_token_cost_above_200k_tokens_batches": 3e-07,
"cache_read_input_token_cost_batches": 1.5e-07,
"input_cost_per_token_above_200k_tokens_batches": 3e-06,
"input_cost_per_token_batches": 1.5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 64000,
"max_tokens": 64000,
"mode": "chat",
"output_cost_per_token": 1.5e-05,
"output_cost_per_token_above_200k_tokens_batches": 1.125e-05,
"output_cost_per_token_batches": 7.5e-06,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -14757,14 +14785,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 2.5e-06,
"cache_creation_input_token_cost_above_1hr": 4e-06,
"cache_creation_input_token_cost_batches": 1.25e-06,
"cache_read_input_token_cost": 2e-07,
"cache_read_input_token_cost_batches": 1e-07,
"input_cost_per_token": 2e-06,
"input_cost_per_token_batches": 1e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 1e-05,
"output_cost_per_token_batches": 5e-06,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -14797,14 +14829,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 3.75e-06,
"cache_creation_input_token_cost_above_1hr": 6e-06,
"cache_creation_input_token_cost_batches": 1.875e-06,
"cache_read_input_token_cost": 3e-07,
"cache_read_input_token_cost_batches": 1.5e-07,
"input_cost_per_token": 3e-06,
"input_cost_per_token_batches": 1.5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 1.5e-05,
"output_cost_per_token_batches": 7.5e-06,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -14865,14 +14901,18 @@
"claude-opus-4-5-20251101": {
"cache_creation_input_token_cost": 6.25e-06,
"cache_creation_input_token_cost_above_1hr": 1e-05,
"cache_creation_input_token_cost_batches": 3.125e-06,
"cache_read_input_token_cost": 5e-07,
"cache_read_input_token_cost_batches": 2.5e-07,
"input_cost_per_token": 5e-06,
"input_cost_per_token_batches": 2.5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 200000,
"max_output_tokens": 64000,
"max_tokens": 64000,
"mode": "chat",
"output_cost_per_token": 2.5e-05,
"output_cost_per_token_batches": 1.25e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -14895,14 +14935,18 @@
"claude-opus-4-5": {
"cache_creation_input_token_cost": 6.25e-06,
"cache_creation_input_token_cost_above_1hr": 1e-05,
"cache_creation_input_token_cost_batches": 3.125e-06,
"cache_read_input_token_cost": 5e-07,
"cache_read_input_token_cost_batches": 2.5e-07,
"input_cost_per_token": 5e-06,
"input_cost_per_token_batches": 2.5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 200000,
"max_output_tokens": 64000,
"max_tokens": 64000,
"mode": "chat",
"output_cost_per_token": 2.5e-05,
"output_cost_per_token_batches": 1.25e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -14927,14 +14971,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 6.25e-06,
"cache_creation_input_token_cost_above_1hr": 1e-05,
"cache_creation_input_token_cost_batches": 3.125e-06,
"cache_read_input_token_cost": 5e-07,
"cache_read_input_token_cost_batches": 2.5e-07,
"input_cost_per_token": 5e-06,
"input_cost_per_token_batches": 2.5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 2.5e-05,
"output_cost_per_token_batches": 1.25e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -14966,14 +15014,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 6.25e-06,
"cache_creation_input_token_cost_above_1hr": 1e-05,
"cache_creation_input_token_cost_batches": 3.125e-06,
"cache_read_input_token_cost": 5e-07,
"cache_read_input_token_cost_batches": 2.5e-07,
"input_cost_per_token": 5e-06,
"input_cost_per_token_batches": 2.5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 2.5e-05,
"output_cost_per_token_batches": 1.25e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -15004,14 +15056,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 6.25e-06,
"cache_creation_input_token_cost_above_1hr": 1e-05,
"cache_creation_input_token_cost_batches": 3.125e-06,
"cache_read_input_token_cost": 5e-07,
"cache_read_input_token_cost_batches": 2.5e-07,
"input_cost_per_token": 5e-06,
"input_cost_per_token_batches": 2.5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 2.5e-05,
"output_cost_per_token_batches": 1.25e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -15044,14 +15100,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 6.25e-06,
"cache_creation_input_token_cost_above_1hr": 1e-05,
"cache_creation_input_token_cost_batches": 3.125e-06,
"cache_read_input_token_cost": 5e-07,
"cache_read_input_token_cost_batches": 2.5e-07,
"input_cost_per_token": 5e-06,
"input_cost_per_token_batches": 2.5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 2.5e-05,
"output_cost_per_token_batches": 1.25e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -15083,14 +15143,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 1.25e-05,
"cache_creation_input_token_cost_above_1hr": 2e-05,
"cache_creation_input_token_cost_batches": 6.25e-06,
"cache_read_input_token_cost": 1e-06,
"cache_read_input_token_cost_batches": 5e-07,
"input_cost_per_token": 1e-05,
"input_cost_per_token_batches": 5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 5e-05,
"output_cost_per_token_batches": 2.5e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -15123,14 +15187,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 1.25e-05,
"cache_creation_input_token_cost_above_1hr": 2e-05,
"cache_creation_input_token_cost_batches": 6.25e-06,
"cache_read_input_token_cost": 2.5e-07,
"cache_read_input_token_cost_batches": 1.25e-07,
"input_cost_per_token": 1e-05,
"input_cost_per_token_batches": 5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 5e-05,
"output_cost_per_token_batches": 2.5e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -15164,14 +15232,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 5e-06,
"cache_creation_input_token_cost_above_1hr": 8e-06,
"cache_creation_input_token_cost_batches": 2.5e-06,
"cache_read_input_token_cost": 2e-07,
"cache_read_input_token_cost_batches": 1e-07,
"input_cost_per_token": 4e-06,
"input_cost_per_token_batches": 2e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 2e-05,
"output_cost_per_token_batches": 1e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -15207,14 +15279,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 6.25e-06,
"cache_creation_input_token_cost_above_1hr": 1e-05,
"cache_creation_input_token_cost_batches": 3.125e-06,
"cache_read_input_token_cost": 5e-07,
"cache_read_input_token_cost_batches": 2.5e-07,
"input_cost_per_token": 5e-06,
"input_cost_per_token_batches": 2.5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 2.5e-05,
"output_cost_per_token_batches": 1.25e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -15250,14 +15326,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 6.25e-06,
"cache_creation_input_token_cost_above_1hr": 1e-05,
"cache_creation_input_token_cost_batches": 3.125e-06,
"cache_read_input_token_cost": 5e-07,
"cache_read_input_token_cost_batches": 2.5e-07,
"input_cost_per_token": 5e-06,
"input_cost_per_token_batches": 2.5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 2.5e-05,
"output_cost_per_token_batches": 1.25e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -15756,6 +15836,16 @@
"supports_function_calling": true,
"supports_tool_choice": true
},
"c4ai-aya-expanse-32b": {
"input_cost_per_token": 5e-07,
"output_cost_per_token": 1.5e-06,
"litellm_provider": "cohere_chat",
"max_input_tokens": 128000,
"max_output_tokens": 4000,
"max_tokens": 4000,
"mode": "chat",
"source": "https://docs.cohere.com/docs/models"
},
"command-a-plus-05-2026": {
"input_cost_per_token": 0.0,
"litellm_provider": "cohere_chat",
@ -22145,11 +22235,11 @@
}
},
"bing_grounding/search": {
"input_cost_per_query": 0.035,
"input_cost_per_query": 0.014,
"litellm_provider": "bing_grounding",
"mode": "search",
"metadata": {
"notes": "Grounding with Bing Search (G1 SKU): $35 per 1,000 transactions. Tokens for the Foundry model deployment that runs the grounded search are billed separately on that deployment."
"notes": "Grounding with Bing Search (G1 SKU): $14 per 1,000 transactions. Tokens for the Foundry model deployment that runs the grounded search are billed separately on that deployment."
}
},
"tinyfish/search": {
@ -28036,6 +28126,7 @@
"tpm": 10000000
},
"gemini/gemini-3-pro-image-preview": {
"deprecation_date": "2026-06-25",
"input_cost_per_image": 0.0011,
"input_cost_per_token": 2e-06,
"input_cost_per_token_batches": 1e-06,
@ -28083,6 +28174,7 @@
"supports_reasoning": false
},
"gemini/gemini-3.1-flash-image-preview": {
"deprecation_date": "2026-06-25",
"input_cost_per_token": 5e-07,
"input_cost_per_token_batches": 2.5e-07,
"litellm_provider": "gemini",
@ -28130,6 +28222,7 @@
"cache_read_input_token_cost_batches": 1.25e-08,
"cache_read_input_token_cost_flex": 1.25e-08,
"cache_read_input_token_cost_priority": 4.5e-08,
"deprecation_date": "2026-05-25",
"input_cost_per_audio_token": 5e-07,
"input_cost_per_token": 2.5e-07,
"input_cost_per_token_batches": 1.25e-07,
@ -30551,7 +30644,11 @@
"supports_function_calling": true,
"supports_parallel_function_calling": true,
"supports_response_schema": true,
"supports_vision": true
"supports_vision": true,
"supports_reasoning": true,
"supports_none_reasoning_effort": true,
"supports_xhigh_reasoning_effort": true,
"supports_minimal_reasoning_effort": false
},
"chatgpt/gpt-5.6-luna": {
"litellm_provider": "chatgpt",
@ -30567,7 +30664,11 @@
"supports_function_calling": true,
"supports_parallel_function_calling": true,
"supports_response_schema": true,
"supports_vision": true
"supports_vision": true,
"supports_minimal_reasoning_effort": false,
"supports_none_reasoning_effort": true,
"supports_reasoning": true,
"supports_xhigh_reasoning_effort": true
},
"chatgpt/gpt-5.6-sol": {
"litellm_provider": "chatgpt",
@ -30583,7 +30684,11 @@
"supports_function_calling": true,
"supports_parallel_function_calling": true,
"supports_response_schema": true,
"supports_vision": true
"supports_vision": true,
"supports_minimal_reasoning_effort": false,
"supports_none_reasoning_effort": true,
"supports_reasoning": true,
"supports_xhigh_reasoning_effort": true
},
"chatgpt/gpt-5.6-terra": {
"litellm_provider": "chatgpt",
@ -30599,7 +30704,11 @@
"supports_function_calling": true,
"supports_parallel_function_calling": true,
"supports_response_schema": true,
"supports_vision": true
"supports_vision": true,
"supports_minimal_reasoning_effort": false,
"supports_none_reasoning_effort": true,
"supports_reasoning": true,
"supports_xhigh_reasoning_effort": true
},
"chatgpt/gpt-5.4": {
"litellm_provider": "chatgpt",
@ -30614,7 +30723,12 @@
"supports_function_calling": true,
"supports_parallel_function_calling": true,
"supports_response_schema": true,
"supports_vision": true
"supports_vision": true,
"supports_reasoning": true,
"supports_none_reasoning_effort": true,
"default_reasoning_effort": "none",
"supports_xhigh_reasoning_effort": true,
"supports_minimal_reasoning_effort": false
},
"chatgpt/gpt-5.4-pro": {
"litellm_provider": "chatgpt",
@ -30628,7 +30742,11 @@
"supports_function_calling": true,
"supports_parallel_function_calling": true,
"supports_response_schema": true,
"supports_vision": true
"supports_vision": true,
"supports_reasoning": true,
"supports_none_reasoning_effort": false,
"supports_xhigh_reasoning_effort": true,
"supports_minimal_reasoning_effort": false
},
"chatgpt/gpt-5.3-codex": {
"litellm_provider": "chatgpt",
@ -30642,7 +30760,11 @@
"supports_function_calling": true,
"supports_parallel_function_calling": true,
"supports_response_schema": true,
"supports_vision": true
"supports_vision": true,
"supports_reasoning": true,
"supports_none_reasoning_effort": false,
"supports_xhigh_reasoning_effort": false,
"supports_minimal_reasoning_effort": true
},
"chatgpt/gpt-5.3-codex-spark": {
"litellm_provider": "chatgpt",
@ -30686,7 +30808,8 @@
"supports_function_calling": true,
"supports_parallel_function_calling": true,
"supports_response_schema": true,
"supports_vision": true
"supports_vision": true,
"supports_reasoning": true
},
"chatgpt/gpt-5.2-codex": {
"litellm_provider": "chatgpt",
@ -30700,7 +30823,8 @@
"supports_function_calling": true,
"supports_parallel_function_calling": true,
"supports_response_schema": true,
"supports_vision": true
"supports_vision": true,
"supports_reasoning": true
},
"chatgpt/gpt-5.2": {
"litellm_provider": "chatgpt",
@ -30715,7 +30839,12 @@
"supports_function_calling": true,
"supports_parallel_function_calling": true,
"supports_response_schema": true,
"supports_vision": true
"supports_vision": true,
"supports_reasoning": true,
"supports_none_reasoning_effort": true,
"default_reasoning_effort": "none",
"supports_xhigh_reasoning_effort": true,
"supports_minimal_reasoning_effort": false
},
"chatgpt/gpt-5.1-codex-max": {
"litellm_provider": "chatgpt",
@ -30729,7 +30858,8 @@
"supports_function_calling": true,
"supports_parallel_function_calling": true,
"supports_response_schema": true,
"supports_vision": true
"supports_vision": true,
"supports_reasoning": true
},
"chatgpt/gpt-5.1-codex-mini": {
"litellm_provider": "chatgpt",
@ -30743,7 +30873,8 @@
"supports_function_calling": true,
"supports_parallel_function_calling": true,
"supports_response_schema": true,
"supports_vision": true
"supports_vision": true,
"supports_reasoning": true
},
"gigachat/GigaChat-2": {
"input_cost_per_token": 0.0,
@ -39214,6 +39345,17 @@
"supports_function_calling": true,
"supports_reasoning": true
},
"nebius/deepseek-ai/DeepSeek-V4.1-Flash": {
"input_cost_per_token": 3e-07,
"litellm_provider": "nebius",
"max_input_tokens": 1048576,
"max_output_tokens": 1048576,
"max_tokens": 1048576,
"mode": "chat",
"output_cost_per_token": 1.2e-06,
"source": "https://tokenfactory.nebius.com/endpoints?modals=endpoint-details&model-id=deepseek-ai/DeepSeek-V4.1-Flash",
"supports_vision": true
},
"nebius/MiniMaxAI/MiniMax-M2.5": {
"max_tokens": 196608,
"max_input_tokens": 196608,
@ -56230,7 +56372,7 @@
"input_cost_per_audio_token": 3e-06,
"input_cost_per_token": 5e-07,
"litellm_provider": "gemini",
"max_input_tokens": 1048576,
"max_input_tokens": 131072,
"max_output_tokens": 8192,
"max_tokens": 8192,
"mode": "realtime",
@ -56417,7 +56559,7 @@
"input_cost_per_audio_token": 3e-06,
"input_cost_per_token": 5e-07,
"litellm_provider": "gemini",
"max_input_tokens": 1048576,
"max_input_tokens": 131072,
"max_output_tokens": 8192,
"max_tokens": 8192,
"mode": "realtime",
@ -59653,14 +59795,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 1.25e-05,
"cache_creation_input_token_cost_above_1hr": 2e-05,
"cache_creation_input_token_cost_batches": 6.25e-06,
"cache_read_input_token_cost": 1e-06,
"cache_read_input_token_cost_batches": 5e-07,
"input_cost_per_token": 1e-05,
"input_cost_per_token_batches": 5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 5e-05,
"output_cost_per_token_batches": 2.5e-05,
"prompt_cache_min_tokens": 512,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
@ -59693,14 +59839,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 1.25e-05,
"cache_creation_input_token_cost_above_1hr": 2e-05,
"cache_creation_input_token_cost_batches": 6.25e-06,
"cache_read_input_token_cost": 2.5e-07,
"cache_read_input_token_cost_batches": 1.25e-07,
"input_cost_per_token": 1e-05,
"input_cost_per_token_batches": 5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 5e-05,
"output_cost_per_token_batches": 2.5e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -63000,6 +63150,22 @@
"image"
]
},
"xai/grok-imagine-image-pro": {
"input_cost_per_image": 0.05,
"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-imagine-image-2.0": {
"input_cost_per_image": 0.06,
"litellm_provider": "xai",
@ -64006,6 +64172,55 @@
"supports_response_schema": true,
"supports_vision": true
},
"azure_ai/deepseek-r1": {
"input_cost_per_token": 1.35e-06,
"output_cost_per_token": 5.4e-06,
"litellm_provider": "azure_ai",
"mode": "chat",
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'"
},
"azure_ai/deepseek-v3-0324": {
"input_cost_per_token": 1.14e-06,
"output_cost_per_token": 4.56e-06,
"litellm_provider": "azure_ai",
"mode": "chat",
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'"
},
"azure_ai/deepseek-v3.1": {
"input_cost_per_token": 1.23e-06,
"output_cost_per_token": 4.94e-06,
"litellm_provider": "azure_ai",
"mode": "chat",
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'"
},
"azure_ai/grok-3": {
"input_cost_per_token": 3e-06,
"output_cost_per_token": 1.5e-05,
"litellm_provider": "azure_ai",
"mode": "chat",
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'"
},
"azure_ai/grok-3-mini": {
"input_cost_per_token": 2.5e-07,
"output_cost_per_token": 1.27e-06,
"litellm_provider": "azure_ai",
"mode": "chat",
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'"
},
"azure_ai/grok-4-fast-non-reasoning": {
"input_cost_per_token": 2e-07,
"output_cost_per_token": 5e-07,
"litellm_provider": "azure_ai",
"mode": "chat",
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'"
},
"azure_ai/grok-4-fast-reasoning": {
"input_cost_per_token": 2e-07,
"output_cost_per_token": 5e-07,
"litellm_provider": "azure_ai",
"mode": "chat",
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'"
},
"bedrock/us-gov-west-1/nvidia.nemotron-nano-3-30b": {
"input_cost_per_token": 7.2e-08,
"litellm_provider": "bedrock",
@ -64834,6 +65049,131 @@
"supports_response_schema": true,
"supports_tool_choice": true
},
"bedrock_mantle/deepseek.v3.1": {
"input_cost_per_token": 5.8e-07,
"output_cost_per_token": 1.68e-06,
"litellm_provider": "bedrock_mantle",
"max_input_tokens": 128000,
"max_output_tokens": 8000,
"max_tokens": 8000,
"mode": "chat",
"supported_endpoints": [
"/v1/chat/completions"
],
"supports_function_calling": true,
"supports_tool_choice": true,
"source": "https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-deepseek-deepseek-v3-1.html"
},
"bedrock_mantle/moonshotai.kimi-k2-thinking": {
"input_cost_per_token": 6e-07,
"output_cost_per_token": 2.5e-06,
"litellm_provider": "bedrock_mantle",
"max_input_tokens": 256000,
"max_output_tokens": 16000,
"max_tokens": 16000,
"mode": "chat",
"supported_endpoints": [
"/v1/chat/completions"
],
"supports_function_calling": true,
"supports_tool_choice": true,
"supports_reasoning": true,
"source": "https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-moonshot-ai-kimi-k2-thinking.html"
},
"bedrock_mantle/qwen.qwen3-235b-a22b-2507": {
"input_cost_per_token": 2.2e-07,
"output_cost_per_token": 8.8e-07,
"litellm_provider": "bedrock_mantle",
"max_input_tokens": 256000,
"max_output_tokens": 8000,
"max_tokens": 8000,
"mode": "chat",
"supported_endpoints": [
"/v1/chat/completions"
],
"supports_function_calling": true,
"supports_tool_choice": true,
"supports_reasoning": true,
"source": "https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-qwen-qwen3-235b-a22b-2507.html"
},
"bedrock_mantle/qwen.qwen3-32b": {
"input_cost_per_token": 1.5e-07,
"output_cost_per_token": 6e-07,
"litellm_provider": "bedrock_mantle",
"max_input_tokens": 32000,
"max_output_tokens": 8000,
"max_tokens": 8000,
"mode": "chat",
"supported_endpoints": [
"/v1/chat/completions"
],
"supports_function_calling": true,
"supports_tool_choice": true,
"supports_reasoning": true,
"source": "https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-qwen-qwen3-32b.html"
},
"bedrock_mantle/qwen.qwen3-coder-30b-a3b-instruct": {
"input_cost_per_token": 1.5e-07,
"output_cost_per_token": 6e-07,
"litellm_provider": "bedrock_mantle",
"max_input_tokens": 256000,
"max_output_tokens": 16000,
"max_tokens": 16000,
"mode": "chat",
"supported_endpoints": [
"/v1/chat/completions"
],
"supports_function_calling": true,
"supports_tool_choice": true,
"source": "https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-qwen-qwen3-coder-30b-a3b-instruct.html"
},
"bedrock_mantle/qwen.qwen3-coder-480b-a35b-instruct": {
"input_cost_per_token": 4.5e-07,
"output_cost_per_token": 1.8e-06,
"litellm_provider": "bedrock_mantle",
"max_input_tokens": 128000,
"max_output_tokens": 16000,
"max_tokens": 16000,
"mode": "chat",
"supported_endpoints": [
"/v1/chat/completions"
],
"supports_function_calling": true,
"supports_tool_choice": true,
"source": "https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-qwen-qwen3-coder-480b-a35b-instruct.html"
},
"bedrock_mantle/qwen.qwen3-next-80b-a3b-instruct": {
"input_cost_per_token": 1.4e-07,
"output_cost_per_token": 1.2e-06,
"litellm_provider": "bedrock_mantle",
"max_input_tokens": 256000,
"max_output_tokens": 8000,
"max_tokens": 8000,
"mode": "chat",
"supported_endpoints": [
"/v1/chat/completions"
],
"supports_function_calling": true,
"supports_tool_choice": true,
"supports_reasoning": true,
"source": "https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-qwen-qwen3-next-80b-a3b.html"
},
"bedrock_mantle/qwen.qwen3-vl-235b-a22b-instruct": {
"input_cost_per_token": 5.3e-07,
"output_cost_per_token": 2.66e-06,
"litellm_provider": "bedrock_mantle",
"max_input_tokens": 256000,
"max_output_tokens": 8000,
"max_tokens": 8000,
"mode": "chat",
"supported_endpoints": [
"/v1/chat/completions"
],
"supports_function_calling": true,
"supports_tool_choice": true,
"supports_vision": true,
"source": "https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-qwen-qwen3-vl-235b-a22b.html"
},
"azure/us-gov/gpt-5.1": {
"cache_read_input_token_cost": 1.71875e-07,
"default_reasoning_effort": "none",
@ -76578,6 +76918,23 @@
"supports_vision": true,
"supports_web_search": false
},
"openrouter/perceptron/perceptron-mk1.5": {
"input_cost_per_token": 1.5e-07,
"litellm_provider": "openrouter",
"max_input_tokens": 36864,
"max_output_tokens": 8192,
"max_tokens": 8192,
"mode": "chat",
"output_cost_per_token": 1.5e-06,
"source": "https://openrouter.ai/api/v1/models",
"supports_audio_input": true,
"supports_function_calling": true,
"supports_reasoning": true,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_video_input": true,
"supports_vision": true
},
"vertex_ai/gemini-2.0-flash": {
"deprecation_date": "2026-06-01",
"input_cost_per_audio_token": 1e-06,

View file

@ -302,6 +302,7 @@ class ModelInfoBase(ProviderSpecificModelInfo, total=False):
cache_read_input_token_cost_above_200k_tokens_batches: ReadOnly[float | None]
cache_read_input_token_cost_above_272k_tokens_batches: ReadOnly[float | None]
cache_creation_input_token_cost_batches: ReadOnly[float | None]
cache_creation_input_token_cost_above_200k_tokens_batches: ReadOnly[float | None]
cache_creation_input_token_cost_above_272k_tokens_batches: ReadOnly[float | None]
# Smallest prefix this model will actually cache, whatever caching mechanism its provider uses.
# Absent means the provider-agnostic default applies; see MINIMUM_PROMPT_CACHE_TOKEN_COUNT.
@ -3735,6 +3736,7 @@ class CustomPricingLiteLLMParams(MirroredPricingParams):
cache_read_input_token_cost_above_200k_tokens_batches: float | None = None
cache_read_input_token_cost_above_272k_tokens_batches: float | None = None
cache_creation_input_token_cost_batches: float | None = None
cache_creation_input_token_cost_above_200k_tokens_batches: float | None = None
cache_creation_input_token_cost_above_272k_tokens_batches: float | None = None
cache_read_input_audio_token_cost: float | None = None
cache_read_input_image_token_cost: float | None = None

View file

@ -6167,6 +6167,9 @@ def _get_model_info_helper(
"cache_read_input_token_cost_above_272k_tokens_batches"
),
cache_creation_input_token_cost_batches=_model_info.get("cache_creation_input_token_cost_batches"),
cache_creation_input_token_cost_above_200k_tokens_batches=_model_info.get(
"cache_creation_input_token_cost_above_200k_tokens_batches"
),
cache_creation_input_token_cost_above_272k_tokens_batches=_model_info.get(
"cache_creation_input_token_cost_above_272k_tokens_batches"
),

View file

@ -1279,8 +1279,11 @@
"source": "https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonBedrockFoundationModels/current/index.json"
},
"anthropic.claude-mythos-preview": {
"input_cost_per_token": 0,
"output_cost_per_token": 0,
"cache_creation_input_token_cost": 3.4375e-05,
"cache_creation_input_token_cost_above_1hr": 5.5e-05,
"cache_read_input_token_cost": 2.75e-06,
"input_cost_per_token": 2.75e-05,
"output_cost_per_token": 0.0001375,
"litellm_provider": "bedrock",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
@ -1289,10 +1292,11 @@
"thinking_always_on": true,
"supports_function_calling": true,
"supports_vision": true,
"supports_prompt_caching": false,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_tool_choice": true,
"supports_output_config": true
"supports_output_config": true,
"source": "https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonBedrockFoundationModels/current/index.json"
},
"global.anthropic.claude-opus-4-7": {
"bedrock_converse_supports_strict_tools": false,
@ -7773,27 +7777,27 @@
"output_cost_per_token_above_272k_tokens_batches": 0.000135
},
"azure/gpt-5.6": {
"cache_creation_input_token_cost": 6.25e-06,
"cache_creation_input_token_cost_above_272k_tokens": 1.25e-05,
"cache_creation_input_token_cost_priority": 1.25e-05,
"cache_creation_input_token_cost_above_272k_tokens_priority": 2.5e-05,
"cache_read_input_token_cost": 5e-07,
"cache_read_input_token_cost_above_272k_tokens": 1e-06,
"cache_read_input_token_cost_priority": 1e-06,
"cache_read_input_token_cost_above_272k_tokens_priority": 2e-06,
"input_cost_per_token": 5e-06,
"input_cost_per_token_above_272k_tokens": 1e-05,
"input_cost_per_token_priority": 1e-05,
"input_cost_per_token_above_272k_tokens_priority": 2e-05,
"cache_creation_input_token_cost": 5e-06,
"cache_creation_input_token_cost_above_272k_tokens": 1e-05,
"cache_creation_input_token_cost_priority": 1e-05,
"cache_creation_input_token_cost_above_272k_tokens_priority": 2e-05,
"cache_read_input_token_cost": 4e-07,
"cache_read_input_token_cost_above_272k_tokens": 8e-07,
"cache_read_input_token_cost_priority": 8e-07,
"cache_read_input_token_cost_above_272k_tokens_priority": 1.6e-06,
"input_cost_per_token": 4e-06,
"input_cost_per_token_above_272k_tokens": 8e-06,
"input_cost_per_token_priority": 8e-06,
"input_cost_per_token_above_272k_tokens_priority": 1.6e-05,
"litellm_provider": "azure",
"max_input_tokens": 922000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 3e-05,
"output_cost_per_token_above_272k_tokens": 4.5e-05,
"output_cost_per_token_priority": 6e-05,
"output_cost_per_token_above_272k_tokens_priority": 9e-05,
"output_cost_per_token": 2e-05,
"output_cost_per_token_above_272k_tokens": 3e-05,
"output_cost_per_token_priority": 4e-05,
"output_cost_per_token_above_272k_tokens_priority": 6e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -8579,27 +8583,27 @@
"supports_web_search": true
},
"azure/us/gpt-5.6": {
"cache_creation_input_token_cost": 6.875e-06,
"cache_creation_input_token_cost_above_272k_tokens": 1.375e-05,
"cache_creation_input_token_cost_above_272k_tokens_priority": 2.75e-05,
"cache_creation_input_token_cost_priority": 1.375e-05,
"cache_read_input_token_cost": 5.5e-07,
"cache_read_input_token_cost_above_272k_tokens": 1.1e-06,
"cache_read_input_token_cost_above_272k_tokens_priority": 2.2e-06,
"cache_read_input_token_cost_priority": 1.1e-06,
"input_cost_per_token": 5.5e-06,
"input_cost_per_token_above_272k_tokens": 1.1e-05,
"input_cost_per_token_above_272k_tokens_priority": 2.2e-05,
"input_cost_per_token_priority": 1.1e-05,
"cache_creation_input_token_cost": 5.5e-06,
"cache_creation_input_token_cost_above_272k_tokens": 1.1e-05,
"cache_creation_input_token_cost_above_272k_tokens_priority": 2.2e-05,
"cache_creation_input_token_cost_priority": 1.1e-05,
"cache_read_input_token_cost": 4.4e-07,
"cache_read_input_token_cost_above_272k_tokens": 8.8e-07,
"cache_read_input_token_cost_above_272k_tokens_priority": 1.76e-06,
"cache_read_input_token_cost_priority": 8.8e-07,
"input_cost_per_token": 4.4e-06,
"input_cost_per_token_above_272k_tokens": 8.8e-06,
"input_cost_per_token_above_272k_tokens_priority": 1.76e-05,
"input_cost_per_token_priority": 8.8e-06,
"litellm_provider": "azure",
"max_input_tokens": 922000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 3.3e-05,
"output_cost_per_token_above_272k_tokens": 4.95e-05,
"output_cost_per_token_above_272k_tokens_priority": 9.9e-05,
"output_cost_per_token_priority": 6.6e-05,
"output_cost_per_token": 2.2e-05,
"output_cost_per_token_above_272k_tokens": 3.3e-05,
"output_cost_per_token_above_272k_tokens_priority": 6.6e-05,
"output_cost_per_token_priority": 4.4e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -8985,27 +8989,27 @@
"supports_web_search": true
},
"azure/eu/gpt-5.6": {
"cache_creation_input_token_cost": 6.875e-06,
"cache_creation_input_token_cost_above_272k_tokens": 1.375e-05,
"cache_creation_input_token_cost_above_272k_tokens_priority": 2.75e-05,
"cache_creation_input_token_cost_priority": 1.375e-05,
"cache_read_input_token_cost": 5.5e-07,
"cache_read_input_token_cost_above_272k_tokens": 1.1e-06,
"cache_read_input_token_cost_above_272k_tokens_priority": 2.2e-06,
"cache_read_input_token_cost_priority": 1.1e-06,
"input_cost_per_token": 5.5e-06,
"input_cost_per_token_above_272k_tokens": 1.1e-05,
"input_cost_per_token_above_272k_tokens_priority": 2.2e-05,
"input_cost_per_token_priority": 1.1e-05,
"cache_creation_input_token_cost": 5.5e-06,
"cache_creation_input_token_cost_above_272k_tokens": 1.1e-05,
"cache_creation_input_token_cost_above_272k_tokens_priority": 2.2e-05,
"cache_creation_input_token_cost_priority": 1.1e-05,
"cache_read_input_token_cost": 4.4e-07,
"cache_read_input_token_cost_above_272k_tokens": 8.8e-07,
"cache_read_input_token_cost_above_272k_tokens_priority": 1.76e-06,
"cache_read_input_token_cost_priority": 8.8e-07,
"input_cost_per_token": 4.4e-06,
"input_cost_per_token_above_272k_tokens": 8.8e-06,
"input_cost_per_token_above_272k_tokens_priority": 1.76e-05,
"input_cost_per_token_priority": 8.8e-06,
"litellm_provider": "azure",
"max_input_tokens": 922000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 3.3e-05,
"output_cost_per_token_above_272k_tokens": 4.95e-05,
"output_cost_per_token_above_272k_tokens_priority": 9.9e-05,
"output_cost_per_token_priority": 6.6e-05,
"output_cost_per_token": 2.2e-05,
"output_cost_per_token_above_272k_tokens": 3.3e-05,
"output_cost_per_token_above_272k_tokens_priority": 6.6e-05,
"output_cost_per_token_priority": 4.4e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -14640,14 +14644,18 @@
"claude-haiku-4-5-20251001": {
"cache_creation_input_token_cost": 1.25e-06,
"cache_creation_input_token_cost_above_1hr": 2e-06,
"cache_creation_input_token_cost_batches": 6.25e-07,
"cache_read_input_token_cost": 1e-07,
"cache_read_input_token_cost_batches": 5e-08,
"input_cost_per_token": 1e-06,
"input_cost_per_token_batches": 5e-07,
"litellm_provider": "anthropic",
"max_input_tokens": 200000,
"max_output_tokens": 64000,
"max_tokens": 64000,
"mode": "chat",
"output_cost_per_token": 5e-06,
"output_cost_per_token_batches": 2.5e-06,
"supports_assistant_prefill": true,
"supports_function_calling": true,
"supports_native_structured_output": true,
@ -14663,14 +14671,18 @@
"claude-haiku-4-5": {
"cache_creation_input_token_cost": 1.25e-06,
"cache_creation_input_token_cost_above_1hr": 2e-06,
"cache_creation_input_token_cost_batches": 6.25e-07,
"cache_read_input_token_cost": 1e-07,
"cache_read_input_token_cost_batches": 5e-08,
"input_cost_per_token": 1e-06,
"input_cost_per_token_batches": 5e-07,
"litellm_provider": "anthropic",
"max_input_tokens": 200000,
"max_output_tokens": 64000,
"max_tokens": 64000,
"mode": "chat",
"output_cost_per_token": 5e-06,
"output_cost_per_token_batches": 2.5e-06,
"supports_assistant_prefill": true,
"supports_function_calling": true,
"supports_native_structured_output": true,
@ -14693,13 +14705,21 @@
"input_cost_per_token_above_200k_tokens": 6e-06,
"output_cost_per_token_above_200k_tokens": 2.25e-05,
"cache_creation_input_token_cost_above_200k_tokens": 7.5e-06,
"cache_creation_input_token_cost_above_200k_tokens_batches": 3.75e-06,
"cache_creation_input_token_cost_batches": 1.875e-06,
"cache_read_input_token_cost_above_200k_tokens": 6e-07,
"cache_read_input_token_cost_above_200k_tokens_batches": 3e-07,
"cache_read_input_token_cost_batches": 1.5e-07,
"input_cost_per_token_above_200k_tokens_batches": 3e-06,
"input_cost_per_token_batches": 1.5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 64000,
"max_tokens": 64000,
"mode": "chat",
"output_cost_per_token": 1.5e-05,
"output_cost_per_token_above_200k_tokens_batches": 1.125e-05,
"output_cost_per_token_batches": 7.5e-06,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -14727,13 +14747,21 @@
"input_cost_per_token_above_200k_tokens": 6e-06,
"output_cost_per_token_above_200k_tokens": 2.25e-05,
"cache_creation_input_token_cost_above_200k_tokens": 7.5e-06,
"cache_creation_input_token_cost_above_200k_tokens_batches": 3.75e-06,
"cache_creation_input_token_cost_batches": 1.875e-06,
"cache_read_input_token_cost_above_200k_tokens": 6e-07,
"cache_read_input_token_cost_above_200k_tokens_batches": 3e-07,
"cache_read_input_token_cost_batches": 1.5e-07,
"input_cost_per_token_above_200k_tokens_batches": 3e-06,
"input_cost_per_token_batches": 1.5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 64000,
"max_tokens": 64000,
"mode": "chat",
"output_cost_per_token": 1.5e-05,
"output_cost_per_token_above_200k_tokens_batches": 1.125e-05,
"output_cost_per_token_batches": 7.5e-06,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -14757,14 +14785,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 2.5e-06,
"cache_creation_input_token_cost_above_1hr": 4e-06,
"cache_creation_input_token_cost_batches": 1.25e-06,
"cache_read_input_token_cost": 2e-07,
"cache_read_input_token_cost_batches": 1e-07,
"input_cost_per_token": 2e-06,
"input_cost_per_token_batches": 1e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 1e-05,
"output_cost_per_token_batches": 5e-06,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -14797,14 +14829,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 3.75e-06,
"cache_creation_input_token_cost_above_1hr": 6e-06,
"cache_creation_input_token_cost_batches": 1.875e-06,
"cache_read_input_token_cost": 3e-07,
"cache_read_input_token_cost_batches": 1.5e-07,
"input_cost_per_token": 3e-06,
"input_cost_per_token_batches": 1.5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 1.5e-05,
"output_cost_per_token_batches": 7.5e-06,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -14865,14 +14901,18 @@
"claude-opus-4-5-20251101": {
"cache_creation_input_token_cost": 6.25e-06,
"cache_creation_input_token_cost_above_1hr": 1e-05,
"cache_creation_input_token_cost_batches": 3.125e-06,
"cache_read_input_token_cost": 5e-07,
"cache_read_input_token_cost_batches": 2.5e-07,
"input_cost_per_token": 5e-06,
"input_cost_per_token_batches": 2.5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 200000,
"max_output_tokens": 64000,
"max_tokens": 64000,
"mode": "chat",
"output_cost_per_token": 2.5e-05,
"output_cost_per_token_batches": 1.25e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -14895,14 +14935,18 @@
"claude-opus-4-5": {
"cache_creation_input_token_cost": 6.25e-06,
"cache_creation_input_token_cost_above_1hr": 1e-05,
"cache_creation_input_token_cost_batches": 3.125e-06,
"cache_read_input_token_cost": 5e-07,
"cache_read_input_token_cost_batches": 2.5e-07,
"input_cost_per_token": 5e-06,
"input_cost_per_token_batches": 2.5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 200000,
"max_output_tokens": 64000,
"max_tokens": 64000,
"mode": "chat",
"output_cost_per_token": 2.5e-05,
"output_cost_per_token_batches": 1.25e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -14927,14 +14971,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 6.25e-06,
"cache_creation_input_token_cost_above_1hr": 1e-05,
"cache_creation_input_token_cost_batches": 3.125e-06,
"cache_read_input_token_cost": 5e-07,
"cache_read_input_token_cost_batches": 2.5e-07,
"input_cost_per_token": 5e-06,
"input_cost_per_token_batches": 2.5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 2.5e-05,
"output_cost_per_token_batches": 1.25e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -14966,14 +15014,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 6.25e-06,
"cache_creation_input_token_cost_above_1hr": 1e-05,
"cache_creation_input_token_cost_batches": 3.125e-06,
"cache_read_input_token_cost": 5e-07,
"cache_read_input_token_cost_batches": 2.5e-07,
"input_cost_per_token": 5e-06,
"input_cost_per_token_batches": 2.5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 2.5e-05,
"output_cost_per_token_batches": 1.25e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -15004,14 +15056,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 6.25e-06,
"cache_creation_input_token_cost_above_1hr": 1e-05,
"cache_creation_input_token_cost_batches": 3.125e-06,
"cache_read_input_token_cost": 5e-07,
"cache_read_input_token_cost_batches": 2.5e-07,
"input_cost_per_token": 5e-06,
"input_cost_per_token_batches": 2.5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 2.5e-05,
"output_cost_per_token_batches": 1.25e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -15044,14 +15100,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 6.25e-06,
"cache_creation_input_token_cost_above_1hr": 1e-05,
"cache_creation_input_token_cost_batches": 3.125e-06,
"cache_read_input_token_cost": 5e-07,
"cache_read_input_token_cost_batches": 2.5e-07,
"input_cost_per_token": 5e-06,
"input_cost_per_token_batches": 2.5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 2.5e-05,
"output_cost_per_token_batches": 1.25e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -15083,14 +15143,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 1.25e-05,
"cache_creation_input_token_cost_above_1hr": 2e-05,
"cache_creation_input_token_cost_batches": 6.25e-06,
"cache_read_input_token_cost": 1e-06,
"cache_read_input_token_cost_batches": 5e-07,
"input_cost_per_token": 1e-05,
"input_cost_per_token_batches": 5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 5e-05,
"output_cost_per_token_batches": 2.5e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -15123,14 +15187,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 1.25e-05,
"cache_creation_input_token_cost_above_1hr": 2e-05,
"cache_creation_input_token_cost_batches": 6.25e-06,
"cache_read_input_token_cost": 2.5e-07,
"cache_read_input_token_cost_batches": 1.25e-07,
"input_cost_per_token": 1e-05,
"input_cost_per_token_batches": 5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 5e-05,
"output_cost_per_token_batches": 2.5e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -15164,14 +15232,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 5e-06,
"cache_creation_input_token_cost_above_1hr": 8e-06,
"cache_creation_input_token_cost_batches": 2.5e-06,
"cache_read_input_token_cost": 2e-07,
"cache_read_input_token_cost_batches": 1e-07,
"input_cost_per_token": 4e-06,
"input_cost_per_token_batches": 2e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 2e-05,
"output_cost_per_token_batches": 1e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -15207,14 +15279,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 6.25e-06,
"cache_creation_input_token_cost_above_1hr": 1e-05,
"cache_creation_input_token_cost_batches": 3.125e-06,
"cache_read_input_token_cost": 5e-07,
"cache_read_input_token_cost_batches": 2.5e-07,
"input_cost_per_token": 5e-06,
"input_cost_per_token_batches": 2.5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 2.5e-05,
"output_cost_per_token_batches": 1.25e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -15250,14 +15326,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 6.25e-06,
"cache_creation_input_token_cost_above_1hr": 1e-05,
"cache_creation_input_token_cost_batches": 3.125e-06,
"cache_read_input_token_cost": 5e-07,
"cache_read_input_token_cost_batches": 2.5e-07,
"input_cost_per_token": 5e-06,
"input_cost_per_token_batches": 2.5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 2.5e-05,
"output_cost_per_token_batches": 1.25e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -15756,6 +15836,16 @@
"supports_function_calling": true,
"supports_tool_choice": true
},
"c4ai-aya-expanse-32b": {
"input_cost_per_token": 5e-07,
"output_cost_per_token": 1.5e-06,
"litellm_provider": "cohere_chat",
"max_input_tokens": 128000,
"max_output_tokens": 4000,
"max_tokens": 4000,
"mode": "chat",
"source": "https://docs.cohere.com/docs/models"
},
"command-a-plus-05-2026": {
"input_cost_per_token": 0.0,
"litellm_provider": "cohere_chat",
@ -22145,11 +22235,11 @@
}
},
"bing_grounding/search": {
"input_cost_per_query": 0.035,
"input_cost_per_query": 0.014,
"litellm_provider": "bing_grounding",
"mode": "search",
"metadata": {
"notes": "Grounding with Bing Search (G1 SKU): $35 per 1,000 transactions. Tokens for the Foundry model deployment that runs the grounded search are billed separately on that deployment."
"notes": "Grounding with Bing Search (G1 SKU): $14 per 1,000 transactions. Tokens for the Foundry model deployment that runs the grounded search are billed separately on that deployment."
}
},
"tinyfish/search": {
@ -28036,6 +28126,7 @@
"tpm": 10000000
},
"gemini/gemini-3-pro-image-preview": {
"deprecation_date": "2026-06-25",
"input_cost_per_image": 0.0011,
"input_cost_per_token": 2e-06,
"input_cost_per_token_batches": 1e-06,
@ -28083,6 +28174,7 @@
"supports_reasoning": false
},
"gemini/gemini-3.1-flash-image-preview": {
"deprecation_date": "2026-06-25",
"input_cost_per_token": 5e-07,
"input_cost_per_token_batches": 2.5e-07,
"litellm_provider": "gemini",
@ -28130,6 +28222,7 @@
"cache_read_input_token_cost_batches": 1.25e-08,
"cache_read_input_token_cost_flex": 1.25e-08,
"cache_read_input_token_cost_priority": 4.5e-08,
"deprecation_date": "2026-05-25",
"input_cost_per_audio_token": 5e-07,
"input_cost_per_token": 2.5e-07,
"input_cost_per_token_batches": 1.25e-07,
@ -30551,7 +30644,11 @@
"supports_function_calling": true,
"supports_parallel_function_calling": true,
"supports_response_schema": true,
"supports_vision": true
"supports_vision": true,
"supports_reasoning": true,
"supports_none_reasoning_effort": true,
"supports_xhigh_reasoning_effort": true,
"supports_minimal_reasoning_effort": false
},
"chatgpt/gpt-5.6-luna": {
"litellm_provider": "chatgpt",
@ -30567,7 +30664,11 @@
"supports_function_calling": true,
"supports_parallel_function_calling": true,
"supports_response_schema": true,
"supports_vision": true
"supports_vision": true,
"supports_minimal_reasoning_effort": false,
"supports_none_reasoning_effort": true,
"supports_reasoning": true,
"supports_xhigh_reasoning_effort": true
},
"chatgpt/gpt-5.6-sol": {
"litellm_provider": "chatgpt",
@ -30583,7 +30684,11 @@
"supports_function_calling": true,
"supports_parallel_function_calling": true,
"supports_response_schema": true,
"supports_vision": true
"supports_vision": true,
"supports_minimal_reasoning_effort": false,
"supports_none_reasoning_effort": true,
"supports_reasoning": true,
"supports_xhigh_reasoning_effort": true
},
"chatgpt/gpt-5.6-terra": {
"litellm_provider": "chatgpt",
@ -30599,7 +30704,11 @@
"supports_function_calling": true,
"supports_parallel_function_calling": true,
"supports_response_schema": true,
"supports_vision": true
"supports_vision": true,
"supports_minimal_reasoning_effort": false,
"supports_none_reasoning_effort": true,
"supports_reasoning": true,
"supports_xhigh_reasoning_effort": true
},
"chatgpt/gpt-5.4": {
"litellm_provider": "chatgpt",
@ -30614,7 +30723,12 @@
"supports_function_calling": true,
"supports_parallel_function_calling": true,
"supports_response_schema": true,
"supports_vision": true
"supports_vision": true,
"supports_reasoning": true,
"supports_none_reasoning_effort": true,
"default_reasoning_effort": "none",
"supports_xhigh_reasoning_effort": true,
"supports_minimal_reasoning_effort": false
},
"chatgpt/gpt-5.4-pro": {
"litellm_provider": "chatgpt",
@ -30628,7 +30742,11 @@
"supports_function_calling": true,
"supports_parallel_function_calling": true,
"supports_response_schema": true,
"supports_vision": true
"supports_vision": true,
"supports_reasoning": true,
"supports_none_reasoning_effort": false,
"supports_xhigh_reasoning_effort": true,
"supports_minimal_reasoning_effort": false
},
"chatgpt/gpt-5.3-codex": {
"litellm_provider": "chatgpt",
@ -30642,7 +30760,11 @@
"supports_function_calling": true,
"supports_parallel_function_calling": true,
"supports_response_schema": true,
"supports_vision": true
"supports_vision": true,
"supports_reasoning": true,
"supports_none_reasoning_effort": false,
"supports_xhigh_reasoning_effort": false,
"supports_minimal_reasoning_effort": true
},
"chatgpt/gpt-5.3-codex-spark": {
"litellm_provider": "chatgpt",
@ -30686,7 +30808,8 @@
"supports_function_calling": true,
"supports_parallel_function_calling": true,
"supports_response_schema": true,
"supports_vision": true
"supports_vision": true,
"supports_reasoning": true
},
"chatgpt/gpt-5.2-codex": {
"litellm_provider": "chatgpt",
@ -30700,7 +30823,8 @@
"supports_function_calling": true,
"supports_parallel_function_calling": true,
"supports_response_schema": true,
"supports_vision": true
"supports_vision": true,
"supports_reasoning": true
},
"chatgpt/gpt-5.2": {
"litellm_provider": "chatgpt",
@ -30715,7 +30839,12 @@
"supports_function_calling": true,
"supports_parallel_function_calling": true,
"supports_response_schema": true,
"supports_vision": true
"supports_vision": true,
"supports_reasoning": true,
"supports_none_reasoning_effort": true,
"default_reasoning_effort": "none",
"supports_xhigh_reasoning_effort": true,
"supports_minimal_reasoning_effort": false
},
"chatgpt/gpt-5.1-codex-max": {
"litellm_provider": "chatgpt",
@ -30729,7 +30858,8 @@
"supports_function_calling": true,
"supports_parallel_function_calling": true,
"supports_response_schema": true,
"supports_vision": true
"supports_vision": true,
"supports_reasoning": true
},
"chatgpt/gpt-5.1-codex-mini": {
"litellm_provider": "chatgpt",
@ -30743,7 +30873,8 @@
"supports_function_calling": true,
"supports_parallel_function_calling": true,
"supports_response_schema": true,
"supports_vision": true
"supports_vision": true,
"supports_reasoning": true
},
"gigachat/GigaChat-2": {
"input_cost_per_token": 0.0,
@ -39214,6 +39345,17 @@
"supports_function_calling": true,
"supports_reasoning": true
},
"nebius/deepseek-ai/DeepSeek-V4.1-Flash": {
"input_cost_per_token": 3e-07,
"litellm_provider": "nebius",
"max_input_tokens": 1048576,
"max_output_tokens": 1048576,
"max_tokens": 1048576,
"mode": "chat",
"output_cost_per_token": 1.2e-06,
"source": "https://tokenfactory.nebius.com/endpoints?modals=endpoint-details&model-id=deepseek-ai/DeepSeek-V4.1-Flash",
"supports_vision": true
},
"nebius/MiniMaxAI/MiniMax-M2.5": {
"max_tokens": 196608,
"max_input_tokens": 196608,
@ -56230,7 +56372,7 @@
"input_cost_per_audio_token": 3e-06,
"input_cost_per_token": 5e-07,
"litellm_provider": "gemini",
"max_input_tokens": 1048576,
"max_input_tokens": 131072,
"max_output_tokens": 8192,
"max_tokens": 8192,
"mode": "realtime",
@ -56417,7 +56559,7 @@
"input_cost_per_audio_token": 3e-06,
"input_cost_per_token": 5e-07,
"litellm_provider": "gemini",
"max_input_tokens": 1048576,
"max_input_tokens": 131072,
"max_output_tokens": 8192,
"max_tokens": 8192,
"mode": "realtime",
@ -59653,14 +59795,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 1.25e-05,
"cache_creation_input_token_cost_above_1hr": 2e-05,
"cache_creation_input_token_cost_batches": 6.25e-06,
"cache_read_input_token_cost": 1e-06,
"cache_read_input_token_cost_batches": 5e-07,
"input_cost_per_token": 1e-05,
"input_cost_per_token_batches": 5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 5e-05,
"output_cost_per_token_batches": 2.5e-05,
"prompt_cache_min_tokens": 512,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
@ -59693,14 +59839,18 @@
"supports_anthropic_compaction": true,
"cache_creation_input_token_cost": 1.25e-05,
"cache_creation_input_token_cost_above_1hr": 2e-05,
"cache_creation_input_token_cost_batches": 6.25e-06,
"cache_read_input_token_cost": 2.5e-07,
"cache_read_input_token_cost_batches": 1.25e-07,
"input_cost_per_token": 1e-05,
"input_cost_per_token_batches": 5e-06,
"litellm_provider": "anthropic",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"max_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 5e-05,
"output_cost_per_token_batches": 2.5e-05,
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
@ -63000,6 +63150,22 @@
"image"
]
},
"xai/grok-imagine-image-pro": {
"input_cost_per_image": 0.05,
"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-imagine-image-2.0": {
"input_cost_per_image": 0.06,
"litellm_provider": "xai",
@ -64006,6 +64172,55 @@
"supports_response_schema": true,
"supports_vision": true
},
"azure_ai/deepseek-r1": {
"input_cost_per_token": 1.35e-06,
"output_cost_per_token": 5.4e-06,
"litellm_provider": "azure_ai",
"mode": "chat",
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'"
},
"azure_ai/deepseek-v3-0324": {
"input_cost_per_token": 1.14e-06,
"output_cost_per_token": 4.56e-06,
"litellm_provider": "azure_ai",
"mode": "chat",
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'"
},
"azure_ai/deepseek-v3.1": {
"input_cost_per_token": 1.23e-06,
"output_cost_per_token": 4.94e-06,
"litellm_provider": "azure_ai",
"mode": "chat",
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'"
},
"azure_ai/grok-3": {
"input_cost_per_token": 3e-06,
"output_cost_per_token": 1.5e-05,
"litellm_provider": "azure_ai",
"mode": "chat",
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'"
},
"azure_ai/grok-3-mini": {
"input_cost_per_token": 2.5e-07,
"output_cost_per_token": 1.27e-06,
"litellm_provider": "azure_ai",
"mode": "chat",
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'"
},
"azure_ai/grok-4-fast-non-reasoning": {
"input_cost_per_token": 2e-07,
"output_cost_per_token": 5e-07,
"litellm_provider": "azure_ai",
"mode": "chat",
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'"
},
"azure_ai/grok-4-fast-reasoning": {
"input_cost_per_token": 2e-07,
"output_cost_per_token": 5e-07,
"litellm_provider": "azure_ai",
"mode": "chat",
"source": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20'Foundry%20Models'%20and%20armRegionName%20eq%20'eastus'%20and%20priceType%20eq%20'Consumption'"
},
"bedrock/us-gov-west-1/nvidia.nemotron-nano-3-30b": {
"input_cost_per_token": 7.2e-08,
"litellm_provider": "bedrock",
@ -64834,6 +65049,131 @@
"supports_response_schema": true,
"supports_tool_choice": true
},
"bedrock_mantle/deepseek.v3.1": {
"input_cost_per_token": 5.8e-07,
"output_cost_per_token": 1.68e-06,
"litellm_provider": "bedrock_mantle",
"max_input_tokens": 128000,
"max_output_tokens": 8000,
"max_tokens": 8000,
"mode": "chat",
"supported_endpoints": [
"/v1/chat/completions"
],
"supports_function_calling": true,
"supports_tool_choice": true,
"source": "https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-deepseek-deepseek-v3-1.html"
},
"bedrock_mantle/moonshotai.kimi-k2-thinking": {
"input_cost_per_token": 6e-07,
"output_cost_per_token": 2.5e-06,
"litellm_provider": "bedrock_mantle",
"max_input_tokens": 256000,
"max_output_tokens": 16000,
"max_tokens": 16000,
"mode": "chat",
"supported_endpoints": [
"/v1/chat/completions"
],
"supports_function_calling": true,
"supports_tool_choice": true,
"supports_reasoning": true,
"source": "https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-moonshot-ai-kimi-k2-thinking.html"
},
"bedrock_mantle/qwen.qwen3-235b-a22b-2507": {
"input_cost_per_token": 2.2e-07,
"output_cost_per_token": 8.8e-07,
"litellm_provider": "bedrock_mantle",
"max_input_tokens": 256000,
"max_output_tokens": 8000,
"max_tokens": 8000,
"mode": "chat",
"supported_endpoints": [
"/v1/chat/completions"
],
"supports_function_calling": true,
"supports_tool_choice": true,
"supports_reasoning": true,
"source": "https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-qwen-qwen3-235b-a22b-2507.html"
},
"bedrock_mantle/qwen.qwen3-32b": {
"input_cost_per_token": 1.5e-07,
"output_cost_per_token": 6e-07,
"litellm_provider": "bedrock_mantle",
"max_input_tokens": 32000,
"max_output_tokens": 8000,
"max_tokens": 8000,
"mode": "chat",
"supported_endpoints": [
"/v1/chat/completions"
],
"supports_function_calling": true,
"supports_tool_choice": true,
"supports_reasoning": true,
"source": "https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-qwen-qwen3-32b.html"
},
"bedrock_mantle/qwen.qwen3-coder-30b-a3b-instruct": {
"input_cost_per_token": 1.5e-07,
"output_cost_per_token": 6e-07,
"litellm_provider": "bedrock_mantle",
"max_input_tokens": 256000,
"max_output_tokens": 16000,
"max_tokens": 16000,
"mode": "chat",
"supported_endpoints": [
"/v1/chat/completions"
],
"supports_function_calling": true,
"supports_tool_choice": true,
"source": "https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-qwen-qwen3-coder-30b-a3b-instruct.html"
},
"bedrock_mantle/qwen.qwen3-coder-480b-a35b-instruct": {
"input_cost_per_token": 4.5e-07,
"output_cost_per_token": 1.8e-06,
"litellm_provider": "bedrock_mantle",
"max_input_tokens": 128000,
"max_output_tokens": 16000,
"max_tokens": 16000,
"mode": "chat",
"supported_endpoints": [
"/v1/chat/completions"
],
"supports_function_calling": true,
"supports_tool_choice": true,
"source": "https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-qwen-qwen3-coder-480b-a35b-instruct.html"
},
"bedrock_mantle/qwen.qwen3-next-80b-a3b-instruct": {
"input_cost_per_token": 1.4e-07,
"output_cost_per_token": 1.2e-06,
"litellm_provider": "bedrock_mantle",
"max_input_tokens": 256000,
"max_output_tokens": 8000,
"max_tokens": 8000,
"mode": "chat",
"supported_endpoints": [
"/v1/chat/completions"
],
"supports_function_calling": true,
"supports_tool_choice": true,
"supports_reasoning": true,
"source": "https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-qwen-qwen3-next-80b-a3b.html"
},
"bedrock_mantle/qwen.qwen3-vl-235b-a22b-instruct": {
"input_cost_per_token": 5.3e-07,
"output_cost_per_token": 2.66e-06,
"litellm_provider": "bedrock_mantle",
"max_input_tokens": 256000,
"max_output_tokens": 8000,
"max_tokens": 8000,
"mode": "chat",
"supported_endpoints": [
"/v1/chat/completions"
],
"supports_function_calling": true,
"supports_tool_choice": true,
"supports_vision": true,
"source": "https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-qwen-qwen3-vl-235b-a22b.html"
},
"azure/us-gov/gpt-5.1": {
"cache_read_input_token_cost": 1.71875e-07,
"default_reasoning_effort": "none",
@ -76578,6 +76918,23 @@
"supports_vision": true,
"supports_web_search": false
},
"openrouter/perceptron/perceptron-mk1.5": {
"input_cost_per_token": 1.5e-07,
"litellm_provider": "openrouter",
"max_input_tokens": 36864,
"max_output_tokens": 8192,
"max_tokens": 8192,
"mode": "chat",
"output_cost_per_token": 1.5e-06,
"source": "https://openrouter.ai/api/v1/models",
"supports_audio_input": true,
"supports_function_calling": true,
"supports_reasoning": true,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_video_input": true,
"supports_vision": true
},
"vertex_ai/gemini-2.0-flash": {
"deprecation_date": "2026-06-01",
"input_cost_per_audio_token": 1e-06,

View file

@ -103,6 +103,11 @@
"minimum": 0,
"description": "Rate applied once the prompt exceeds the token threshold in the field name."
},
"cache_creation_input_token_cost_above_200k_tokens_batches": {
"type": "number",
"minimum": 0,
"description": "Rate applied once the prompt exceeds the token threshold in the field name."
},
"cache_creation_input_token_cost_above_256k_tokens": {
"type": "number",
"minimum": 0,

View file

@ -320,6 +320,33 @@ def test_get_model_info_bedrock_cross_region_capability_parity():
assert checked > 0, "no cross-region bedrock profiles found - the filter is inert"
def test_get_model_info_bedrock_priced_cross_region_profile_has_priced_base():
os.environ["LITELLM_LOCAL_MODEL_COST_MAP"] = "True"
litellm.model_cost = litellm.get_model_cost_map(url="")
prefixes = ("us.", "eu.", "apac.", "us-gov.", "au.", "global.")
checked = 0
for k, v in litellm.model_cost.items():
if not str(v.get("litellm_provider", "")).startswith("bedrock"):
continue
base_model_key = next(
(k[len(p) :] for p in prefixes if k.startswith(p)),
None,
)
if base_model_key is None or base_model_key not in litellm.model_cost:
continue
checked += 1
base = litellm.model_cost[base_model_key]
for cost_key in ("input_cost_per_token", "output_cost_per_token"):
if (v.get(cost_key) or 0) > 0:
assert (
base.get(cost_key) or 0
) > 0, f"{k} charges {cost_key} but its base {base_model_key} is free"
assert checked > 0, "no cross-region bedrock profiles found - the filter is inert"
def test_get_model_info_huggingface_models(monkeypatch):
from litellm import Router
from litellm.types.router import ModelGroupInfo

View file

@ -196,4 +196,5 @@ class TestBingGroundingSearchTransformation:
):
response = litellm.search(query="pricing check", search_provider="bing_grounding")
assert response._hidden_params["response_cost"] == pytest.approx(0.035)
# Grounding with Bing Search (G1 SKU): $14 per 1,000 transactions, https://www.microsoft.com/en-us/bing/apis, checked 2026-09-24
assert response._hidden_params["response_cost"] == pytest.approx(0.014)

View file

@ -3789,3 +3789,15 @@ def test_azure_gpt_6_foundry_price_sheet(_local_model_cost_map, model_base):
assert azure_ai_info[field] == base
assert azure_us_info[field] == pytest.approx(1.1 * base)
assert azure_eu_info[field] == pytest.approx(1.2 * base)
@pytest.mark.parametrize("region_prefix", ["azure/", "azure/us/", "azure/eu/"])
def test_azure_gpt_5_6_alias_matches_sol_pricing(_local_model_cost_map, region_prefix):
"""The bare gpt-5.6 alias routes to GPT-5.6 Sol, so every Azure region must bill the
alias exactly like the Sol entry (including the Sept 2026 $4/$20 promo)."""
alias = litellm.model_cost[f"{region_prefix}gpt-5.6"]
sol = litellm.model_cost[f"{region_prefix}gpt-5.6-sol"]
shared_cost_fields = [f for f in alias if "cost" in f and f in sol and not isinstance(alias[f], dict)]
assert shared_cost_fields
for field in shared_cost_fields:
assert alias[field] == sol[field], field

View file

@ -7969,6 +7969,29 @@ def test_deployment_pricing_model_info_honors_a_tier_only_batch_override_over_th
assert {key: info[key] for key in carried_keys} == {key: _PUBLISHED_BATCH_RATES[key] for key in carried_keys}
@pytest.mark.parametrize(
"override_key",
(
"output_cost_per_token_above_200k_tokens_batches",
"cache_read_input_token_cost_above_200k_tokens_batches",
"cache_creation_input_token_cost_above_200k_tokens_batches",
),
)
def test_deployment_pricing_model_info_honors_a_200k_tier_batch_override(
_published_batch_model: None, override_key: str
) -> None:
from litellm.litellm_core_utils.litellm_logging import deployment_pricing_model_info
info: Final = deployment_pricing_model_info(_batch_deployment_id({override_key: 1e-3}), _PUBLISHED_BATCH_DEPLOYMENT)
carried_keys: Final = tuple(
key for key in (*_PUBLISHED_INPUT_BATCH_KEYS, *_PUBLISHED_OUTPUT_BATCH_KEYS) if key != override_key
)
assert info is not None
assert info[override_key] == 1e-3
assert {key: info[key] for key in carried_keys} == {key: _PUBLISHED_BATCH_RATES[key] for key in carried_keys}
def test_get_status_fields_ranks_guardrail_flagged_between_success_and_intervened():
"""LIT-6894: a non-blocking flagged verdict must outrank success in the
request-level guardrail_status but never mask an intervention."""

View file

@ -266,6 +266,61 @@ def test_openai_reasoning_family_entries_carry_supports_reasoning(prices: dict):
)
_ABSENT: Final = object()
REASONING_ANNOTATION_KEYS: Final = (
"supports_reasoning",
"supports_minimal_reasoning_effort",
"supports_none_reasoning_effort",
"supports_xhigh_reasoning_effort",
"default_reasoning_effort",
)
def chatgpt_openai_twins(prices: dict) -> list[tuple[str, str]]:
"""`chatgpt/<model>` rows paired with the bare `<model>` row served by the openai provider.
Scoped to openai twins on purpose. `ChatGPTConfig` and `ChatGPTResponsesAPIConfig` subclass
their openai counterparts, so a chatgpt row's reasoning behaviour is whatever the openai row
describes. The azure rows are a separate registry that already diverges from openai here, and
pinning them to each other would assert something this repository does not control.
"""
pairs = []
for name, entry in prices.items():
if not isinstance(entry, dict) or not name.startswith("chatgpt/"):
continue
bare = name.split("/", 1)[1]
twin = prices.get(bare)
if isinstance(twin, dict) and twin.get("litellm_provider") == "openai":
pairs.append((name, bare))
return pairs
def test_chatgpt_rows_carry_their_openai_twin_reasoning_annotations(prices: dict):
"""A chatgpt row must not silently drop the reasoning annotations of the model it proxies.
`litellm.utils._get_model_info_from_generalization` refuses to fall back when an exact cost-map
key exists, so an unannotated `chatgpt/<model>` row wins over its annotated twin and
`/model/info` reports the model as non-reasoning.
"""
twins = chatgpt_openai_twins(prices)
assert twins, "no chatgpt/* row has an openai twin any more; this guard has stopped guarding"
mismatched = []
for name, bare in twins:
for key in REASONING_ANNOTATION_KEYS:
if prices[name].get(key, _ABSENT) != prices[bare].get(key, _ABSENT):
mismatched.append(
f"{name}.{key} is {prices[name].get(key)!r}, {bare}.{key} is {prices[bare].get(key)!r}"
)
assert mismatched == [], (
"chatgpt/* entries proxy their openai twin through ChatGPTConfig, so they must carry the "
"same reasoning annotations; an exact cost-map key blocks the generalization fallback, so "
"a missing flag here is reported to callers as 'not a reasoning model':\n" + "\n".join(mismatched)
)
def test_chat_latest_declares_the_one_effort_openai_accepts(prices: dict):
"""OpenAI rejects every reasoning.effort on chat-latest except medium, and a reasoning entry
with no declared levels resolves to None, which lets /model_group/info and the dashboard offer

View file

@ -766,6 +766,7 @@ def test_aaamodel_prices_and_context_window_json_is_valid():
"cache_creation_input_token_cost_above_272k_tokens": {"type": "number"},
"cache_creation_input_token_cost_above_272k_tokens_flex": {"type": "number"},
"cache_creation_input_token_cost_above_272k_tokens_priority": {"type": "number"},
"cache_creation_input_token_cost_above_200k_tokens_batches": {"type": "number"},
"cache_creation_input_token_cost_above_272k_tokens_batches": {"type": "number"},
"cache_creation_input_token_cost_batches": {"type": "number"},
"cache_creation_input_token_cost_flex": {"type": "number"},

View file

@ -32957,6 +32957,8 @@ export interface components {
cache_creation_input_token_cost_above_1hr?: number | null;
/** Cache Creation Input Token Cost Above 200K Tokens */
cache_creation_input_token_cost_above_200k_tokens?: number | null;
/** Cache Creation Input Token Cost Above 200K Tokens Batches */
cache_creation_input_token_cost_above_200k_tokens_batches?: number | null;
/** Cache Creation Input Token Cost Above 272K Tokens */
cache_creation_input_token_cost_above_272k_tokens?: number | null;
/** Cache Creation Input Token Cost Above 272K Tokens Batches */
@ -46750,6 +46752,8 @@ export interface components {
cache_creation_input_token_cost_above_1hr?: number | null;
/** Cache Creation Input Token Cost Above 200K Tokens */
cache_creation_input_token_cost_above_200k_tokens?: number | null;
/** Cache Creation Input Token Cost Above 200K Tokens Batches */
cache_creation_input_token_cost_above_200k_tokens_batches?: number | null;
/** Cache Creation Input Token Cost Above 272K Tokens */
cache_creation_input_token_cost_above_272k_tokens?: number | null;
/** Cache Creation Input Token Cost Above 272K Tokens Batches */