Registry audit 2026-11-10, Together, Mistral, Fireworks, Azure AI and Copilot fixes (#51003)

Lowers Together Tev1 4B input price to the pricing page value, adds Mistral Leanstral vision and reasoning flags, and absorbs #50991, #50988 and #50958.

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Kerry Lu <326648561+kerry-berri@users.noreply.github.com>
Co-authored-by: zoveki <349028329+zoveki@users.noreply.github.com>
This commit is contained in:
devin-ai-integration[bot] 2026-11-10 11:56:15 -08:00 • committed by GitHub
parent 263281ac89
commit c319616c1f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 452 additions and 12 deletions

View file

@ -3921,6 +3921,11 @@
"max_input_tokens": 200000,
"max_output_tokens": 64000,
"mode": "chat",
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
"search_context_size_medium": 0.01
},
"output_cost_per_token": 2.5e-05,
"supports_assistant_prefill": true,
"supports_computer_use": true,
@ -3932,6 +3937,7 @@
"supports_tool_choice": true,
"supports_vision": true,
"supports_output_config": true,
"supports_web_search": true,
"prompt_cache_min_tokens": 4096,
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
},
@ -4074,7 +4080,7 @@
"deprecation_source": "https://learn.microsoft.com/en-us/azure/foundry/concepts/model-lifecycle-retirement"
},
"azure_ai/claude-fable-latest": {
"alias_of": "azure_ai/claude-fable-5-1"
"alias_of": "azure_ai/claude-fable-5-2"
},
"azure_ai/claude-mythos-5-1": {
"input_cost_per_token": 1e-05,
@ -4088,6 +4094,11 @@
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"mode": "chat",
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
"search_context_size_medium": 0.01
},
"supports_adaptive_thinking": true,
"thinking_always_on": true,
"supports_mid_conversation_system": true,
@ -4105,6 +4116,7 @@
"supports_vision": true,
"supports_xhigh_reasoning_effort": true,
"supports_max_reasoning_effort": false,
"supports_web_search": true,
"prompt_cache_min_tokens": 512,
"source": "https://learn.microsoft.com/en-us/azure/foundry/concepts/model-lifecycle-retirement"
},
@ -4229,6 +4241,11 @@
"max_input_tokens": 200000,
"max_output_tokens": 64000,
"mode": "chat",
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
"search_context_size_medium": 0.01
},
"output_cost_per_token": 1.5e-05,
"supports_assistant_prefill": true,
"supports_computer_use": true,
@ -4239,6 +4256,7 @@
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": true,
"supports_web_search": true,
"prompt_cache_min_tokens": 1024,
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
},
@ -4290,6 +4308,11 @@
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"mode": "chat",
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
"search_context_size_medium": 0.01
},
"output_cost_per_token": 1.5e-05,
"supports_assistant_prefill": false,
"supports_computer_use": true,
@ -4302,6 +4325,7 @@
"supports_tool_choice": true,
"supports_vision": true,
"supports_output_config": true,
"supports_web_search": true,
"prompt_cache_min_tokens": 1024,
"source": "https://learn.microsoft.com/en-us/azure/foundry/foundry-models/concepts/claude-models"
},
@ -28947,6 +28971,24 @@
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/accounts/fireworks/routers/minimax-latest": {
"cache_read_input_token_cost": 6e-08,
"cache_read_input_token_cost_priority": 9e-08,
"input_cost_per_token": 3e-07,
"input_cost_per_token_priority": 4.5e-07,
"litellm_provider": "fireworks_ai",
"max_input_tokens": 512000,
"max_output_tokens": 512000,
"mode": "chat",
"output_cost_per_token": 1.2e-06,
"output_cost_per_token_priority": 1.8e-06,
"source": "https://api.fireworks.ai/v1/serverless/models?format=nested",
"supports_function_calling": true,
"supports_reasoning": true,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/minimax-latest": {
"alias_of": "fireworks_ai/accounts/fireworks/models/minimax-m3"
},
@ -33848,7 +33890,7 @@
"thinking_always_on": true
},
"github_copilot/claude-fable-latest": {
"alias_of": "github_copilot/claude-fable-5.1"
"alias_of": "github_copilot/claude-fable-5.2"
},
"github_copilot/claude-haiku-4.5": {
"cache_creation_input_token_cost": 1.25e-06,
@ -65253,7 +65295,9 @@
"source": "https://docs.mistral.ai/models/model-cards/leanstral-1-5",
"supports_function_calling": true,
"supports_response_schema": true,
"supports_tool_choice": true
"supports_reasoning": true,
"supports_tool_choice": true,
"supports_vision": true
},
"mistral/mistral-moderation-2603": {
"input_cost_per_token": 0.0,
@ -65775,6 +65819,30 @@
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/accounts/fireworks/routers/kimi-latest": {
"cache_read_input_token_cost": 3e-07,
"cache_read_input_token_cost_priority": 3.75e-07,
"input_cost_per_token": 3e-06,
"input_cost_per_token_priority": 3.75e-06,
"litellm_provider": "fireworks_ai",
"max_input_tokens": 1048576,
"max_output_tokens": 131072,
"mode": "chat",
"output_cost_per_token": 1.5e-05,
"output_cost_per_token_priority": 1.875e-05,
"reasoning_effort_levels": [
"low",
"high",
"max"
],
"source": "https://api.fireworks.ai/v1/serverless/models?format=nested",
"supports_function_calling": true,
"supports_mid_conversation_system": true,
"supports_reasoning": true,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/kimi-latest": {
"alias_of": "fireworks_ai/accounts/fireworks/models/kimi-k3"
},
@ -66074,6 +66142,7 @@
"supports_function_calling": true,
"supports_mid_conversation_system": true,
"supports_reasoning": true,
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/accounts/fireworks/models/nemotron-lightning-3p5-30b-a3b": {
@ -66137,6 +66206,24 @@
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/accounts/fireworks/routers/qwen-max-latest": {
"cache_read_input_token_cost": 2.5e-07,
"cache_read_input_token_cost_priority": 3.75e-07,
"input_cost_per_token": 2e-06,
"input_cost_per_token_priority": 3e-06,
"litellm_provider": "fireworks_ai",
"max_input_tokens": 262144,
"mode": "chat",
"output_cost_per_token": 6e-06,
"output_cost_per_token_priority": 9e-06,
"source": "https://api.fireworks.ai/v1/serverless/models?format=nested",
"supports_function_calling": true,
"supports_mid_conversation_system": false,
"supports_reasoning": true,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/accounts/fireworks/routers/glm-5p2-fast": {
"cache_read_input_token_cost": 2.1e-07,
"deprecation_date": "2026-09-25",
@ -66194,6 +66281,27 @@
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/accounts/fireworks/routers/kimi-fast-latest": {
"cache_read_input_token_cost": 4.5e-07,
"input_cost_per_token": 4.5e-06,
"litellm_provider": "fireworks_ai",
"max_input_tokens": 1048576,
"max_output_tokens": 131072,
"mode": "chat",
"output_cost_per_token": 2.25e-05,
"reasoning_effort_levels": [
"low",
"high",
"max"
],
"source": "https://api.fireworks.ai/v1/serverless/models?format=nested",
"supports_function_calling": true,
"supports_mid_conversation_system": true,
"supports_reasoning": true,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/accounts/fireworks/routers/kimi-k3-us": {
"cache_read_input_token_cost": 4.5e-07,
"cache_read_input_token_cost_priority": 5.625e-07,
@ -69008,7 +69116,9 @@
"source": "https://docs.mistral.ai/models/model-cards/leanstral-1-5",
"supports_function_calling": true,
"supports_response_schema": true,
"supports_tool_choice": true
"supports_reasoning": true,
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/accounts/fireworks/models/glm-5p3": {
"cache_read_input_token_cost": 2.6e-07,
@ -69029,6 +69139,25 @@
"supports_tool_choice": true,
"supports_vision": false
},
"fireworks_ai/accounts/fireworks/routers/glm-latest": {
"cache_read_input_token_cost": 2.6e-07,
"cache_read_input_token_cost_priority": 3.25e-07,
"input_cost_per_token": 1.4e-06,
"input_cost_per_token_priority": 1.75e-06,
"litellm_provider": "fireworks_ai",
"max_input_tokens": 1048576,
"max_output_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 4.4e-06,
"output_cost_per_token_priority": 5.5e-06,
"source": "https://api.fireworks.ai/v1/serverless/models?format=nested",
"supports_function_calling": true,
"supports_mid_conversation_system": true,
"supports_reasoning": true,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": false
},
"fireworks_ai/accounts/fireworks/routers/glm-5p3-us": {
"cache_read_input_token_cost": 3.9e-07,
"cache_read_input_token_cost_priority": 4.875e-07,
@ -69102,6 +69231,22 @@
"supports_tool_choice": true,
"supports_vision": false
},
"fireworks_ai/accounts/fireworks/routers/glm-fast-latest": {
"cache_read_input_token_cost": 3.9e-07,
"input_cost_per_token": 2.1e-06,
"litellm_provider": "fireworks_ai",
"max_input_tokens": 1048576,
"max_output_tokens": 1048576,
"mode": "chat",
"output_cost_per_token": 6.6e-06,
"source": "https://api.fireworks.ai/v1/serverless/models?format=nested",
"supports_function_calling": true,
"supports_mid_conversation_system": true,
"supports_reasoning": true,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": false
},
"fireworks_ai/accounts/fireworks/routers/auto": {
"litellm_provider": "fireworks_ai",
"mode": "chat",
@ -69163,6 +69308,24 @@
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/accounts/fireworks/routers/glm-flash-latest": {
"cache_read_input_token_cost": 3e-08,
"cache_read_input_token_cost_priority": 3.75e-08,
"input_cost_per_token": 1.5e-07,
"input_cost_per_token_priority": 1.875e-07,
"litellm_provider": "fireworks_ai",
"max_input_tokens": 1048576,
"max_output_tokens": 1048576,
"mode": "chat",
"output_cost_per_token": 5e-07,
"output_cost_per_token_priority": 6.25e-07,
"source": "https://api.fireworks.ai/v1/serverless/models?format=nested",
"supports_function_calling": true,
"supports_mid_conversation_system": true,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/accounts/fireworks/routers/glm-5p3-flash-us": {
"cache_read_input_token_cost": 4.5e-08,
"cache_read_input_token_cost_priority": 5.625e-08,
@ -71992,12 +72155,12 @@
"source": "https://api.together.xyz/v1/models"
},
"together_ai/together/Tev1-4B-experimental": {
"input_cost_per_token": 4.2e-08,
"input_cost_per_token": 4e-08,
"litellm_provider": "together_ai",
"max_input_tokens": 32768,
"mode": "chat",
"output_cost_per_token": 0.0,
"source": "https://api.together.ai/v1/models"
"source": "https://www.together.ai/pricing"
},
"together_ai/Qwen/Qwen2.5-72B-Instruct-Turbo": {
"deprecation_date": "2026-02-06",
@ -79437,6 +79600,26 @@
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/accounts/fireworks/routers/deepseek-flash-latest": {
"cache_read_input_token_cost": 6e-09,
"cache_read_input_token_cost_priority": 7.5e-09,
"input_cost_per_token": 3e-07,
"input_cost_per_token_priority": 3.75e-07,
"litellm_provider": "fireworks_ai",
"max_input_tokens": 1048576,
"max_output_tokens": 393216,
"mode": "chat",
"output_cost_per_token": 1.2e-06,
"output_cost_per_token_priority": 1.5e-06,
"source": "https://api.fireworks.ai/v1/serverless/models?format=nested",
"supports_function_calling": true,
"supports_mid_conversation_system": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": true
},
"github_copilot/claude-sonnet-4.6": {
"cache_creation_input_token_cost": 3.75e-06,
"cache_read_input_token_cost": 3e-07,

View file

@ -3921,6 +3921,11 @@
"max_input_tokens": 200000,
"max_output_tokens": 64000,
"mode": "chat",
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
"search_context_size_medium": 0.01
},
"output_cost_per_token": 2.5e-05,
"supports_assistant_prefill": true,
"supports_computer_use": true,
@ -3932,6 +3937,7 @@
"supports_tool_choice": true,
"supports_vision": true,
"supports_output_config": true,
"supports_web_search": true,
"prompt_cache_min_tokens": 4096,
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
},
@ -4074,7 +4080,7 @@
"deprecation_source": "https://learn.microsoft.com/en-us/azure/foundry/concepts/model-lifecycle-retirement"
},
"azure_ai/claude-fable-latest": {
"alias_of": "azure_ai/claude-fable-5-1"
"alias_of": "azure_ai/claude-fable-5-2"
},
"azure_ai/claude-mythos-5-1": {
"input_cost_per_token": 1e-05,
@ -4088,6 +4094,11 @@
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"mode": "chat",
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
"search_context_size_medium": 0.01
},
"supports_adaptive_thinking": true,
"thinking_always_on": true,
"supports_mid_conversation_system": true,
@ -4105,6 +4116,7 @@
"supports_vision": true,
"supports_xhigh_reasoning_effort": true,
"supports_max_reasoning_effort": false,
"supports_web_search": true,
"prompt_cache_min_tokens": 512,
"source": "https://learn.microsoft.com/en-us/azure/foundry/concepts/model-lifecycle-retirement"
},
@ -4229,6 +4241,11 @@
"max_input_tokens": 200000,
"max_output_tokens": 64000,
"mode": "chat",
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
"search_context_size_medium": 0.01
},
"output_cost_per_token": 1.5e-05,
"supports_assistant_prefill": true,
"supports_computer_use": true,
@ -4239,6 +4256,7 @@
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": true,
"supports_web_search": true,
"prompt_cache_min_tokens": 1024,
"source": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule"
},
@ -4290,6 +4308,11 @@
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
"mode": "chat",
"search_context_cost_per_query": {
"search_context_size_high": 0.01,
"search_context_size_low": 0.01,
"search_context_size_medium": 0.01
},
"output_cost_per_token": 1.5e-05,
"supports_assistant_prefill": false,
"supports_computer_use": true,
@ -4302,6 +4325,7 @@
"supports_tool_choice": true,
"supports_vision": true,
"supports_output_config": true,
"supports_web_search": true,
"prompt_cache_min_tokens": 1024,
"source": "https://learn.microsoft.com/en-us/azure/foundry/foundry-models/concepts/claude-models"
},
@ -28947,6 +28971,24 @@
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/accounts/fireworks/routers/minimax-latest": {
"cache_read_input_token_cost": 6e-08,
"cache_read_input_token_cost_priority": 9e-08,
"input_cost_per_token": 3e-07,
"input_cost_per_token_priority": 4.5e-07,
"litellm_provider": "fireworks_ai",
"max_input_tokens": 512000,
"max_output_tokens": 512000,
"mode": "chat",
"output_cost_per_token": 1.2e-06,
"output_cost_per_token_priority": 1.8e-06,
"source": "https://api.fireworks.ai/v1/serverless/models?format=nested",
"supports_function_calling": true,
"supports_reasoning": true,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/minimax-latest": {
"alias_of": "fireworks_ai/accounts/fireworks/models/minimax-m3"
},
@ -33848,7 +33890,7 @@
"thinking_always_on": true
},
"github_copilot/claude-fable-latest": {
"alias_of": "github_copilot/claude-fable-5.1"
"alias_of": "github_copilot/claude-fable-5.2"
},
"github_copilot/claude-haiku-4.5": {
"cache_creation_input_token_cost": 1.25e-06,
@ -65253,7 +65295,9 @@
"source": "https://docs.mistral.ai/models/model-cards/leanstral-1-5",
"supports_function_calling": true,
"supports_response_schema": true,
"supports_tool_choice": true
"supports_reasoning": true,
"supports_tool_choice": true,
"supports_vision": true
},
"mistral/mistral-moderation-2603": {
"input_cost_per_token": 0.0,
@ -65775,6 +65819,30 @@
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/accounts/fireworks/routers/kimi-latest": {
"cache_read_input_token_cost": 3e-07,
"cache_read_input_token_cost_priority": 3.75e-07,
"input_cost_per_token": 3e-06,
"input_cost_per_token_priority": 3.75e-06,
"litellm_provider": "fireworks_ai",
"max_input_tokens": 1048576,
"max_output_tokens": 131072,
"mode": "chat",
"output_cost_per_token": 1.5e-05,
"output_cost_per_token_priority": 1.875e-05,
"reasoning_effort_levels": [
"low",
"high",
"max"
],
"source": "https://api.fireworks.ai/v1/serverless/models?format=nested",
"supports_function_calling": true,
"supports_mid_conversation_system": true,
"supports_reasoning": true,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/kimi-latest": {
"alias_of": "fireworks_ai/accounts/fireworks/models/kimi-k3"
},
@ -66074,6 +66142,7 @@
"supports_function_calling": true,
"supports_mid_conversation_system": true,
"supports_reasoning": true,
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/accounts/fireworks/models/nemotron-lightning-3p5-30b-a3b": {
@ -66137,6 +66206,24 @@
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/accounts/fireworks/routers/qwen-max-latest": {
"cache_read_input_token_cost": 2.5e-07,
"cache_read_input_token_cost_priority": 3.75e-07,
"input_cost_per_token": 2e-06,
"input_cost_per_token_priority": 3e-06,
"litellm_provider": "fireworks_ai",
"max_input_tokens": 262144,
"mode": "chat",
"output_cost_per_token": 6e-06,
"output_cost_per_token_priority": 9e-06,
"source": "https://api.fireworks.ai/v1/serverless/models?format=nested",
"supports_function_calling": true,
"supports_mid_conversation_system": false,
"supports_reasoning": true,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/accounts/fireworks/routers/glm-5p2-fast": {
"cache_read_input_token_cost": 2.1e-07,
"deprecation_date": "2026-09-25",
@ -66194,6 +66281,27 @@
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/accounts/fireworks/routers/kimi-fast-latest": {
"cache_read_input_token_cost": 4.5e-07,
"input_cost_per_token": 4.5e-06,
"litellm_provider": "fireworks_ai",
"max_input_tokens": 1048576,
"max_output_tokens": 131072,
"mode": "chat",
"output_cost_per_token": 2.25e-05,
"reasoning_effort_levels": [
"low",
"high",
"max"
],
"source": "https://api.fireworks.ai/v1/serverless/models?format=nested",
"supports_function_calling": true,
"supports_mid_conversation_system": true,
"supports_reasoning": true,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/accounts/fireworks/routers/kimi-k3-us": {
"cache_read_input_token_cost": 4.5e-07,
"cache_read_input_token_cost_priority": 5.625e-07,
@ -69008,7 +69116,9 @@
"source": "https://docs.mistral.ai/models/model-cards/leanstral-1-5",
"supports_function_calling": true,
"supports_response_schema": true,
"supports_tool_choice": true
"supports_reasoning": true,
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/accounts/fireworks/models/glm-5p3": {
"cache_read_input_token_cost": 2.6e-07,
@ -69029,6 +69139,25 @@
"supports_tool_choice": true,
"supports_vision": false
},
"fireworks_ai/accounts/fireworks/routers/glm-latest": {
"cache_read_input_token_cost": 2.6e-07,
"cache_read_input_token_cost_priority": 3.25e-07,
"input_cost_per_token": 1.4e-06,
"input_cost_per_token_priority": 1.75e-06,
"litellm_provider": "fireworks_ai",
"max_input_tokens": 1048576,
"max_output_tokens": 128000,
"mode": "chat",
"output_cost_per_token": 4.4e-06,
"output_cost_per_token_priority": 5.5e-06,
"source": "https://api.fireworks.ai/v1/serverless/models?format=nested",
"supports_function_calling": true,
"supports_mid_conversation_system": true,
"supports_reasoning": true,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": false
},
"fireworks_ai/accounts/fireworks/routers/glm-5p3-us": {
"cache_read_input_token_cost": 3.9e-07,
"cache_read_input_token_cost_priority": 4.875e-07,
@ -69102,6 +69231,22 @@
"supports_tool_choice": true,
"supports_vision": false
},
"fireworks_ai/accounts/fireworks/routers/glm-fast-latest": {
"cache_read_input_token_cost": 3.9e-07,
"input_cost_per_token": 2.1e-06,
"litellm_provider": "fireworks_ai",
"max_input_tokens": 1048576,
"max_output_tokens": 1048576,
"mode": "chat",
"output_cost_per_token": 6.6e-06,
"source": "https://api.fireworks.ai/v1/serverless/models?format=nested",
"supports_function_calling": true,
"supports_mid_conversation_system": true,
"supports_reasoning": true,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": false
},
"fireworks_ai/accounts/fireworks/routers/auto": {
"litellm_provider": "fireworks_ai",
"mode": "chat",
@ -69163,6 +69308,24 @@
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/accounts/fireworks/routers/glm-flash-latest": {
"cache_read_input_token_cost": 3e-08,
"cache_read_input_token_cost_priority": 3.75e-08,
"input_cost_per_token": 1.5e-07,
"input_cost_per_token_priority": 1.875e-07,
"litellm_provider": "fireworks_ai",
"max_input_tokens": 1048576,
"max_output_tokens": 1048576,
"mode": "chat",
"output_cost_per_token": 5e-07,
"output_cost_per_token_priority": 6.25e-07,
"source": "https://api.fireworks.ai/v1/serverless/models?format=nested",
"supports_function_calling": true,
"supports_mid_conversation_system": true,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/accounts/fireworks/routers/glm-5p3-flash-us": {
"cache_read_input_token_cost": 4.5e-08,
"cache_read_input_token_cost_priority": 5.625e-08,
@ -71992,12 +72155,12 @@
"source": "https://api.together.xyz/v1/models"
},
"together_ai/together/Tev1-4B-experimental": {
"input_cost_per_token": 4.2e-08,
"input_cost_per_token": 4e-08,
"litellm_provider": "together_ai",
"max_input_tokens": 32768,
"mode": "chat",
"output_cost_per_token": 0.0,
"source": "https://api.together.ai/v1/models"
"source": "https://www.together.ai/pricing"
},
"together_ai/Qwen/Qwen2.5-72B-Instruct-Turbo": {
"deprecation_date": "2026-02-06",
@ -79437,6 +79600,26 @@
"supports_tool_choice": true,
"supports_vision": true
},
"fireworks_ai/accounts/fireworks/routers/deepseek-flash-latest": {
"cache_read_input_token_cost": 6e-09,
"cache_read_input_token_cost_priority": 7.5e-09,
"input_cost_per_token": 3e-07,
"input_cost_per_token_priority": 3.75e-07,
"litellm_provider": "fireworks_ai",
"max_input_tokens": 1048576,
"max_output_tokens": 393216,
"mode": "chat",
"output_cost_per_token": 1.2e-06,
"output_cost_per_token_priority": 1.5e-06,
"source": "https://api.fireworks.ai/v1/serverless/models?format=nested",
"supports_function_calling": true,
"supports_mid_conversation_system": true,
"supports_prompt_caching": true,
"supports_reasoning": true,
"supports_response_schema": true,
"supports_tool_choice": true,
"supports_vision": true
},
"github_copilot/claude-sonnet-4.6": {
"cache_creation_input_token_cost": 3.75e-06,
"cache_read_input_token_cost": 3e-07,

View file

@ -23,6 +23,7 @@ from litellm.types.utils import (
Message,
ModelResponse,
)
from tests.unit.llms.fireworks_ai.latest_router_aliases import LATEST_ROUTER_ALIAS_TARGETS
def test_validate_environment_sets_session_affinity_from_litellm_session_id():
@ -368,6 +369,21 @@ def test_get_supported_openai_params_parallel_tool_calls_without_tool_choice(
assert "tool_choice" not in supported_params
@pytest.mark.parametrize(("alias", "target"), LATEST_ROUTER_ALIAS_TARGETS)
def test_latest_router_alias_accepts_the_same_params_as_the_model_it_points_to(alias: str, target: str) -> None:
config: Final = FireworksAIConfig()
alias_params: Final = set(config.get_supported_openai_params(alias))
target_params: Final = set(config.get_supported_openai_params(target))
excluded_params: Final = (
{"reasoning_effort", "reasoning_history", "thinking"}
if alias == "accounts/fireworks/routers/glm-flash-latest"
else set()
)
assert alias_params - excluded_params == target_params - excluded_params
assert "tool_choice" in alias_params
def test_get_provider_info_omits_false_supports_reasoning(monkeypatch):
"""Test that Fireworks only overrides supports_reasoning for supported models."""
config = FireworksAIConfig()

View file

@ -0,0 +1,13 @@
from typing import Final
# https://api.fireworks.ai/v1/serverless/models?format=nested, read 2026-10-29
LATEST_ROUTER_ALIAS_TARGETS: Final = (
("accounts/fireworks/routers/minimax-latest", "accounts/fireworks/models/minimax-m3"),
("accounts/fireworks/routers/kimi-latest", "accounts/fireworks/models/kimi-k3"),
("accounts/fireworks/routers/kimi-fast-latest", "accounts/fireworks/routers/kimi-k3-fast"),
("accounts/fireworks/routers/qwen-max-latest", "accounts/fireworks/models/qwen3p8-max"),
("accounts/fireworks/routers/glm-latest", "accounts/fireworks/models/glm-5p3"),
("accounts/fireworks/routers/glm-fast-latest", "accounts/fireworks/routers/glm-5p3-fast"),
("accounts/fireworks/routers/glm-flash-latest", "accounts/fireworks/models/glm-5p3-flash"),
("accounts/fireworks/routers/deepseek-flash-latest", "accounts/fireworks/models/deepseek-v4p1-flash-1017"),
)

View file

@ -26,6 +26,7 @@ from litellm.types.llms.openai import InputTokensDetails, ResponseAPIUsage, Resp
from litellm.types.router import GenericLiteLLMParams
from litellm.types.utils import LlmProviders
from litellm.utils import ProviderConfigManager
from tests.unit.llms.fireworks_ai.latest_router_aliases import LATEST_ROUTER_ALIAS_TARGETS
FIREWORKS_RESPONSES_URL: Final = "https://api.fireworks.ai/inference/v1/responses"
HTTPX_CLIENT_FACTORY: Final = "litellm.llms.custom_httpx.llm_http_handler.get_httpx_client"
@ -249,6 +250,27 @@ def test_responses_call_keeps_developer_items_in_place_for_a_model_the_cost_map_
)
@respx.mock
@pytest.mark.parametrize(("alias", "target"), LATEST_ROUTER_ALIAS_TARGETS)
def test_latest_router_alias_places_developer_items_like_the_model_it_points_to(alias: str, target: str) -> None:
route: Final = _fireworks_responses_route(alias)
for model in (alias, target):
litellm.responses(
model=f"fireworks_ai/{model}",
input=[
{"role": "user", "content": "Hi there"},
{"role": "developer", "content": "Answer with exactly one word."},
{"role": "user", "content": "What is the capital of France?"},
{"type": "message", "role": "assistant", "content": "Paris"},
{"role": "developer", "content": "Reply with PONG."},
],
api_key="fw-test-key",
)
alias_body, target_body = (json.loads(call.request.content) for call in route.calls)
assert alias_body["model"] == alias
assert {**alias_body, "model": target} == target_body
@respx.mock
def test_responses_call_folds_developer_items_when_the_loaded_cost_map_turns_the_flag_off(
declare_mid_conversation_system: Callable[[str, bool], None],

View file

@ -1050,6 +1050,29 @@ def test_bedrock_gpt_oss_vision_is_explicitly_disabled_for_the_router_gate() ->
assert litellm.utils.is_vision_explicitly_disabled("bedrock_mantle/openai.gpt-oss-20b") is True
@pytest.mark.parametrize("path", (PRICES_PATH, BACKUP_PRICES_PATH), ids=("main", "backup"))
def test_azure_ai_claude_rows_bill_web_search_like_their_anthropic_rows(path: Path) -> None:
prices: Final[dict[str, JsonValue]] = TypeAdapter(dict[str, JsonValue]).validate_json(path.read_bytes())
pairs: Final = {
key: (row, prices[key.removeprefix("azure_ai/")])
for key, row in prices.items()
if key.startswith("azure_ai/claude") and isinstance(row, dict) and key.removeprefix("azure_ai/") in prices
}
priced_pairs: Final = {
key: (row, bare)
for key, (row, bare) in pairs.items()
if isinstance(bare, dict) and bare.get("search_context_cost_per_query")
}
assert priced_pairs
drifted: Final = tuple(
key
for key, (row, bare) in priced_pairs.items()
if row.get("search_context_cost_per_query") != bare["search_context_cost_per_query"]
or row.get("supports_web_search") is not True
)
assert drifted == (), drifted
@pytest.mark.parametrize("path", (PRICES_PATH, BACKUP_PRICES_PATH), ids=("main", "backup"))
def test_azure_ai_claude_rows_priced_for_web_search_say_they_support_it(path: Path) -> None:
prices: Final[dict[str, JsonValue]] = TypeAdapter(dict[str, JsonValue]).validate_json(path.read_bytes())