From b0980638c5d56492be145ce3da2d1033c5c154d2 Mon Sep 17 00:00:00 2001 From: "devin-ai-integration[bot]" <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Wed, 23 Sep 2026 19:40:09 -0700 Subject: [PATCH] fix(model-catalog): declare above_32k cost fields on ModelInfo (#42856) * fix(model-catalog): add above_32k cost fields to ModelInfo round-trip Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix(model-catalog): drop redundant comments on above_32k fields Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- litellm-rust/crates/model-catalog/src/model_info.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/litellm-rust/crates/model-catalog/src/model_info.rs b/litellm-rust/crates/model-catalog/src/model_info.rs index 77a8b768e38..4a56e1112d1 100644 --- a/litellm-rust/crates/model-catalog/src/model_info.rs +++ b/litellm-rust/crates/model-catalog/src/model_info.rs @@ -245,6 +245,8 @@ pub struct ModelInfo { #[serde(default, skip_serializing_if = "Option::is_none")] pub cache_creation_input_token_cost_above_272k_tokens_priority: Option, #[serde(default, skip_serializing_if = "Option::is_none")] + pub cache_creation_input_token_cost_above_32k_tokens: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] pub cache_creation_input_token_cost_batches: Option, /// Flex service-tier rate for the same-named base field. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -283,6 +285,8 @@ pub struct ModelInfo { /// Priority service-tier rate for the same-named base field. #[serde(default, skip_serializing_if = "Option::is_none")] pub cache_read_input_token_cost_above_272k_tokens_priority: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub cache_read_input_token_cost_above_32k_tokens: Option, /// Rate applied once the prompt exceeds the token threshold in the field name. #[serde(default, skip_serializing_if = "Option::is_none")] pub cache_read_input_token_cost_above_512k_tokens: Option, @@ -377,6 +381,8 @@ pub struct ModelInfo { /// Priority service-tier rate for the same-named base field. #[serde(default, skip_serializing_if = "Option::is_none")] pub input_cost_per_token_above_272k_tokens_priority: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub input_cost_per_token_above_32k_tokens: Option, /// Rate applied once the prompt exceeds the token threshold in the field name. #[serde(default, skip_serializing_if = "Option::is_none")] pub input_cost_per_token_above_512k_tokens: Option, @@ -498,6 +504,8 @@ pub struct ModelInfo { /// Priority service-tier rate for the same-named base field. #[serde(default, skip_serializing_if = "Option::is_none")] pub output_cost_per_token_above_272k_tokens_priority: Option, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub output_cost_per_token_above_32k_tokens: Option, /// Rate applied once the prompt exceeds the token threshold in the field name. #[serde(default, skip_serializing_if = "Option::is_none")] pub output_cost_per_token_above_512k_tokens: Option,