From 4d43080a74e7e9d5ed61e616e2a5f08bb9da7301 Mon Sep 17 00:00:00 2001 From: mubashir1osmani Date: Sat, 1 Aug 2026 12:34:25 -0700 Subject: [PATCH] fix(pricing): apply OpenAI's gpt-5.6 terra/luna cut to Azure cost map OpenAI cut Terra 20% and Luna 80% on 2026-07-30; openai and bedrock_mantle entries already match. Azure global and us/eu data-zone terra/luna rows still used the pre-cut rates, so spend tracking over-billed those Azure deployments. Sol is unchanged. Cache-read, priority, and long-context fields scale with the same multipliers already used for azure gpt-5.6. --- ...odel_prices_and_context_window_backup.json | 120 +++++++++--------- model_prices_and_context_window.json | 120 +++++++++--------- .../llm_cost_calc/test_llm_cost_calc_utils.py | 8 +- 3 files changed, 124 insertions(+), 124 deletions(-) diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index 07f04136bd0..ebb1290ca57 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -6425,23 +6425,23 @@ "supports_minimal_reasoning_effort": false }, "azure/gpt-5.6-terra": { - "cache_read_input_token_cost": 2.5e-07, - "cache_read_input_token_cost_above_272k_tokens": 5e-07, - "cache_read_input_token_cost_priority": 5e-07, - "cache_read_input_token_cost_above_272k_tokens_priority": 1e-06, - "input_cost_per_token": 2.5e-06, - "input_cost_per_token_above_272k_tokens": 5e-06, - "input_cost_per_token_priority": 5e-06, - "input_cost_per_token_above_272k_tokens_priority": 1e-05, + "cache_read_input_token_cost": 2e-07, + "cache_read_input_token_cost_above_272k_tokens": 4e-07, + "cache_read_input_token_cost_priority": 4e-07, + "cache_read_input_token_cost_above_272k_tokens_priority": 8e-07, + "input_cost_per_token": 2e-06, + "input_cost_per_token_above_272k_tokens": 4e-06, + "input_cost_per_token_priority": 4e-06, + "input_cost_per_token_above_272k_tokens_priority": 8e-06, "litellm_provider": "azure", "max_input_tokens": 1050000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", - "output_cost_per_token": 1.5e-05, - "output_cost_per_token_above_272k_tokens": 2.25e-05, - "output_cost_per_token_priority": 3e-05, - "output_cost_per_token_above_272k_tokens_priority": 4.5e-05, + "output_cost_per_token": 1.2e-05, + "output_cost_per_token_above_272k_tokens": 1.8e-05, + "output_cost_per_token_priority": 2.4e-05, + "output_cost_per_token_above_272k_tokens_priority": 3.6e-05, "supported_endpoints": [ "/v1/chat/completions", "/v1/batch", @@ -6470,23 +6470,23 @@ "supports_minimal_reasoning_effort": false }, "azure/gpt-5.6-luna": { - "cache_read_input_token_cost": 1e-07, - "cache_read_input_token_cost_above_272k_tokens": 2e-07, - "cache_read_input_token_cost_priority": 2e-07, - "cache_read_input_token_cost_above_272k_tokens_priority": 4e-07, - "input_cost_per_token": 1e-06, - "input_cost_per_token_above_272k_tokens": 2e-06, - "input_cost_per_token_priority": 2e-06, - "input_cost_per_token_above_272k_tokens_priority": 4e-06, + "cache_read_input_token_cost": 2e-08, + "cache_read_input_token_cost_above_272k_tokens": 4e-08, + "cache_read_input_token_cost_priority": 4e-08, + "cache_read_input_token_cost_above_272k_tokens_priority": 8e-08, + "input_cost_per_token": 2e-07, + "input_cost_per_token_above_272k_tokens": 4e-07, + "input_cost_per_token_priority": 4e-07, + "input_cost_per_token_above_272k_tokens_priority": 8e-07, "litellm_provider": "azure", "max_input_tokens": 1050000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", - "output_cost_per_token": 6e-06, - "output_cost_per_token_above_272k_tokens": 9e-06, - "output_cost_per_token_priority": 1.2e-05, - "output_cost_per_token_above_272k_tokens_priority": 1.8e-05, + "output_cost_per_token": 1.2e-06, + "output_cost_per_token_above_272k_tokens": 1.8e-06, + "output_cost_per_token_priority": 2.4e-06, + "output_cost_per_token_above_272k_tokens_priority": 3.6e-06, "supported_endpoints": [ "/v1/chat/completions", "/v1/batch", @@ -6599,20 +6599,20 @@ "supports_minimal_reasoning_effort": false }, "azure/us/gpt-5.6-terra": { - "cache_read_input_token_cost": 2.75e-07, - "cache_read_input_token_cost_above_272k_tokens": 5.5e-07, - "cache_read_input_token_cost_priority": 6.875e-07, - "input_cost_per_token": 2.75e-06, - "input_cost_per_token_above_272k_tokens": 5.5e-06, - "input_cost_per_token_priority": 6.875e-06, + "cache_read_input_token_cost": 2.2e-07, + "cache_read_input_token_cost_above_272k_tokens": 4.4e-07, + "cache_read_input_token_cost_priority": 5.5e-07, + "input_cost_per_token": 2.2e-06, + "input_cost_per_token_above_272k_tokens": 4.4e-06, + "input_cost_per_token_priority": 5.5e-06, "litellm_provider": "azure", "max_input_tokens": 1050000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", - "output_cost_per_token": 1.65e-05, - "output_cost_per_token_above_272k_tokens": 2.475e-05, - "output_cost_per_token_priority": 4.125e-05, + "output_cost_per_token": 1.32e-05, + "output_cost_per_token_above_272k_tokens": 1.98e-05, + "output_cost_per_token_priority": 3.3e-05, "supported_endpoints": [ "/v1/chat/completions", "/v1/batch", @@ -6641,20 +6641,20 @@ "supports_minimal_reasoning_effort": false }, "azure/us/gpt-5.6-luna": { - "cache_read_input_token_cost": 1.1e-07, - "cache_read_input_token_cost_above_272k_tokens": 2.2e-07, - "cache_read_input_token_cost_priority": 2.75e-07, - "input_cost_per_token": 1.1e-06, - "input_cost_per_token_above_272k_tokens": 2.2e-06, - "input_cost_per_token_priority": 2.75e-06, + "cache_read_input_token_cost": 2.2e-08, + "cache_read_input_token_cost_above_272k_tokens": 4.4e-08, + "cache_read_input_token_cost_priority": 5.5e-08, + "input_cost_per_token": 2.2e-07, + "input_cost_per_token_above_272k_tokens": 4.4e-07, + "input_cost_per_token_priority": 5.5e-07, "litellm_provider": "azure", "max_input_tokens": 1050000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", - "output_cost_per_token": 6.6e-06, - "output_cost_per_token_above_272k_tokens": 9.9e-06, - "output_cost_per_token_priority": 1.65e-05, + "output_cost_per_token": 1.32e-06, + "output_cost_per_token_above_272k_tokens": 1.98e-06, + "output_cost_per_token_priority": 3.3e-06, "supported_endpoints": [ "/v1/chat/completions", "/v1/batch", @@ -6767,20 +6767,20 @@ "supports_minimal_reasoning_effort": false }, "azure/eu/gpt-5.6-terra": { - "cache_read_input_token_cost": 2.75e-07, - "cache_read_input_token_cost_above_272k_tokens": 5.5e-07, - "cache_read_input_token_cost_priority": 6.875e-07, - "input_cost_per_token": 2.75e-06, - "input_cost_per_token_above_272k_tokens": 5.5e-06, - "input_cost_per_token_priority": 6.875e-06, + "cache_read_input_token_cost": 2.2e-07, + "cache_read_input_token_cost_above_272k_tokens": 4.4e-07, + "cache_read_input_token_cost_priority": 5.5e-07, + "input_cost_per_token": 2.2e-06, + "input_cost_per_token_above_272k_tokens": 4.4e-06, + "input_cost_per_token_priority": 5.5e-06, "litellm_provider": "azure", "max_input_tokens": 1050000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", - "output_cost_per_token": 1.65e-05, - "output_cost_per_token_above_272k_tokens": 2.475e-05, - "output_cost_per_token_priority": 4.125e-05, + "output_cost_per_token": 1.32e-05, + "output_cost_per_token_above_272k_tokens": 1.98e-05, + "output_cost_per_token_priority": 3.3e-05, "supported_endpoints": [ "/v1/chat/completions", "/v1/batch", @@ -6809,20 +6809,20 @@ "supports_minimal_reasoning_effort": false }, "azure/eu/gpt-5.6-luna": { - "cache_read_input_token_cost": 1.1e-07, - "cache_read_input_token_cost_above_272k_tokens": 2.2e-07, - "cache_read_input_token_cost_priority": 2.75e-07, - "input_cost_per_token": 1.1e-06, - "input_cost_per_token_above_272k_tokens": 2.2e-06, - "input_cost_per_token_priority": 2.75e-06, + "cache_read_input_token_cost": 2.2e-08, + "cache_read_input_token_cost_above_272k_tokens": 4.4e-08, + "cache_read_input_token_cost_priority": 5.5e-08, + "input_cost_per_token": 2.2e-07, + "input_cost_per_token_above_272k_tokens": 4.4e-07, + "input_cost_per_token_priority": 5.5e-07, "litellm_provider": "azure", "max_input_tokens": 1050000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", - "output_cost_per_token": 6.6e-06, - "output_cost_per_token_above_272k_tokens": 9.9e-06, - "output_cost_per_token_priority": 1.65e-05, + "output_cost_per_token": 1.32e-06, + "output_cost_per_token_above_272k_tokens": 1.98e-06, + "output_cost_per_token_priority": 3.3e-06, "supported_endpoints": [ "/v1/chat/completions", "/v1/batch", diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index 346f613ea3e..f07f245433d 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -6425,23 +6425,23 @@ "supports_minimal_reasoning_effort": false }, "azure/gpt-5.6-terra": { - "cache_read_input_token_cost": 2.5e-07, - "cache_read_input_token_cost_above_272k_tokens": 5e-07, - "cache_read_input_token_cost_priority": 5e-07, - "cache_read_input_token_cost_above_272k_tokens_priority": 1e-06, - "input_cost_per_token": 2.5e-06, - "input_cost_per_token_above_272k_tokens": 5e-06, - "input_cost_per_token_priority": 5e-06, - "input_cost_per_token_above_272k_tokens_priority": 1e-05, + "cache_read_input_token_cost": 2e-07, + "cache_read_input_token_cost_above_272k_tokens": 4e-07, + "cache_read_input_token_cost_priority": 4e-07, + "cache_read_input_token_cost_above_272k_tokens_priority": 8e-07, + "input_cost_per_token": 2e-06, + "input_cost_per_token_above_272k_tokens": 4e-06, + "input_cost_per_token_priority": 4e-06, + "input_cost_per_token_above_272k_tokens_priority": 8e-06, "litellm_provider": "azure", "max_input_tokens": 1050000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", - "output_cost_per_token": 1.5e-05, - "output_cost_per_token_above_272k_tokens": 2.25e-05, - "output_cost_per_token_priority": 3e-05, - "output_cost_per_token_above_272k_tokens_priority": 4.5e-05, + "output_cost_per_token": 1.2e-05, + "output_cost_per_token_above_272k_tokens": 1.8e-05, + "output_cost_per_token_priority": 2.4e-05, + "output_cost_per_token_above_272k_tokens_priority": 3.6e-05, "supported_endpoints": [ "/v1/chat/completions", "/v1/batch", @@ -6470,23 +6470,23 @@ "supports_minimal_reasoning_effort": false }, "azure/gpt-5.6-luna": { - "cache_read_input_token_cost": 1e-07, - "cache_read_input_token_cost_above_272k_tokens": 2e-07, - "cache_read_input_token_cost_priority": 2e-07, - "cache_read_input_token_cost_above_272k_tokens_priority": 4e-07, - "input_cost_per_token": 1e-06, - "input_cost_per_token_above_272k_tokens": 2e-06, - "input_cost_per_token_priority": 2e-06, - "input_cost_per_token_above_272k_tokens_priority": 4e-06, + "cache_read_input_token_cost": 2e-08, + "cache_read_input_token_cost_above_272k_tokens": 4e-08, + "cache_read_input_token_cost_priority": 4e-08, + "cache_read_input_token_cost_above_272k_tokens_priority": 8e-08, + "input_cost_per_token": 2e-07, + "input_cost_per_token_above_272k_tokens": 4e-07, + "input_cost_per_token_priority": 4e-07, + "input_cost_per_token_above_272k_tokens_priority": 8e-07, "litellm_provider": "azure", "max_input_tokens": 1050000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", - "output_cost_per_token": 6e-06, - "output_cost_per_token_above_272k_tokens": 9e-06, - "output_cost_per_token_priority": 1.2e-05, - "output_cost_per_token_above_272k_tokens_priority": 1.8e-05, + "output_cost_per_token": 1.2e-06, + "output_cost_per_token_above_272k_tokens": 1.8e-06, + "output_cost_per_token_priority": 2.4e-06, + "output_cost_per_token_above_272k_tokens_priority": 3.6e-06, "supported_endpoints": [ "/v1/chat/completions", "/v1/batch", @@ -6599,20 +6599,20 @@ "supports_minimal_reasoning_effort": false }, "azure/us/gpt-5.6-terra": { - "cache_read_input_token_cost": 2.75e-07, - "cache_read_input_token_cost_above_272k_tokens": 5.5e-07, - "cache_read_input_token_cost_priority": 6.875e-07, - "input_cost_per_token": 2.75e-06, - "input_cost_per_token_above_272k_tokens": 5.5e-06, - "input_cost_per_token_priority": 6.875e-06, + "cache_read_input_token_cost": 2.2e-07, + "cache_read_input_token_cost_above_272k_tokens": 4.4e-07, + "cache_read_input_token_cost_priority": 5.5e-07, + "input_cost_per_token": 2.2e-06, + "input_cost_per_token_above_272k_tokens": 4.4e-06, + "input_cost_per_token_priority": 5.5e-06, "litellm_provider": "azure", "max_input_tokens": 1050000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", - "output_cost_per_token": 1.65e-05, - "output_cost_per_token_above_272k_tokens": 2.475e-05, - "output_cost_per_token_priority": 4.125e-05, + "output_cost_per_token": 1.32e-05, + "output_cost_per_token_above_272k_tokens": 1.98e-05, + "output_cost_per_token_priority": 3.3e-05, "supported_endpoints": [ "/v1/chat/completions", "/v1/batch", @@ -6641,20 +6641,20 @@ "supports_minimal_reasoning_effort": false }, "azure/us/gpt-5.6-luna": { - "cache_read_input_token_cost": 1.1e-07, - "cache_read_input_token_cost_above_272k_tokens": 2.2e-07, - "cache_read_input_token_cost_priority": 2.75e-07, - "input_cost_per_token": 1.1e-06, - "input_cost_per_token_above_272k_tokens": 2.2e-06, - "input_cost_per_token_priority": 2.75e-06, + "cache_read_input_token_cost": 2.2e-08, + "cache_read_input_token_cost_above_272k_tokens": 4.4e-08, + "cache_read_input_token_cost_priority": 5.5e-08, + "input_cost_per_token": 2.2e-07, + "input_cost_per_token_above_272k_tokens": 4.4e-07, + "input_cost_per_token_priority": 5.5e-07, "litellm_provider": "azure", "max_input_tokens": 1050000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", - "output_cost_per_token": 6.6e-06, - "output_cost_per_token_above_272k_tokens": 9.9e-06, - "output_cost_per_token_priority": 1.65e-05, + "output_cost_per_token": 1.32e-06, + "output_cost_per_token_above_272k_tokens": 1.98e-06, + "output_cost_per_token_priority": 3.3e-06, "supported_endpoints": [ "/v1/chat/completions", "/v1/batch", @@ -6767,20 +6767,20 @@ "supports_minimal_reasoning_effort": false }, "azure/eu/gpt-5.6-terra": { - "cache_read_input_token_cost": 2.75e-07, - "cache_read_input_token_cost_above_272k_tokens": 5.5e-07, - "cache_read_input_token_cost_priority": 6.875e-07, - "input_cost_per_token": 2.75e-06, - "input_cost_per_token_above_272k_tokens": 5.5e-06, - "input_cost_per_token_priority": 6.875e-06, + "cache_read_input_token_cost": 2.2e-07, + "cache_read_input_token_cost_above_272k_tokens": 4.4e-07, + "cache_read_input_token_cost_priority": 5.5e-07, + "input_cost_per_token": 2.2e-06, + "input_cost_per_token_above_272k_tokens": 4.4e-06, + "input_cost_per_token_priority": 5.5e-06, "litellm_provider": "azure", "max_input_tokens": 1050000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", - "output_cost_per_token": 1.65e-05, - "output_cost_per_token_above_272k_tokens": 2.475e-05, - "output_cost_per_token_priority": 4.125e-05, + "output_cost_per_token": 1.32e-05, + "output_cost_per_token_above_272k_tokens": 1.98e-05, + "output_cost_per_token_priority": 3.3e-05, "supported_endpoints": [ "/v1/chat/completions", "/v1/batch", @@ -6809,20 +6809,20 @@ "supports_minimal_reasoning_effort": false }, "azure/eu/gpt-5.6-luna": { - "cache_read_input_token_cost": 1.1e-07, - "cache_read_input_token_cost_above_272k_tokens": 2.2e-07, - "cache_read_input_token_cost_priority": 2.75e-07, - "input_cost_per_token": 1.1e-06, - "input_cost_per_token_above_272k_tokens": 2.2e-06, - "input_cost_per_token_priority": 2.75e-06, + "cache_read_input_token_cost": 2.2e-08, + "cache_read_input_token_cost_above_272k_tokens": 4.4e-08, + "cache_read_input_token_cost_priority": 5.5e-08, + "input_cost_per_token": 2.2e-07, + "input_cost_per_token_above_272k_tokens": 4.4e-07, + "input_cost_per_token_priority": 5.5e-07, "litellm_provider": "azure", "max_input_tokens": 1050000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", - "output_cost_per_token": 6.6e-06, - "output_cost_per_token_above_272k_tokens": 9.9e-06, - "output_cost_per_token_priority": 1.65e-05, + "output_cost_per_token": 1.32e-06, + "output_cost_per_token_above_272k_tokens": 1.98e-06, + "output_cost_per_token_priority": 3.3e-06, "supported_endpoints": [ "/v1/chat/completions", "/v1/batch", diff --git a/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_llm_cost_calc_utils.py b/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_llm_cost_calc_utils.py index fbdf9b64bc0..9145e5dc76d 100644 --- a/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_llm_cost_calc_utils.py +++ b/tests/test_litellm/litellm_core_utils/llm_cost_calc/test_llm_cost_calc_utils.py @@ -757,11 +757,11 @@ def test_generic_cost_per_token_gpt56_terra_cache_costs_by_tier_and_context( [ ("azure/gpt-5.6", 5e-6, 3e-5, 5e-7), ("azure/gpt-5.6-sol", 5e-6, 3e-5, 5e-7), - ("azure/gpt-5.6-terra", 2.5e-6, 1.5e-5, 2.5e-7), - ("azure/gpt-5.6-luna", 1e-6, 6e-6, 1e-7), + ("azure/gpt-5.6-terra", 2e-6, 1.2e-5, 2e-7), + ("azure/gpt-5.6-luna", 2e-7, 1.2e-6, 2e-8), ("azure/us/gpt-5.6", 5.5e-6, 3.3e-5, 5.5e-7), - ("azure/eu/gpt-5.6-terra", 2.75e-6, 1.65e-5, 2.75e-7), - ("azure/eu/gpt-5.6-luna", 1.1e-6, 6.6e-6, 1.1e-7), + ("azure/eu/gpt-5.6-terra", 2.2e-6, 1.32e-5, 2.2e-7), + ("azure/eu/gpt-5.6-luna", 2.2e-7, 1.32e-6, 2.2e-8), ], ) def test_generic_cost_per_token_azure_gpt56(