Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions litellm/model_prices_and_context_window_backup.json
Original file line number Diff line number Diff line change
Expand Up @@ -6501,6 +6501,7 @@
"supports_web_search": true
},
"azure/gpt-5.6": {
"cache_creation_input_token_cost": 6.25e-06,
"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,
Expand Down Expand Up @@ -6551,6 +6552,7 @@
"supports_minimal_reasoning_effort": false
},
"azure/gpt-5.6-sol": {
"cache_creation_input_token_cost": 6.25e-06,
"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,
Expand Down Expand Up @@ -6602,6 +6604,7 @@
"supports_minimal_reasoning_effort": false
},
"azure/gpt-5.6-terra": {
"cache_creation_input_token_cost": 2.5e-06,
"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,
Expand Down Expand Up @@ -6653,6 +6656,7 @@
"supports_minimal_reasoning_effort": false
},
"azure/gpt-5.6-luna": {
"cache_creation_input_token_cost": 2.5e-07,
"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,
Expand Down Expand Up @@ -6704,6 +6708,7 @@
"supports_minimal_reasoning_effort": false
},
"azure/us/gpt-5.6": {
"cache_creation_input_token_cost": 6.875e-06,
"cache_read_input_token_cost": 5.5e-07,
"cache_read_input_token_cost_above_272k_tokens": 1.1e-06,
"cache_read_input_token_cost_priority": 1.375e-06,
Expand Down Expand Up @@ -6751,6 +6756,7 @@
"supports_minimal_reasoning_effort": false
},
"azure/us/gpt-5.6-sol": {
"cache_creation_input_token_cost": 6.875e-06,
"cache_read_input_token_cost": 5.5e-07,
"cache_read_input_token_cost_above_272k_tokens": 1.1e-06,
"cache_read_input_token_cost_priority": 1.375e-06,
Expand Down Expand Up @@ -6799,6 +6805,7 @@
"supports_minimal_reasoning_effort": false
},
"azure/us/gpt-5.6-terra": {
"cache_creation_input_token_cost": 2.75e-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,
Expand Down Expand Up @@ -6847,6 +6854,7 @@
"supports_minimal_reasoning_effort": false
},
"azure/us/gpt-5.6-luna": {
"cache_creation_input_token_cost": 2.75e-07,
"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,
Expand Down Expand Up @@ -6895,6 +6903,7 @@
"supports_minimal_reasoning_effort": false
},
"azure/eu/gpt-5.6": {
"cache_creation_input_token_cost": 6.875e-06,
"cache_read_input_token_cost": 5.5e-07,
"cache_read_input_token_cost_above_272k_tokens": 1.1e-06,
"cache_read_input_token_cost_priority": 1.375e-06,
Expand Down Expand Up @@ -6942,6 +6951,7 @@
"supports_minimal_reasoning_effort": false
},
"azure/eu/gpt-5.6-sol": {
"cache_creation_input_token_cost": 6.875e-06,
"cache_read_input_token_cost": 5.5e-07,
"cache_read_input_token_cost_above_272k_tokens": 1.1e-06,
"cache_read_input_token_cost_priority": 1.375e-06,
Expand Down Expand Up @@ -6990,6 +7000,7 @@
"supports_minimal_reasoning_effort": false
},
"azure/eu/gpt-5.6-terra": {
"cache_creation_input_token_cost": 2.75e-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,
Expand Down Expand Up @@ -7038,6 +7049,7 @@
"supports_minimal_reasoning_effort": false
},
"azure/eu/gpt-5.6-luna": {
"cache_creation_input_token_cost": 2.75e-07,
"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,
Expand Down
12 changes: 12 additions & 0 deletions model_prices_and_context_window.json
Original file line number Diff line number Diff line change
Expand Up @@ -6501,6 +6501,7 @@
"supports_web_search": true
},
"azure/gpt-5.6": {
"cache_creation_input_token_cost": 6.25e-06,
"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,
Expand Down Expand Up @@ -6551,6 +6552,7 @@
"supports_minimal_reasoning_effort": false
},
"azure/gpt-5.6-sol": {
"cache_creation_input_token_cost": 6.25e-06,
"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,
Expand Down Expand Up @@ -6602,6 +6604,7 @@
"supports_minimal_reasoning_effort": false
},
"azure/gpt-5.6-terra": {
"cache_creation_input_token_cost": 2.5e-06,
"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,
Expand Down Expand Up @@ -6653,6 +6656,7 @@
"supports_minimal_reasoning_effort": false
},
"azure/gpt-5.6-luna": {
"cache_creation_input_token_cost": 2.5e-07,
"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,
Expand Down Expand Up @@ -6704,6 +6708,7 @@
"supports_minimal_reasoning_effort": false
},
"azure/us/gpt-5.6": {
"cache_creation_input_token_cost": 6.875e-06,
"cache_read_input_token_cost": 5.5e-07,
"cache_read_input_token_cost_above_272k_tokens": 1.1e-06,
"cache_read_input_token_cost_priority": 1.375e-06,
Expand Down Expand Up @@ -6751,6 +6756,7 @@
"supports_minimal_reasoning_effort": false
},
"azure/us/gpt-5.6-sol": {
"cache_creation_input_token_cost": 6.875e-06,
"cache_read_input_token_cost": 5.5e-07,
"cache_read_input_token_cost_above_272k_tokens": 1.1e-06,
"cache_read_input_token_cost_priority": 1.375e-06,
Expand Down Expand Up @@ -6799,6 +6805,7 @@
"supports_minimal_reasoning_effort": false
},
"azure/us/gpt-5.6-terra": {
"cache_creation_input_token_cost": 2.75e-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,
Expand Down Expand Up @@ -6847,6 +6854,7 @@
"supports_minimal_reasoning_effort": false
},
"azure/us/gpt-5.6-luna": {
"cache_creation_input_token_cost": 2.75e-07,
"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,
Expand Down Expand Up @@ -6895,6 +6903,7 @@
"supports_minimal_reasoning_effort": false
},
"azure/eu/gpt-5.6": {
"cache_creation_input_token_cost": 6.875e-06,
"cache_read_input_token_cost": 5.5e-07,
"cache_read_input_token_cost_above_272k_tokens": 1.1e-06,
"cache_read_input_token_cost_priority": 1.375e-06,
Expand Down Expand Up @@ -6942,6 +6951,7 @@
"supports_minimal_reasoning_effort": false
},
"azure/eu/gpt-5.6-sol": {
"cache_creation_input_token_cost": 6.875e-06,
"cache_read_input_token_cost": 5.5e-07,
"cache_read_input_token_cost_above_272k_tokens": 1.1e-06,
"cache_read_input_token_cost_priority": 1.375e-06,
Expand Down Expand Up @@ -6990,6 +7000,7 @@
"supports_minimal_reasoning_effort": false
},
"azure/eu/gpt-5.6-terra": {
"cache_creation_input_token_cost": 2.75e-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,
Expand Down Expand Up @@ -7038,6 +7049,7 @@
"supports_minimal_reasoning_effort": false
},
"azure/eu/gpt-5.6-luna": {
"cache_creation_input_token_cost": 2.75e-07,
"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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1057,19 +1057,24 @@ def test_generic_cost_per_token_gpt56_terra_cache_costs_by_tier_and_context(


@pytest.mark.parametrize(
"model,input_cost,output_cost,cache_read_cost",
"model,input_cost,output_cost,cache_write_cost,cache_read_cost",
[
("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", 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.2e-6, 1.32e-5, 2.2e-7),
("azure/eu/gpt-5.6-luna", 2.2e-7, 1.32e-6, 2.2e-8),
("azure/gpt-5.6", 5e-6, 3e-5, 6.25e-6, 5e-7),
("azure/gpt-5.6-sol", 5e-6, 3e-5, 6.25e-6, 5e-7),
("azure/gpt-5.6-terra", 2e-6, 1.2e-5, 2.5e-6, 2e-7),
("azure/gpt-5.6-luna", 2e-7, 1.2e-6, 2.5e-7, 2e-8),
("azure/us/gpt-5.6", 5.5e-6, 3.3e-5, 6.875e-6, 5.5e-7),
("azure/us/gpt-5.6-sol", 5.5e-6, 3.3e-5, 6.875e-6, 5.5e-7),
("azure/us/gpt-5.6-terra", 2.2e-6, 1.32e-5, 2.75e-6, 2.2e-7),
("azure/us/gpt-5.6-luna", 2.2e-7, 1.32e-6, 2.75e-7, 2.2e-8),
("azure/eu/gpt-5.6", 5.5e-6, 3.3e-5, 6.875e-6, 5.5e-7),
("azure/eu/gpt-5.6-sol", 5.5e-6, 3.3e-5, 6.875e-6, 5.5e-7),
("azure/eu/gpt-5.6-terra", 2.2e-6, 1.32e-5, 2.75e-6, 2.2e-7),
("azure/eu/gpt-5.6-luna", 2.2e-7, 1.32e-6, 2.75e-7, 2.2e-8),
],
)
def test_generic_cost_per_token_azure_gpt56(
model, input_cost, output_cost, cache_read_cost
model, input_cost, output_cost, cache_write_cost, cache_read_cost
):
"""Azure gpt-5.6 (global + us/eu regional): pricing mirrors the openai
family for global deployments and carries the standard 10% regional uplift.
Expand All @@ -1081,22 +1086,31 @@ def test_generic_cost_per_token_azure_gpt56(
assert model_cost_map["litellm_provider"] == "azure"
assert model_cost_map["input_cost_per_token"] == input_cost
assert model_cost_map["output_cost_per_token"] == output_cost
assert model_cost_map["cache_creation_input_token_cost"] == cache_write_cost
assert model_cost_map["cache_read_input_token_cost"] == cache_read_cost

prompt_tokens = 1000
completion_tokens = 500
cache_write_tokens = 800
usage = Usage(
prompt_tokens=prompt_tokens,
completion_tokens=completion_tokens,
total_tokens=prompt_tokens + completion_tokens,
prompt_tokens_details=PromptTokensDetailsWrapper(
cache_write_tokens=cache_write_tokens
),
)
prompt_cost, completion_cost = generic_cost_per_token(
model=model,
usage=usage,
custom_llm_provider="azure",
)
assert round(prompt_cost, 10) == round(input_cost * prompt_tokens, 10)
assert round(completion_cost, 10) == round(output_cost * completion_tokens, 10)
expected_prompt_cost = (
(prompt_tokens - cache_write_tokens) * input_cost
+ cache_write_tokens * cache_write_cost
)
assert prompt_cost == pytest.approx(expected_prompt_cost)
assert completion_cost == pytest.approx(output_cost * completion_tokens)


@pytest.mark.parametrize(
Expand Down
Loading