diff --git a/pydantic_ai_slim/pydantic_ai/models/gemini.py b/pydantic_ai_slim/pydantic_ai/models/gemini.py index 3efeaa2f2..48fc811ec 100644 --- a/pydantic_ai_slim/pydantic_ai/models/gemini.py +++ b/pydantic_ai_slim/pydantic_ai/models/gemini.py @@ -878,7 +878,7 @@ def _metadata_as_usage(response: _GeminiResponse) -> usage.Usage: metadata_details = cast(list[_GeminiModalityTokenCount], metadata_details) suffix = key.removesuffix('_details') for detail in metadata_details: - details[f'{detail["modality"].lower()}_{suffix}'] = detail['token_count'] + details[f'{detail["modality"].lower()}_{suffix}'] = detail.get('token_count', 0) return usage.Usage( request_tokens=metadata.get('prompt_token_count', 0), diff --git a/pydantic_ai_slim/pydantic_ai/models/google.py b/pydantic_ai_slim/pydantic_ai/models/google.py index 83a601279..244dacede 100644 --- a/pydantic_ai_slim/pydantic_ai/models/google.py +++ b/pydantic_ai_slim/pydantic_ai/models/google.py @@ -603,7 +603,7 @@ def _metadata_as_usage(response: GenerateContentResponse) -> usage.Usage: if key.endswith('_details') and metadata_details: suffix = key.removesuffix('_details') for detail in metadata_details: - details[f'{detail["modality"].lower()}_{suffix}'] = detail['token_count'] + details[f'{detail["modality"].lower()}_{suffix}'] = detail.get('token_count', 0) return usage.Usage( request_tokens=metadata.get('prompt_token_count', 0),