From a6342918ddf46a2d93e5e40be73f544ae7e4389c Mon Sep 17 00:00:00 2001 From: Moe Khalil Date: Wed, 28 Oct 2026 02:05:46 +0000 Subject: [PATCH] fix(images): read image max_retries through a typed kwargs view Co-authored-by: Ericz Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- litellm/images/main.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/litellm/images/main.py b/litellm/images/main.py index a60ca13a22a..3312ca417d5 100644 --- a/litellm/images/main.py +++ b/litellm/images/main.py @@ -284,8 +284,12 @@ def image_generation( extra_headers: Final = kwargs.get("extra_headers", None) headers: Final[dict] = kwargs.get("headers", None) or {} base_model: Final = kwargs.get("base_model", None) - max_retries: Final = kwargs.get("max_retries") - is_router_call: Final = any("model_group" in (kwargs.get(k) or ()) for k in ("metadata", "litellm_metadata")) + call_kwargs: Final = cast(Mapping[str, object], kwargs) # cast-ok: image_generation's **kwargs is untyped + max_retries: Final = call_kwargs.get("max_retries") + is_router_call: Final = any( + isinstance(call_metadata := call_kwargs.get(k), Mapping) and "model_group" in call_metadata + for k in ("metadata", "litellm_metadata") + ) if extra_headers is not None: headers.update(extra_headers) model_response: ImageResponse = litellm.utils.ImageResponse()