diff --git a/ci_cd/generate_model_prices_schema.py b/ci_cd/generate_model_prices_schema.py index 8f7c9a343a3..f1198cd219c 100644 --- a/ci_cd/generate_model_prices_schema.py +++ b/ci_cd/generate_model_prices_schema.py @@ -122,8 +122,9 @@ OBJECT_KEYS: dict[str, JsonSchema] = { "properties": { "model": NON_BLANK_STRING, "region": NON_BLANK_STRING, + "litellm_provider": {"type": "string", "enum": ["bedrock", "bedrock_mantle"]}, }, - "description": "Model that counts tokens for this one, and the AWS region its count API runs in.", + "description": "Model that counts tokens for this one, its counting provider, and the AWS region its count API runs in.", }, } diff --git a/model_prices_and_context_window.schema.json b/model_prices_and_context_window.schema.json index 8a21531c80d..d4dfeb25429 100644 --- a/model_prices_and_context_window.schema.json +++ b/model_prices_and_context_window.schema.json @@ -93,11 +93,6 @@ "minimum": 0, "description": "Rate applied once the prompt exceeds the token threshold in the field name." }, - "cache_creation_input_token_cost_above_128k_tokens": { - "type": "number", - "minimum": 0, - "description": "Rate applied once the prompt exceeds the token threshold in the field name." - }, "cache_creation_input_token_cost_above_1hr": { "type": "number", "minimum": 0, @@ -118,16 +113,6 @@ "minimum": 0, "description": "Rate applied once the prompt exceeds the token threshold in the field name." }, - "cache_creation_input_token_cost_above_200k_tokens_batches": { - "type": "number", - "minimum": 0, - "description": "Rate applied once the prompt exceeds the token threshold in the field name." - }, - "cache_creation_input_token_cost_above_256k_tokens": { - "type": "number", - "minimum": 0, - "description": "Rate applied once the prompt exceeds the token threshold in the field name." - }, "cache_creation_input_token_cost_above_272k_tokens": { "type": "number", "minimum": 0, @@ -138,6 +123,11 @@ "minimum": 0, "description": "Rate applied once the prompt exceeds the token threshold in the field name." }, + "cache_creation_input_token_cost_above_272k_tokens_decisions": { + "type": "number", + "minimum": 0, + "description": "Rate applied once the prompt exceeds the token threshold in the field name." + }, "cache_creation_input_token_cost_above_272k_tokens_flex": { "type": "number", "minimum": 0, @@ -153,15 +143,14 @@ "minimum": 0, "description": "Rate applied once the prompt exceeds the token threshold in the field name." }, - "cache_creation_input_token_cost_above_32k_tokens": { - "type": "number", - "minimum": 0, - "description": "Rate applied once the prompt exceeds the token threshold in the field name." - }, "cache_creation_input_token_cost_batches": { "type": "number", "minimum": 0 }, + "cache_creation_input_token_cost_decisions": { + "type": "number", + "minimum": 0 + }, "cache_creation_input_token_cost_flex": { "type": "number", "minimum": 0, @@ -199,11 +188,6 @@ "minimum": 0, "description": "Rate applied once the prompt exceeds the token threshold in the field name." }, - "cache_read_input_token_cost_above_128k_tokens": { - "type": "number", - "minimum": 0, - "description": "Rate applied once the prompt exceeds the token threshold in the field name." - }, "cache_read_input_token_cost_above_200k_tokens": { "type": "number", "minimum": 0, @@ -219,11 +203,6 @@ "minimum": 0, "description": "Priority service-tier rate for the same-named base field." }, - "cache_read_input_token_cost_above_256k_tokens": { - "type": "number", - "minimum": 0, - "description": "Rate applied once the prompt exceeds the token threshold in the field name." - }, "cache_read_input_token_cost_above_272k_tokens": { "type": "number", "minimum": 0, @@ -234,6 +213,11 @@ "minimum": 0, "description": "Rate applied once the prompt exceeds the token threshold in the field name." }, + "cache_read_input_token_cost_above_272k_tokens_decisions": { + "type": "number", + "minimum": 0, + "description": "Rate applied once the prompt exceeds the token threshold in the field name." + }, "cache_read_input_token_cost_above_272k_tokens_flex": { "type": "number", "minimum": 0, @@ -249,11 +233,6 @@ "minimum": 0, "description": "Rate applied once the prompt exceeds the token threshold in the field name." }, - "cache_read_input_token_cost_above_32k_tokens": { - "type": "number", - "minimum": 0, - "description": "Rate applied once the prompt exceeds the token threshold in the field name." - }, "cache_read_input_token_cost_above_512k_tokens": { "type": "number", "minimum": 0, @@ -267,6 +246,10 @@ "type": "number", "minimum": 0 }, + "cache_read_input_token_cost_decisions": { + "type": "number", + "minimum": 0 + }, "cache_read_input_token_cost_flex": { "type": "number", "minimum": 0, @@ -314,6 +297,10 @@ "format": "date", "pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$" }, + "explicit_cache_read_input_token_cost": { + "type": "number", + "minimum": 0 + }, "gemini_audio_only_live": { "type": "boolean" }, @@ -397,6 +384,10 @@ "type": "number", "minimum": 0 }, + "input_cost_per_text_message": { + "type": "number", + "minimum": 0 + }, "input_cost_per_token": { "type": "number", "minimum": 0, @@ -432,11 +423,6 @@ "minimum": 0, "description": "Priority service-tier rate for the same-named base field." }, - "input_cost_per_token_above_256k_tokens": { - "type": "number", - "minimum": 0, - "description": "Rate applied once the prompt exceeds the token threshold in the field name." - }, "input_cost_per_token_above_272k_tokens": { "type": "number", "minimum": 0, @@ -447,6 +433,11 @@ "minimum": 0, "description": "Rate applied once the prompt exceeds the token threshold in the field name." }, + "input_cost_per_token_above_272k_tokens_decisions": { + "type": "number", + "minimum": 0, + "description": "Rate applied once the prompt exceeds the token threshold in the field name." + }, "input_cost_per_token_above_272k_tokens_flex": { "type": "number", "minimum": 0, @@ -462,11 +453,6 @@ "minimum": 0, "description": "Rate applied once the prompt exceeds the token threshold in the field name." }, - "input_cost_per_token_above_32k_tokens": { - "type": "number", - "minimum": 0, - "description": "Rate applied once the prompt exceeds the token threshold in the field name." - }, "input_cost_per_token_above_512k_tokens": { "type": "number", "minimum": 0, @@ -485,6 +471,10 @@ "type": "number", "minimum": 0 }, + "input_cost_per_token_decisions": { + "type": "number", + "minimum": 0 + }, "input_cost_per_token_flex": { "type": "number", "minimum": 0, @@ -563,6 +553,7 @@ "completion", "embedding", "evaluation", + "extraction", "guardrail", "image_edit", "image_generation", @@ -745,6 +736,10 @@ "type": "number", "minimum": 0 }, + "output_cost_per_image_token_batches": { + "type": "number", + "minimum": 0 + }, "output_cost_per_pixel": { "type": "number", "minimum": 0 @@ -817,11 +812,6 @@ "minimum": 0, "description": "Priority service-tier rate for the same-named base field." }, - "output_cost_per_token_above_256k_tokens": { - "type": "number", - "minimum": 0, - "description": "Rate applied once the prompt exceeds the token threshold in the field name." - }, "output_cost_per_token_above_272k_tokens": { "type": "number", "minimum": 0, @@ -832,6 +822,11 @@ "minimum": 0, "description": "Rate applied once the prompt exceeds the token threshold in the field name." }, + "output_cost_per_token_above_272k_tokens_decisions": { + "type": "number", + "minimum": 0, + "description": "Rate applied once the prompt exceeds the token threshold in the field name." + }, "output_cost_per_token_above_272k_tokens_flex": { "type": "number", "minimum": 0, @@ -847,11 +842,6 @@ "minimum": 0, "description": "Rate applied once the prompt exceeds the token threshold in the field name." }, - "output_cost_per_token_above_32k_tokens": { - "type": "number", - "minimum": 0, - "description": "Rate applied once the prompt exceeds the token threshold in the field name." - }, "output_cost_per_token_above_512k_tokens": { "type": "number", "minimum": 0, @@ -866,6 +856,10 @@ "minimum": 0, "description": "USD per generated token via the provider's batch API." }, + "output_cost_per_token_decisions": { + "type": "number", + "minimum": 0 + }, "output_cost_per_token_flex": { "type": "number", "minimum": 0, @@ -1062,12 +1056,24 @@ "supports_audio_output": { "type": "boolean" }, + "supports_bedrock_converse_tool_result_images": { + "type": "boolean" + }, + "supports_bedrock_native_structured_output": { + "type": "boolean" + }, + "supports_bedrock_runtime_chat_completions_inline_reasoning": { + "type": "boolean" + }, "supports_bedrock_runtime_chat_completions_response_format": { "type": "boolean" }, "supports_bedrock_runtime_chat_completions_tools_with_reasoning": { "type": "boolean" }, + "supports_box_questions": { + "type": "boolean" + }, "supports_computer_use": { "type": "boolean" }, @@ -1140,6 +1146,9 @@ "supports_reasoning": { "type": "boolean" }, + "supports_regex_lookaround": { + "type": "boolean" + }, "supports_response_schema": { "type": "boolean" }, @@ -1238,6 +1247,31 @@ "minimum": 0, "description": "Tokens added once per request to a local count estimate, for the provider's chat framing." }, + "token_count_model": { + "type": "object", + "required": [ + "model" + ], + "additionalProperties": false, + "properties": { + "model": { + "type": "string", + "pattern": "\\S" + }, + "region": { + "type": "string", + "pattern": "\\S" + }, + "litellm_provider": { + "type": "string", + "enum": [ + "bedrock", + "bedrock_mantle" + ] + } + }, + "description": "Model that counts tokens for this one, its counting provider, and the AWS region its count API runs in." + }, "token_count_tokenizer": { "type": "string", "description": "Tokenizer litellm counts this model's requests with when the provider cannot count them.",