From 7225ce5b7dbcf7e5d0c1d762cecf0db0af4e4c9a Mon Sep 17 00:00:00 2001 From: Liam McDonald Date: Tue, 12 May 2026 12:24:02 -0700 Subject: [PATCH] Fix audio cost calculation --- litellm/cost_calculator.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/litellm/cost_calculator.py b/litellm/cost_calculator.py index 9b4dd80265c..041b4873d87 100644 --- a/litellm/cost_calculator.py +++ b/litellm/cost_calculator.py @@ -2226,18 +2226,20 @@ class BaseTokenUsageProcessor: CompletionTokensDetailsWrapper() ) - # Check what keys exist in the model's completion_tokens_details - # Access model_fields on the class, not the instance, to avoid Pydantic 2.11+ deprecation warnings for attr in type(usage.completion_tokens_details).model_fields: if not attr.startswith("_") and not callable( getattr(usage.completion_tokens_details, attr) ): - current_val = getattr( - combined.completion_tokens_details, attr, 0 + current_val = ( + getattr(combined.completion_tokens_details, attr, 0) + or 0 ) - new_val = getattr(usage.completion_tokens_details, attr, 0) - - if new_val is not None and current_val is not None: + new_val = ( + getattr(usage.completion_tokens_details, attr, 0) or 0 + ) + if new_val is not None and isinstance( + new_val, (int, float) + ): setattr( combined.completion_tokens_details, attr,