From 931fe5ba52f0f3e1dd1aedb777c2fee4229982b1 Mon Sep 17 00:00:00 2001 From: Jeremy Schoemaker Date: Wed, 14 Oct 2026 21:49:26 -0500 Subject: [PATCH] fix(realtime): narrow nested rate payloads without unknown types --- litellm/llms/gemini/realtime/transformation.py | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/litellm/llms/gemini/realtime/transformation.py b/litellm/llms/gemini/realtime/transformation.py index bbe4feae1f5..375930608c7 100644 --- a/litellm/llms/gemini/realtime/transformation.py +++ b/litellm/llms/gemini/realtime/transformation.py @@ -475,16 +475,11 @@ class GeminiRealtimeConfig(BaseRealtimeConfig): @staticmethod def _declared_rate_from_ga_shape(session_payload: Mapping[str, object]) -> object: - audio: Final = session_payload.get("audio") - if not isinstance(audio, dict): - return None - audio_input: Final = audio.get("input") - if not isinstance(audio_input, dict): - return None - audio_format: Final = audio_input.get("format") - if not isinstance(audio_format, dict): - return None - return audio_format.get("rate") + match session_payload.get("audio"): + case dict({"input": dict({"format": dict({"rate": object() as rate})})}): + return rate + case _: + return None @staticmethod def _declared_rate_from_beta_shape(session_payload: Mapping[str, object]) -> object: