From 384cfdad47ed318b254102dd41c61ebf304a3bfa Mon Sep 17 00:00:00 2001 From: Chesars Date: Sat, 25 Apr 2026 15:04:05 -0300 Subject: [PATCH] Revert "Merge pull request #24164 from dongyu-turo/feat/update-bedrock-claude-price-above-200k" This reverts commit b8189ea1de1751ba14f797145e5809e852e96ff7, reversing changes made to 19c8f3d565a877f438deb90f8785d18ad5923ffa. --- ...odel_prices_and_context_window_backup.json | 179 ++++++++++-------- model_prices_and_context_window.json | 156 +++++++-------- .../test_claude_opus_4_6_config.py | 59 ++---- .../test_claude_sonnet_4_6_config.py | 161 ---------------- 4 files changed, 195 insertions(+), 360 deletions(-) delete mode 100644 tests/test_litellm/test_claude_sonnet_4_6_config.py diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index cee2c1fae0..c53ee943c5 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -971,18 +971,18 @@ }, "anthropic.claude-opus-4-6-v1": { "cache_creation_input_token_cost": 6.25e-06, - "cache_creation_input_token_cost_above_200k_tokens": 6.25e-06, + "cache_creation_input_token_cost_above_200k_tokens": 1.25e-05, "cache_read_input_token_cost": 5e-07, - "cache_read_input_token_cost_above_200k_tokens": 5e-07, + "cache_read_input_token_cost_above_200k_tokens": 1e-06, "input_cost_per_token": 5e-06, - "input_cost_per_token_above_200k_tokens": 5e-06, + "input_cost_per_token_above_200k_tokens": 1e-05, "litellm_provider": "bedrock_converse", "max_input_tokens": 1000000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 2.5e-05, - "output_cost_per_token_above_200k_tokens": 2.5e-05, + "output_cost_per_token_above_200k_tokens": 3.75e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -1001,18 +1001,18 @@ }, "global.anthropic.claude-opus-4-6-v1": { "cache_creation_input_token_cost": 6.25e-06, - "cache_creation_input_token_cost_above_200k_tokens": 6.25e-06, + "cache_creation_input_token_cost_above_200k_tokens": 1.25e-05, "cache_read_input_token_cost": 5e-07, - "cache_read_input_token_cost_above_200k_tokens": 5e-07, + "cache_read_input_token_cost_above_200k_tokens": 1e-06, "input_cost_per_token": 5e-06, - "input_cost_per_token_above_200k_tokens": 5e-06, + "input_cost_per_token_above_200k_tokens": 1e-05, "litellm_provider": "bedrock_converse", "max_input_tokens": 1000000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 2.5e-05, - "output_cost_per_token_above_200k_tokens": 2.5e-05, + "output_cost_per_token_above_200k_tokens": 3.75e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -1031,18 +1031,18 @@ }, "us.anthropic.claude-opus-4-6-v1": { "cache_creation_input_token_cost": 6.875e-06, - "cache_creation_input_token_cost_above_200k_tokens": 6.875e-06, + "cache_creation_input_token_cost_above_200k_tokens": 1.375e-05, "cache_read_input_token_cost": 5.5e-07, - "cache_read_input_token_cost_above_200k_tokens": 5.5e-07, + "cache_read_input_token_cost_above_200k_tokens": 1.1e-06, "input_cost_per_token": 5.5e-06, - "input_cost_per_token_above_200k_tokens": 5.5e-06, + "input_cost_per_token_above_200k_tokens": 1.1e-05, "litellm_provider": "bedrock_converse", "max_input_tokens": 1000000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 2.75e-05, - "output_cost_per_token_above_200k_tokens": 2.75e-05, + "output_cost_per_token_above_200k_tokens": 4.125e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -1061,18 +1061,18 @@ }, "eu.anthropic.claude-opus-4-6-v1": { "cache_creation_input_token_cost": 6.875e-06, - "cache_creation_input_token_cost_above_200k_tokens": 6.875e-06, + "cache_creation_input_token_cost_above_200k_tokens": 1.375e-05, "cache_read_input_token_cost": 5.5e-07, - "cache_read_input_token_cost_above_200k_tokens": 5.5e-07, + "cache_read_input_token_cost_above_200k_tokens": 1.1e-06, "input_cost_per_token": 5.5e-06, - "input_cost_per_token_above_200k_tokens": 5.5e-06, + "input_cost_per_token_above_200k_tokens": 1.1e-05, "litellm_provider": "bedrock_converse", "max_input_tokens": 1000000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 2.75e-05, - "output_cost_per_token_above_200k_tokens": 2.75e-05, + "output_cost_per_token_above_200k_tokens": 4.125e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -1091,18 +1091,18 @@ }, "au.anthropic.claude-opus-4-6-v1": { "cache_creation_input_token_cost": 6.875e-06, - "cache_creation_input_token_cost_above_200k_tokens": 6.875e-06, + "cache_creation_input_token_cost_above_200k_tokens": 1.375e-05, "cache_read_input_token_cost": 5.5e-07, - "cache_read_input_token_cost_above_200k_tokens": 5.5e-07, + "cache_read_input_token_cost_above_200k_tokens": 1.1e-06, "input_cost_per_token": 5.5e-06, - "input_cost_per_token_above_200k_tokens": 5.5e-06, + "input_cost_per_token_above_200k_tokens": 1.1e-05, "litellm_provider": "bedrock_converse", "max_input_tokens": 1000000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 2.75e-05, - "output_cost_per_token_above_200k_tokens": 2.75e-05, + "output_cost_per_token_above_200k_tokens": 4.125e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -1121,18 +1121,18 @@ }, "anthropic.claude-sonnet-4-6": { "cache_creation_input_token_cost": 3.75e-06, - "cache_creation_input_token_cost_above_200k_tokens": 3.75e-06, + "cache_creation_input_token_cost_above_200k_tokens": 7.5e-06, "cache_read_input_token_cost": 3e-07, - "cache_read_input_token_cost_above_200k_tokens": 3e-07, + "cache_read_input_token_cost_above_200k_tokens": 6e-07, "input_cost_per_token": 3e-06, - "input_cost_per_token_above_200k_tokens": 3e-06, + "input_cost_per_token_above_200k_tokens": 6e-06, "litellm_provider": "bedrock_converse", - "max_input_tokens": 1000000, + "max_input_tokens": 200000, "max_output_tokens": 64000, "max_tokens": 64000, "mode": "chat", "output_cost_per_token": 1.5e-05, - "output_cost_per_token_above_200k_tokens": 1.5e-05, + "output_cost_per_token_above_200k_tokens": 2.25e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -1151,18 +1151,18 @@ }, "global.anthropic.claude-sonnet-4-6": { "cache_creation_input_token_cost": 3.75e-06, - "cache_creation_input_token_cost_above_200k_tokens": 3.75e-06, + "cache_creation_input_token_cost_above_200k_tokens": 7.5e-06, "cache_read_input_token_cost": 3e-07, - "cache_read_input_token_cost_above_200k_tokens": 3e-07, + "cache_read_input_token_cost_above_200k_tokens": 6e-07, "input_cost_per_token": 3e-06, - "input_cost_per_token_above_200k_tokens": 3e-06, + "input_cost_per_token_above_200k_tokens": 6e-06, "litellm_provider": "bedrock_converse", - "max_input_tokens": 1000000, + "max_input_tokens": 200000, "max_output_tokens": 64000, "max_tokens": 64000, "mode": "chat", "output_cost_per_token": 1.5e-05, - "output_cost_per_token_above_200k_tokens": 1.5e-05, + "output_cost_per_token_above_200k_tokens": 2.25e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -1181,18 +1181,18 @@ }, "us.anthropic.claude-sonnet-4-6": { "cache_creation_input_token_cost": 4.125e-06, - "cache_creation_input_token_cost_above_200k_tokens": 4.125e-06, + "cache_creation_input_token_cost_above_200k_tokens": 8.25e-06, "cache_read_input_token_cost": 3.3e-07, - "cache_read_input_token_cost_above_200k_tokens": 3.3e-07, + "cache_read_input_token_cost_above_200k_tokens": 6.6e-07, "input_cost_per_token": 3.3e-06, - "input_cost_per_token_above_200k_tokens": 3.3e-06, + "input_cost_per_token_above_200k_tokens": 6.6e-06, "litellm_provider": "bedrock_converse", - "max_input_tokens": 1000000, + "max_input_tokens": 200000, "max_output_tokens": 64000, "max_tokens": 64000, "mode": "chat", "output_cost_per_token": 1.65e-05, - "output_cost_per_token_above_200k_tokens": 1.65e-05, + "output_cost_per_token_above_200k_tokens": 2.475e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -1211,18 +1211,18 @@ }, "eu.anthropic.claude-sonnet-4-6": { "cache_creation_input_token_cost": 4.125e-06, - "cache_creation_input_token_cost_above_200k_tokens": 4.125e-06, + "cache_creation_input_token_cost_above_200k_tokens": 8.25e-06, "cache_read_input_token_cost": 3.3e-07, - "cache_read_input_token_cost_above_200k_tokens": 3.3e-07, + "cache_read_input_token_cost_above_200k_tokens": 6.6e-07, "input_cost_per_token": 3.3e-06, - "input_cost_per_token_above_200k_tokens": 3.3e-06, + "input_cost_per_token_above_200k_tokens": 6.6e-06, "litellm_provider": "bedrock_converse", - "max_input_tokens": 1000000, + "max_input_tokens": 200000, "max_output_tokens": 64000, "max_tokens": 64000, "mode": "chat", "output_cost_per_token": 1.65e-05, - "output_cost_per_token_above_200k_tokens": 1.65e-05, + "output_cost_per_token_above_200k_tokens": 2.475e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -1241,18 +1241,18 @@ }, "au.anthropic.claude-sonnet-4-6": { "cache_creation_input_token_cost": 4.125e-06, - "cache_creation_input_token_cost_above_200k_tokens": 4.125e-06, + "cache_creation_input_token_cost_above_200k_tokens": 8.25e-06, "cache_read_input_token_cost": 3.3e-07, - "cache_read_input_token_cost_above_200k_tokens": 3.3e-07, + "cache_read_input_token_cost_above_200k_tokens": 6.6e-07, "input_cost_per_token": 3.3e-06, - "input_cost_per_token_above_200k_tokens": 3.3e-06, + "input_cost_per_token_above_200k_tokens": 6.6e-06, "litellm_provider": "bedrock_converse", - "max_input_tokens": 1000000, + "max_input_tokens": 200000, "max_output_tokens": 64000, "max_tokens": 64000, "mode": "chat", "output_cost_per_token": 1.65e-05, - "output_cost_per_token_above_200k_tokens": 1.65e-05, + "output_cost_per_token_above_200k_tokens": 2.475e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -1760,7 +1760,7 @@ "input_cost_per_token": 5e-06, "output_cost_per_token": 2.5e-05, "litellm_provider": "azure_ai", - "max_input_tokens": 1000000, + "max_input_tokens": 200000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", @@ -1831,7 +1831,7 @@ "cache_read_input_token_cost": 3e-07, "input_cost_per_token": 3e-06, "litellm_provider": "azure_ai", - "max_input_tokens": 1000000, + "max_input_tokens": 200000, "max_output_tokens": 64000, "max_tokens": 64000, "mode": "chat", @@ -8503,18 +8503,18 @@ }, "claude-sonnet-4-6": { "cache_creation_input_token_cost": 3.75e-06, - "cache_creation_input_token_cost_above_200k_tokens": 3.75e-06, + "cache_creation_input_token_cost_above_200k_tokens": 7.5e-06, "cache_read_input_token_cost": 3e-07, - "cache_read_input_token_cost_above_200k_tokens": 3e-07, + "cache_read_input_token_cost_above_200k_tokens": 6e-07, "input_cost_per_token": 3e-06, - "input_cost_per_token_above_200k_tokens": 3e-06, + "input_cost_per_token_above_200k_tokens": 6e-06, "litellm_provider": "anthropic", - "max_input_tokens": 1000000, + "max_input_tokens": 200000, "max_output_tokens": 64000, "max_tokens": 64000, "mode": "chat", "output_cost_per_token": 1.5e-05, - "output_cost_per_token_above_200k_tokens": 1.5e-05, + "output_cost_per_token_above_200k_tokens": 2.25e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -8695,19 +8695,19 @@ }, "claude-opus-4-6": { "cache_creation_input_token_cost": 6.25e-06, - "cache_creation_input_token_cost_above_200k_tokens": 6.25e-06, + "cache_creation_input_token_cost_above_200k_tokens": 1.25e-05, "cache_creation_input_token_cost_above_1hr": 1e-05, "cache_read_input_token_cost": 5e-07, - "cache_read_input_token_cost_above_200k_tokens": 5e-07, + "cache_read_input_token_cost_above_200k_tokens": 1e-06, "input_cost_per_token": 5e-06, - "input_cost_per_token_above_200k_tokens": 5e-06, + "input_cost_per_token_above_200k_tokens": 1e-05, "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_above_200k_tokens": 2.5e-05, + "output_cost_per_token_above_200k_tokens": 3.75e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -8730,19 +8730,19 @@ }, "claude-opus-4-6-20260205": { "cache_creation_input_token_cost": 6.25e-06, - "cache_creation_input_token_cost_above_200k_tokens": 6.25e-06, + "cache_creation_input_token_cost_above_200k_tokens": 1.25e-05, "cache_creation_input_token_cost_above_1hr": 1e-05, "cache_read_input_token_cost": 5e-07, - "cache_read_input_token_cost_above_200k_tokens": 5e-07, + "cache_read_input_token_cost_above_200k_tokens": 1e-06, "input_cost_per_token": 5e-06, - "input_cost_per_token_above_200k_tokens": 5e-06, + "input_cost_per_token_above_200k_tokens": 1e-05, "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_above_200k_tokens": 2.5e-05, + "output_cost_per_token_above_200k_tokens": 3.75e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -14604,14 +14604,17 @@ "uses_embed_content": true }, "vertex_ai/gemini-embedding-2-preview": { - "input_cost_per_token": 1.5e-07, + "input_cost_per_audio_per_second": 0.00016, + "input_cost_per_image": 0.00012, + "input_cost_per_token": 2e-07, + "input_cost_per_video_per_second": 0.00079, "litellm_provider": "vertex_ai", "max_input_tokens": 8192, "max_tokens": 8192, "mode": "embedding", "output_cost_per_token": 0, "output_vector_size": 3072, - "source": "https://ai.google.dev/gemini-api/docs/embeddings#multimodal", + "source": "https://cloud.google.com/vertex-ai/generative-ai/pricing", "supports_multimodal": true, "uses_embed_content": true }, @@ -14628,6 +14631,18 @@ "source": "https://cloud.google.com/vertex-ai/generative-ai/pricing", "uses_embed_content": true }, + "vertex_ai/gemini-embedding-2-preview": { + "input_cost_per_token": 1.5e-07, + "litellm_provider": "vertex_ai", + "max_input_tokens": 8192, + "max_tokens": 8192, + "mode": "embedding", + "output_cost_per_token": 0, + "output_vector_size": 3072, + "source": "https://ai.google.dev/gemini-api/docs/embeddings#multimodal", + "supports_multimodal": true, + "uses_embed_content": true + }, "gemini/gemini-embedding-001": { "input_cost_per_token": 1.5e-07, "litellm_provider": "gemini", @@ -30308,18 +30323,18 @@ }, "vertex_ai/claude-opus-4-6": { "cache_creation_input_token_cost": 6.25e-06, - "cache_creation_input_token_cost_above_200k_tokens": 6.25e-06, + "cache_creation_input_token_cost_above_200k_tokens": 1.25e-05, "cache_read_input_token_cost": 5e-07, - "cache_read_input_token_cost_above_200k_tokens": 5e-07, + "cache_read_input_token_cost_above_200k_tokens": 1e-06, "input_cost_per_token": 5e-06, - "input_cost_per_token_above_200k_tokens": 5e-06, + "input_cost_per_token_above_200k_tokens": 1e-05, "litellm_provider": "vertex_ai-anthropic_models", "max_input_tokens": 1000000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 2.5e-05, - "output_cost_per_token_above_200k_tokens": 2.5e-05, + "output_cost_per_token_above_200k_tokens": 3.75e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -30338,18 +30353,18 @@ }, "vertex_ai/claude-opus-4-6@default": { "cache_creation_input_token_cost": 6.25e-06, - "cache_creation_input_token_cost_above_200k_tokens": 6.25e-06, + "cache_creation_input_token_cost_above_200k_tokens": 1.25e-05, "cache_read_input_token_cost": 5e-07, - "cache_read_input_token_cost_above_200k_tokens": 5e-07, + "cache_read_input_token_cost_above_200k_tokens": 1e-06, "input_cost_per_token": 5e-06, - "input_cost_per_token_above_200k_tokens": 5e-06, + "input_cost_per_token_above_200k_tokens": 1e-05, "litellm_provider": "vertex_ai-anthropic_models", "max_input_tokens": 1000000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 2.5e-05, - "output_cost_per_token_above_200k_tokens": 2.5e-05, + "output_cost_per_token_above_200k_tokens": 3.75e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -30394,18 +30409,18 @@ }, "vertex_ai/claude-sonnet-4-6": { "cache_creation_input_token_cost": 3.75e-06, - "cache_creation_input_token_cost_above_200k_tokens": 3.75e-06, + "cache_creation_input_token_cost_above_200k_tokens": 7.5e-06, "cache_read_input_token_cost": 3e-07, - "cache_read_input_token_cost_above_200k_tokens": 3e-07, + "cache_read_input_token_cost_above_200k_tokens": 6e-07, "input_cost_per_token": 3e-06, - "input_cost_per_token_above_200k_tokens": 3e-06, + "input_cost_per_token_above_200k_tokens": 6e-06, "litellm_provider": "vertex_ai-anthropic_models", - "max_input_tokens": 1000000, + "max_input_tokens": 200000, "max_output_tokens": 64000, "max_tokens": 64000, "mode": "chat", "output_cost_per_token": 1.5e-05, - "output_cost_per_token_above_200k_tokens": 1.5e-05, + "output_cost_per_token_above_200k_tokens": 2.25e-05, "supports_assistant_prefill": true, "supports_computer_use": true, "supports_function_calling": true, @@ -31132,9 +31147,7 @@ "mode": "chat", "output_cost_per_token": 3.2e-06, "source": "https://cloud.google.com/vertex-ai/generative-ai/pricing#glm-models", - "supported_regions": [ - "global" - ], + "supported_regions": ["global"], "supports_function_calling": true, "supports_prompt_caching": true, "supports_reasoning": true, @@ -37140,18 +37153,18 @@ }, "vertex_ai/claude-sonnet-4-6@default": { "cache_creation_input_token_cost": 3.75e-06, - "cache_creation_input_token_cost_above_200k_tokens": 3.75e-06, + "cache_creation_input_token_cost_above_200k_tokens": 7.5e-06, "cache_read_input_token_cost": 3e-07, - "cache_read_input_token_cost_above_200k_tokens": 3e-07, + "cache_read_input_token_cost_above_200k_tokens": 6e-07, "input_cost_per_token": 3e-06, - "input_cost_per_token_above_200k_tokens": 3e-06, + "input_cost_per_token_above_200k_tokens": 6e-06, "litellm_provider": "vertex_ai-anthropic_models", - "max_input_tokens": 1000000, + "max_input_tokens": 200000, "max_output_tokens": 64000, "max_tokens": 64000, "mode": "chat", "output_cost_per_token": 1.5e-05, - "output_cost_per_token_above_200k_tokens": 1.5e-05, + "output_cost_per_token_above_200k_tokens": 2.25e-05, "supports_assistant_prefill": true, "supports_computer_use": true, "supports_function_calling": true, diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index 012652fc73..1a0c872d17 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -971,18 +971,18 @@ }, "anthropic.claude-opus-4-6-v1": { "cache_creation_input_token_cost": 6.25e-06, - "cache_creation_input_token_cost_above_200k_tokens": 6.25e-06, + "cache_creation_input_token_cost_above_200k_tokens": 1.25e-05, "cache_read_input_token_cost": 5e-07, - "cache_read_input_token_cost_above_200k_tokens": 5e-07, + "cache_read_input_token_cost_above_200k_tokens": 1e-06, "input_cost_per_token": 5e-06, - "input_cost_per_token_above_200k_tokens": 5e-06, + "input_cost_per_token_above_200k_tokens": 1e-05, "litellm_provider": "bedrock_converse", "max_input_tokens": 1000000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 2.5e-05, - "output_cost_per_token_above_200k_tokens": 2.5e-05, + "output_cost_per_token_above_200k_tokens": 3.75e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -1001,18 +1001,18 @@ }, "global.anthropic.claude-opus-4-6-v1": { "cache_creation_input_token_cost": 6.25e-06, - "cache_creation_input_token_cost_above_200k_tokens": 6.25e-06, + "cache_creation_input_token_cost_above_200k_tokens": 1.25e-05, "cache_read_input_token_cost": 5e-07, - "cache_read_input_token_cost_above_200k_tokens": 5e-07, + "cache_read_input_token_cost_above_200k_tokens": 1e-06, "input_cost_per_token": 5e-06, - "input_cost_per_token_above_200k_tokens": 5e-06, + "input_cost_per_token_above_200k_tokens": 1e-05, "litellm_provider": "bedrock_converse", "max_input_tokens": 1000000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 2.5e-05, - "output_cost_per_token_above_200k_tokens": 2.5e-05, + "output_cost_per_token_above_200k_tokens": 3.75e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -1031,18 +1031,18 @@ }, "us.anthropic.claude-opus-4-6-v1": { "cache_creation_input_token_cost": 6.875e-06, - "cache_creation_input_token_cost_above_200k_tokens": 6.875e-06, + "cache_creation_input_token_cost_above_200k_tokens": 1.375e-05, "cache_read_input_token_cost": 5.5e-07, - "cache_read_input_token_cost_above_200k_tokens": 5.5e-07, + "cache_read_input_token_cost_above_200k_tokens": 1.1e-06, "input_cost_per_token": 5.5e-06, - "input_cost_per_token_above_200k_tokens": 5.5e-06, + "input_cost_per_token_above_200k_tokens": 1.1e-05, "litellm_provider": "bedrock_converse", "max_input_tokens": 1000000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 2.75e-05, - "output_cost_per_token_above_200k_tokens": 2.75e-05, + "output_cost_per_token_above_200k_tokens": 4.125e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -1061,18 +1061,18 @@ }, "eu.anthropic.claude-opus-4-6-v1": { "cache_creation_input_token_cost": 6.875e-06, - "cache_creation_input_token_cost_above_200k_tokens": 6.875e-06, + "cache_creation_input_token_cost_above_200k_tokens": 1.375e-05, "cache_read_input_token_cost": 5.5e-07, - "cache_read_input_token_cost_above_200k_tokens": 5.5e-07, + "cache_read_input_token_cost_above_200k_tokens": 1.1e-06, "input_cost_per_token": 5.5e-06, - "input_cost_per_token_above_200k_tokens": 5.5e-06, + "input_cost_per_token_above_200k_tokens": 1.1e-05, "litellm_provider": "bedrock_converse", "max_input_tokens": 1000000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 2.75e-05, - "output_cost_per_token_above_200k_tokens": 2.75e-05, + "output_cost_per_token_above_200k_tokens": 4.125e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -1091,18 +1091,18 @@ }, "au.anthropic.claude-opus-4-6-v1": { "cache_creation_input_token_cost": 6.875e-06, - "cache_creation_input_token_cost_above_200k_tokens": 6.875e-06, + "cache_creation_input_token_cost_above_200k_tokens": 1.375e-05, "cache_read_input_token_cost": 5.5e-07, - "cache_read_input_token_cost_above_200k_tokens": 5.5e-07, + "cache_read_input_token_cost_above_200k_tokens": 1.1e-06, "input_cost_per_token": 5.5e-06, - "input_cost_per_token_above_200k_tokens": 5.5e-06, + "input_cost_per_token_above_200k_tokens": 1.1e-05, "litellm_provider": "bedrock_converse", "max_input_tokens": 1000000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 2.75e-05, - "output_cost_per_token_above_200k_tokens": 2.75e-05, + "output_cost_per_token_above_200k_tokens": 4.125e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -1121,18 +1121,18 @@ }, "anthropic.claude-sonnet-4-6": { "cache_creation_input_token_cost": 3.75e-06, - "cache_creation_input_token_cost_above_200k_tokens": 3.75e-06, + "cache_creation_input_token_cost_above_200k_tokens": 7.5e-06, "cache_read_input_token_cost": 3e-07, - "cache_read_input_token_cost_above_200k_tokens": 3e-07, + "cache_read_input_token_cost_above_200k_tokens": 6e-07, "input_cost_per_token": 3e-06, - "input_cost_per_token_above_200k_tokens": 3e-06, + "input_cost_per_token_above_200k_tokens": 6e-06, "litellm_provider": "bedrock_converse", - "max_input_tokens": 1000000, + "max_input_tokens": 200000, "max_output_tokens": 64000, "max_tokens": 64000, "mode": "chat", "output_cost_per_token": 1.5e-05, - "output_cost_per_token_above_200k_tokens": 1.5e-05, + "output_cost_per_token_above_200k_tokens": 2.25e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -1151,18 +1151,18 @@ }, "global.anthropic.claude-sonnet-4-6": { "cache_creation_input_token_cost": 3.75e-06, - "cache_creation_input_token_cost_above_200k_tokens": 3.75e-06, + "cache_creation_input_token_cost_above_200k_tokens": 7.5e-06, "cache_read_input_token_cost": 3e-07, - "cache_read_input_token_cost_above_200k_tokens": 3e-07, + "cache_read_input_token_cost_above_200k_tokens": 6e-07, "input_cost_per_token": 3e-06, - "input_cost_per_token_above_200k_tokens": 3e-06, + "input_cost_per_token_above_200k_tokens": 6e-06, "litellm_provider": "bedrock_converse", - "max_input_tokens": 1000000, + "max_input_tokens": 200000, "max_output_tokens": 64000, "max_tokens": 64000, "mode": "chat", "output_cost_per_token": 1.5e-05, - "output_cost_per_token_above_200k_tokens": 1.5e-05, + "output_cost_per_token_above_200k_tokens": 2.25e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -1181,18 +1181,18 @@ }, "us.anthropic.claude-sonnet-4-6": { "cache_creation_input_token_cost": 4.125e-06, - "cache_creation_input_token_cost_above_200k_tokens": 4.125e-06, + "cache_creation_input_token_cost_above_200k_tokens": 8.25e-06, "cache_read_input_token_cost": 3.3e-07, - "cache_read_input_token_cost_above_200k_tokens": 3.3e-07, + "cache_read_input_token_cost_above_200k_tokens": 6.6e-07, "input_cost_per_token": 3.3e-06, - "input_cost_per_token_above_200k_tokens": 3.3e-06, + "input_cost_per_token_above_200k_tokens": 6.6e-06, "litellm_provider": "bedrock_converse", - "max_input_tokens": 1000000, + "max_input_tokens": 200000, "max_output_tokens": 64000, "max_tokens": 64000, "mode": "chat", "output_cost_per_token": 1.65e-05, - "output_cost_per_token_above_200k_tokens": 1.65e-05, + "output_cost_per_token_above_200k_tokens": 2.475e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -1211,18 +1211,18 @@ }, "eu.anthropic.claude-sonnet-4-6": { "cache_creation_input_token_cost": 4.125e-06, - "cache_creation_input_token_cost_above_200k_tokens": 4.125e-06, + "cache_creation_input_token_cost_above_200k_tokens": 8.25e-06, "cache_read_input_token_cost": 3.3e-07, - "cache_read_input_token_cost_above_200k_tokens": 3.3e-07, + "cache_read_input_token_cost_above_200k_tokens": 6.6e-07, "input_cost_per_token": 3.3e-06, - "input_cost_per_token_above_200k_tokens": 3.3e-06, + "input_cost_per_token_above_200k_tokens": 6.6e-06, "litellm_provider": "bedrock_converse", - "max_input_tokens": 1000000, + "max_input_tokens": 200000, "max_output_tokens": 64000, "max_tokens": 64000, "mode": "chat", "output_cost_per_token": 1.65e-05, - "output_cost_per_token_above_200k_tokens": 1.65e-05, + "output_cost_per_token_above_200k_tokens": 2.475e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -1241,18 +1241,18 @@ }, "au.anthropic.claude-sonnet-4-6": { "cache_creation_input_token_cost": 4.125e-06, - "cache_creation_input_token_cost_above_200k_tokens": 4.125e-06, + "cache_creation_input_token_cost_above_200k_tokens": 8.25e-06, "cache_read_input_token_cost": 3.3e-07, - "cache_read_input_token_cost_above_200k_tokens": 3.3e-07, + "cache_read_input_token_cost_above_200k_tokens": 6.6e-07, "input_cost_per_token": 3.3e-06, - "input_cost_per_token_above_200k_tokens": 3.3e-06, + "input_cost_per_token_above_200k_tokens": 6.6e-06, "litellm_provider": "bedrock_converse", - "max_input_tokens": 1000000, + "max_input_tokens": 200000, "max_output_tokens": 64000, "max_tokens": 64000, "mode": "chat", "output_cost_per_token": 1.65e-05, - "output_cost_per_token_above_200k_tokens": 1.65e-05, + "output_cost_per_token_above_200k_tokens": 2.475e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -1760,7 +1760,7 @@ "input_cost_per_token": 5e-06, "output_cost_per_token": 2.5e-05, "litellm_provider": "azure_ai", - "max_input_tokens": 1000000, + "max_input_tokens": 200000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", @@ -1831,7 +1831,7 @@ "cache_read_input_token_cost": 3e-07, "input_cost_per_token": 3e-06, "litellm_provider": "azure_ai", - "max_input_tokens": 1000000, + "max_input_tokens": 200000, "max_output_tokens": 64000, "max_tokens": 64000, "mode": "chat", @@ -8503,18 +8503,18 @@ }, "claude-sonnet-4-6": { "cache_creation_input_token_cost": 3.75e-06, - "cache_creation_input_token_cost_above_200k_tokens": 3.75e-06, + "cache_creation_input_token_cost_above_200k_tokens": 7.5e-06, "cache_read_input_token_cost": 3e-07, - "cache_read_input_token_cost_above_200k_tokens": 3e-07, + "cache_read_input_token_cost_above_200k_tokens": 6e-07, "input_cost_per_token": 3e-06, - "input_cost_per_token_above_200k_tokens": 3e-06, + "input_cost_per_token_above_200k_tokens": 6e-06, "litellm_provider": "anthropic", - "max_input_tokens": 1000000, + "max_input_tokens": 200000, "max_output_tokens": 64000, "max_tokens": 64000, "mode": "chat", "output_cost_per_token": 1.5e-05, - "output_cost_per_token_above_200k_tokens": 1.5e-05, + "output_cost_per_token_above_200k_tokens": 2.25e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -8695,19 +8695,19 @@ }, "claude-opus-4-6": { "cache_creation_input_token_cost": 6.25e-06, - "cache_creation_input_token_cost_above_200k_tokens": 6.25e-06, + "cache_creation_input_token_cost_above_200k_tokens": 1.25e-05, "cache_creation_input_token_cost_above_1hr": 1e-05, "cache_read_input_token_cost": 5e-07, - "cache_read_input_token_cost_above_200k_tokens": 5e-07, + "cache_read_input_token_cost_above_200k_tokens": 1e-06, "input_cost_per_token": 5e-06, - "input_cost_per_token_above_200k_tokens": 5e-06, + "input_cost_per_token_above_200k_tokens": 1e-05, "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_above_200k_tokens": 2.5e-05, + "output_cost_per_token_above_200k_tokens": 3.75e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -8730,19 +8730,19 @@ }, "claude-opus-4-6-20260205": { "cache_creation_input_token_cost": 6.25e-06, - "cache_creation_input_token_cost_above_200k_tokens": 6.25e-06, + "cache_creation_input_token_cost_above_200k_tokens": 1.25e-05, "cache_creation_input_token_cost_above_1hr": 1e-05, "cache_read_input_token_cost": 5e-07, - "cache_read_input_token_cost_above_200k_tokens": 5e-07, + "cache_read_input_token_cost_above_200k_tokens": 1e-06, "input_cost_per_token": 5e-06, - "input_cost_per_token_above_200k_tokens": 5e-06, + "input_cost_per_token_above_200k_tokens": 1e-05, "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_above_200k_tokens": 2.5e-05, + "output_cost_per_token_above_200k_tokens": 3.75e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -30326,18 +30326,18 @@ }, "vertex_ai/claude-opus-4-6": { "cache_creation_input_token_cost": 6.25e-06, - "cache_creation_input_token_cost_above_200k_tokens": 6.25e-06, + "cache_creation_input_token_cost_above_200k_tokens": 1.25e-05, "cache_read_input_token_cost": 5e-07, - "cache_read_input_token_cost_above_200k_tokens": 5e-07, + "cache_read_input_token_cost_above_200k_tokens": 1e-06, "input_cost_per_token": 5e-06, - "input_cost_per_token_above_200k_tokens": 5e-06, + "input_cost_per_token_above_200k_tokens": 1e-05, "litellm_provider": "vertex_ai-anthropic_models", "max_input_tokens": 1000000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 2.5e-05, - "output_cost_per_token_above_200k_tokens": 2.5e-05, + "output_cost_per_token_above_200k_tokens": 3.75e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -30356,18 +30356,18 @@ }, "vertex_ai/claude-opus-4-6@default": { "cache_creation_input_token_cost": 6.25e-06, - "cache_creation_input_token_cost_above_200k_tokens": 6.25e-06, + "cache_creation_input_token_cost_above_200k_tokens": 1.25e-05, "cache_read_input_token_cost": 5e-07, - "cache_read_input_token_cost_above_200k_tokens": 5e-07, + "cache_read_input_token_cost_above_200k_tokens": 1e-06, "input_cost_per_token": 5e-06, - "input_cost_per_token_above_200k_tokens": 5e-06, + "input_cost_per_token_above_200k_tokens": 1e-05, "litellm_provider": "vertex_ai-anthropic_models", "max_input_tokens": 1000000, "max_output_tokens": 128000, "max_tokens": 128000, "mode": "chat", "output_cost_per_token": 2.5e-05, - "output_cost_per_token_above_200k_tokens": 2.5e-05, + "output_cost_per_token_above_200k_tokens": 3.75e-05, "search_context_cost_per_query": { "search_context_size_high": 0.01, "search_context_size_low": 0.01, @@ -30412,18 +30412,18 @@ }, "vertex_ai/claude-sonnet-4-6": { "cache_creation_input_token_cost": 3.75e-06, - "cache_creation_input_token_cost_above_200k_tokens": 3.75e-06, + "cache_creation_input_token_cost_above_200k_tokens": 7.5e-06, "cache_read_input_token_cost": 3e-07, - "cache_read_input_token_cost_above_200k_tokens": 3e-07, + "cache_read_input_token_cost_above_200k_tokens": 6e-07, "input_cost_per_token": 3e-06, - "input_cost_per_token_above_200k_tokens": 3e-06, + "input_cost_per_token_above_200k_tokens": 6e-06, "litellm_provider": "vertex_ai-anthropic_models", - "max_input_tokens": 1000000, + "max_input_tokens": 200000, "max_output_tokens": 64000, "max_tokens": 64000, "mode": "chat", "output_cost_per_token": 1.5e-05, - "output_cost_per_token_above_200k_tokens": 1.5e-05, + "output_cost_per_token_above_200k_tokens": 2.25e-05, "supports_assistant_prefill": true, "supports_computer_use": true, "supports_function_calling": true, @@ -37158,18 +37158,18 @@ }, "vertex_ai/claude-sonnet-4-6@default": { "cache_creation_input_token_cost": 3.75e-06, - "cache_creation_input_token_cost_above_200k_tokens": 3.75e-06, + "cache_creation_input_token_cost_above_200k_tokens": 7.5e-06, "cache_read_input_token_cost": 3e-07, - "cache_read_input_token_cost_above_200k_tokens": 3e-07, + "cache_read_input_token_cost_above_200k_tokens": 6e-07, "input_cost_per_token": 3e-06, - "input_cost_per_token_above_200k_tokens": 3e-06, + "input_cost_per_token_above_200k_tokens": 6e-06, "litellm_provider": "vertex_ai-anthropic_models", - "max_input_tokens": 1000000, + "max_input_tokens": 200000, "max_output_tokens": 64000, "max_tokens": 64000, "mode": "chat", "output_cost_per_token": 1.5e-05, - "output_cost_per_token_above_200k_tokens": 1.5e-05, + "output_cost_per_token_above_200k_tokens": 2.25e-05, "supports_assistant_prefill": true, "supports_computer_use": true, "supports_function_calling": true, diff --git a/tests/test_litellm/test_claude_opus_4_6_config.py b/tests/test_litellm/test_claude_opus_4_6_config.py index 67c47da8c9..7ee2ea3395 100644 --- a/tests/test_litellm/test_claude_opus_4_6_config.py +++ b/tests/test_litellm/test_claude_opus_4_6_config.py @@ -72,46 +72,30 @@ def test_opus_4_6_model_pricing_and_capabilities(): "has_long_context_pricing": True, "tool_use_system_prompt_tokens": 346, "max_input_tokens": 1000000, - "input_cost_per_token_above_200k_tokens": 5e-06, - "output_cost_per_token_above_200k_tokens": 2.5e-05, - "cache_creation_input_token_cost_above_200k_tokens": 6.25e-06, - "cache_read_input_token_cost_above_200k_tokens": 5e-07, }, "claude-opus-4-6-20260205": { "provider": "anthropic", "has_long_context_pricing": True, "tool_use_system_prompt_tokens": 346, "max_input_tokens": 1000000, - "input_cost_per_token_above_200k_tokens": 5e-06, - "output_cost_per_token_above_200k_tokens": 2.5e-05, - "cache_creation_input_token_cost_above_200k_tokens": 6.25e-06, - "cache_read_input_token_cost_above_200k_tokens": 5e-07, }, "anthropic.claude-opus-4-6-v1": { "provider": "bedrock_converse", "has_long_context_pricing": True, "tool_use_system_prompt_tokens": 346, "max_input_tokens": 1000000, - "input_cost_per_token_above_200k_tokens": 5e-06, - "output_cost_per_token_above_200k_tokens": 2.5e-05, - "cache_creation_input_token_cost_above_200k_tokens": 6.25e-06, - "cache_read_input_token_cost_above_200k_tokens": 5e-07, }, "vertex_ai/claude-opus-4-6": { "provider": "vertex_ai-anthropic_models", "has_long_context_pricing": True, "tool_use_system_prompt_tokens": 346, "max_input_tokens": 1000000, - "input_cost_per_token_above_200k_tokens": 5e-06, - "output_cost_per_token_above_200k_tokens": 2.5e-05, - "cache_creation_input_token_cost_above_200k_tokens": 6.25e-06, - "cache_read_input_token_cost_above_200k_tokens": 5e-07, }, "azure_ai/claude-opus-4-6": { "provider": "azure_ai", "has_long_context_pricing": False, "tool_use_system_prompt_tokens": 159, - "max_input_tokens": 1000000, + "max_input_tokens": 200000, }, } @@ -131,10 +115,10 @@ def test_opus_4_6_model_pricing_and_capabilities(): assert info["cache_read_input_token_cost"] == 5e-07 if config["has_long_context_pricing"]: - assert info["input_cost_per_token_above_200k_tokens"] == config["input_cost_per_token_above_200k_tokens"] - assert info["output_cost_per_token_above_200k_tokens"] == config["output_cost_per_token_above_200k_tokens"] - assert info["cache_creation_input_token_cost_above_200k_tokens"] == config["cache_creation_input_token_cost_above_200k_tokens"] - assert info["cache_read_input_token_cost_above_200k_tokens"] == config["cache_read_input_token_cost_above_200k_tokens"] + assert info["input_cost_per_token_above_200k_tokens"] == 1e-05 + assert info["output_cost_per_token_above_200k_tokens"] == 3.75e-05 + assert info["cache_creation_input_token_cost_above_200k_tokens"] == 1.25e-05 + assert info["cache_read_input_token_cost_above_200k_tokens"] == 1e-06 assert info["supports_assistant_prefill"] is False assert info["supports_function_calling"] is True @@ -150,47 +134,46 @@ def test_opus_4_6_bedrock_regional_model_pricing(): with open(json_path) as f: model_data = json.load(f) - # Bedrock does not surcharge for >200k tokens; above_200k prices equal base prices. expected_models = { "global.anthropic.claude-opus-4-6-v1": { "input_cost_per_token": 5e-06, "output_cost_per_token": 2.5e-05, "cache_creation_input_token_cost": 6.25e-06, "cache_read_input_token_cost": 5e-07, - "input_cost_per_token_above_200k_tokens": 5e-06, - "output_cost_per_token_above_200k_tokens": 2.5e-05, - "cache_creation_input_token_cost_above_200k_tokens": 6.25e-06, - "cache_read_input_token_cost_above_200k_tokens": 5e-07, + "input_cost_per_token_above_200k_tokens": 1e-05, + "output_cost_per_token_above_200k_tokens": 3.75e-05, + "cache_creation_input_token_cost_above_200k_tokens": 1.25e-05, + "cache_read_input_token_cost_above_200k_tokens": 1e-06, }, "us.anthropic.claude-opus-4-6-v1": { "input_cost_per_token": 5.5e-06, "output_cost_per_token": 2.75e-05, "cache_creation_input_token_cost": 6.875e-06, "cache_read_input_token_cost": 5.5e-07, - "input_cost_per_token_above_200k_tokens": 5.5e-06, - "output_cost_per_token_above_200k_tokens": 2.75e-05, - "cache_creation_input_token_cost_above_200k_tokens": 6.875e-06, - "cache_read_input_token_cost_above_200k_tokens": 5.5e-07, + "input_cost_per_token_above_200k_tokens": 1.1e-05, + "output_cost_per_token_above_200k_tokens": 4.125e-05, + "cache_creation_input_token_cost_above_200k_tokens": 1.375e-05, + "cache_read_input_token_cost_above_200k_tokens": 1.1e-06, }, "eu.anthropic.claude-opus-4-6-v1": { "input_cost_per_token": 5.5e-06, "output_cost_per_token": 2.75e-05, "cache_creation_input_token_cost": 6.875e-06, "cache_read_input_token_cost": 5.5e-07, - "input_cost_per_token_above_200k_tokens": 5.5e-06, - "output_cost_per_token_above_200k_tokens": 2.75e-05, - "cache_creation_input_token_cost_above_200k_tokens": 6.875e-06, - "cache_read_input_token_cost_above_200k_tokens": 5.5e-07, + "input_cost_per_token_above_200k_tokens": 1.1e-05, + "output_cost_per_token_above_200k_tokens": 4.125e-05, + "cache_creation_input_token_cost_above_200k_tokens": 1.375e-05, + "cache_read_input_token_cost_above_200k_tokens": 1.1e-06, }, "au.anthropic.claude-opus-4-6-v1": { "input_cost_per_token": 5.5e-06, "output_cost_per_token": 2.75e-05, "cache_creation_input_token_cost": 6.875e-06, "cache_read_input_token_cost": 5.5e-07, - "input_cost_per_token_above_200k_tokens": 5.5e-06, - "output_cost_per_token_above_200k_tokens": 2.75e-05, - "cache_creation_input_token_cost_above_200k_tokens": 6.875e-06, - "cache_read_input_token_cost_above_200k_tokens": 5.5e-07, + "input_cost_per_token_above_200k_tokens": 1.1e-05, + "output_cost_per_token_above_200k_tokens": 4.125e-05, + "cache_creation_input_token_cost_above_200k_tokens": 1.375e-05, + "cache_read_input_token_cost_above_200k_tokens": 1.1e-06, }, } diff --git a/tests/test_litellm/test_claude_sonnet_4_6_config.py b/tests/test_litellm/test_claude_sonnet_4_6_config.py deleted file mode 100644 index 3f5ccad140..0000000000 --- a/tests/test_litellm/test_claude_sonnet_4_6_config.py +++ /dev/null @@ -1,161 +0,0 @@ -""" -Validate Claude Sonnet 4.6 model configuration entries. -""" - -import json -import os - -import litellm - - -def test_sonnet_4_6_model_pricing_and_capabilities(): - json_path = os.path.join(os.path.dirname(__file__), "../../model_prices_and_context_window.json") - with open(json_path) as f: - model_data = json.load(f) - - expected_models = { - "claude-sonnet-4-6": { - "provider": "anthropic", - "has_long_context_pricing": True, - "tool_use_system_prompt_tokens": 346, - "max_input_tokens": 1000000, - "input_cost_per_token_above_200k_tokens": 3e-06, - "output_cost_per_token_above_200k_tokens": 1.5e-05, - "cache_creation_input_token_cost_above_200k_tokens": 3.75e-06, - "cache_read_input_token_cost_above_200k_tokens": 3e-07, - }, - "vertex_ai/claude-sonnet-4-6": { - "provider": "vertex_ai-anthropic_models", - "has_long_context_pricing": True, - "tool_use_system_prompt_tokens": 346, - "max_input_tokens": 1000000, - "input_cost_per_token_above_200k_tokens": 3e-06, - "output_cost_per_token_above_200k_tokens": 1.5e-05, - "cache_creation_input_token_cost_above_200k_tokens": 3.75e-06, - "cache_read_input_token_cost_above_200k_tokens": 3e-07, - }, - "azure_ai/claude-sonnet-4-6": { - "provider": "azure_ai", - "has_long_context_pricing": False, - "tool_use_system_prompt_tokens": None, - "max_input_tokens": 1000000, - }, - } - - for model_name, config in expected_models.items(): - assert model_name in model_data, f"Missing model entry: {model_name}" - info = model_data[model_name] - - assert info["litellm_provider"] == config["provider"] - assert info["mode"] == "chat" - assert info["max_input_tokens"] == config["max_input_tokens"] - assert info["max_output_tokens"] == 64000 - assert info["max_tokens"] == 64000 - - assert info["input_cost_per_token"] == 3e-06 - assert info["output_cost_per_token"] == 1.5e-05 - assert info["cache_creation_input_token_cost"] == 3.75e-06 - assert info["cache_read_input_token_cost"] == 3e-07 - - if config["has_long_context_pricing"]: - assert info["input_cost_per_token_above_200k_tokens"] == config["input_cost_per_token_above_200k_tokens"] - assert info["output_cost_per_token_above_200k_tokens"] == config["output_cost_per_token_above_200k_tokens"] - assert info["cache_creation_input_token_cost_above_200k_tokens"] == config["cache_creation_input_token_cost_above_200k_tokens"] - assert info["cache_read_input_token_cost_above_200k_tokens"] == config["cache_read_input_token_cost_above_200k_tokens"] - - assert info["supports_assistant_prefill"] is True - assert info["supports_function_calling"] is True - assert info["supports_prompt_caching"] is True - assert info["supports_reasoning"] is True - assert info["supports_tool_choice"] is True - assert info["supports_vision"] is True - - if config["tool_use_system_prompt_tokens"] is not None: - assert info["tool_use_system_prompt_tokens"] == config["tool_use_system_prompt_tokens"] - - -def test_sonnet_4_6_bedrock_regional_model_pricing(): - """ - Validate that Bedrock Claude Sonnet 4.6 regional models have correct pricing. - - Bedrock does not surcharge for >200k token context windows, so - all *_above_200k_tokens prices must equal their base counterparts. - max_input_tokens should be 1,000,000 (1M) for the 1M context window. - """ - json_path = os.path.join(os.path.dirname(__file__), "../../model_prices_and_context_window.json") - with open(json_path) as f: - model_data = json.load(f) - - # Bedrock does not surcharge for >200k tokens; above_200k prices equal base prices. - expected_models = { - "anthropic.claude-sonnet-4-6": { - "input_cost_per_token": 3e-06, - "output_cost_per_token": 1.5e-05, - "cache_creation_input_token_cost": 3.75e-06, - "cache_read_input_token_cost": 3e-07, - "input_cost_per_token_above_200k_tokens": 3e-06, - "output_cost_per_token_above_200k_tokens": 1.5e-05, - "cache_creation_input_token_cost_above_200k_tokens": 3.75e-06, - "cache_read_input_token_cost_above_200k_tokens": 3e-07, - }, - "global.anthropic.claude-sonnet-4-6": { - "input_cost_per_token": 3e-06, - "output_cost_per_token": 1.5e-05, - "cache_creation_input_token_cost": 3.75e-06, - "cache_read_input_token_cost": 3e-07, - "input_cost_per_token_above_200k_tokens": 3e-06, - "output_cost_per_token_above_200k_tokens": 1.5e-05, - "cache_creation_input_token_cost_above_200k_tokens": 3.75e-06, - "cache_read_input_token_cost_above_200k_tokens": 3e-07, - }, - "us.anthropic.claude-sonnet-4-6": { - "input_cost_per_token": 3.3e-06, - "output_cost_per_token": 1.65e-05, - "cache_creation_input_token_cost": 4.125e-06, - "cache_read_input_token_cost": 3.3e-07, - "input_cost_per_token_above_200k_tokens": 3.3e-06, - "output_cost_per_token_above_200k_tokens": 1.65e-05, - "cache_creation_input_token_cost_above_200k_tokens": 4.125e-06, - "cache_read_input_token_cost_above_200k_tokens": 3.3e-07, - }, - "eu.anthropic.claude-sonnet-4-6": { - "input_cost_per_token": 3.3e-06, - "output_cost_per_token": 1.65e-05, - "cache_creation_input_token_cost": 4.125e-06, - "cache_read_input_token_cost": 3.3e-07, - "input_cost_per_token_above_200k_tokens": 3.3e-06, - "output_cost_per_token_above_200k_tokens": 1.65e-05, - "cache_creation_input_token_cost_above_200k_tokens": 4.125e-06, - "cache_read_input_token_cost_above_200k_tokens": 3.3e-07, - }, - "au.anthropic.claude-sonnet-4-6": { - "input_cost_per_token": 3.3e-06, - "output_cost_per_token": 1.65e-05, - "cache_creation_input_token_cost": 4.125e-06, - "cache_read_input_token_cost": 3.3e-07, - "input_cost_per_token_above_200k_tokens": 3.3e-06, - "output_cost_per_token_above_200k_tokens": 1.65e-05, - "cache_creation_input_token_cost_above_200k_tokens": 4.125e-06, - "cache_read_input_token_cost_above_200k_tokens": 3.3e-07, - }, - } - - for model_name, expected in expected_models.items(): - assert model_name in model_data, f"Missing model entry: {model_name}" - info = model_data[model_name] - assert info["litellm_provider"] == "bedrock_converse" - assert info["max_input_tokens"] == 1000000, \ - f"{model_name}: max_input_tokens should be 1000000, got {info['max_input_tokens']}" - assert info["max_output_tokens"] == 64000 - assert info["max_tokens"] == 64000 - for key, value in expected.items(): - assert info[key] == value, \ - f"{model_name}[{key}]: expected {value}, got {info[key]}" - - -def test_sonnet_4_6_bedrock_converse_registration(): - assert "anthropic.claude-sonnet-4-6" in litellm.BEDROCK_CONVERSE_MODELS - assert "global.anthropic.claude-sonnet-4-6" in litellm.bedrock_converse_models - assert "us.anthropic.claude-sonnet-4-6" in litellm.bedrock_converse_models - assert "eu.anthropic.claude-sonnet-4-6" in litellm.bedrock_converse_models - assert "au.anthropic.claude-sonnet-4-6" in litellm.bedrock_converse_models