From 93c1ca7bf5620a60133f1c73478078c70d43a5af Mon Sep 17 00:00:00 2001 From: Sameer Kankute Date: Mon, 8 Jun 2026 11:50:45 +0530 Subject: [PATCH] fix(azure_ai): validate MAI edit size by consuming map iterator Greptile: lazy map() never evaluated int() so values like 1024xabc passed through. Co-authored-by: Cursor --- litellm/llms/azure_ai/image_edit/mai_transformation.py | 2 +- .../image_edit/test_mai_image_edit_transformation.py | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/litellm/llms/azure_ai/image_edit/mai_transformation.py b/litellm/llms/azure_ai/image_edit/mai_transformation.py index ea397f8e3ca..da1da0c6e98 100644 --- a/litellm/llms/azure_ai/image_edit/mai_transformation.py +++ b/litellm/llms/azure_ai/image_edit/mai_transformation.py @@ -73,7 +73,7 @@ class AzureFoundryMAIImageEditConfig(OpenAIImageEditConfig): if "x" in size: try: - map(int, size.lower().split("x")) + tuple(map(int, size.lower().split("x", 1))) return except ValueError: raise ValueError( diff --git a/tests/test_litellm/llms/azure_ai/image_edit/test_mai_image_edit_transformation.py b/tests/test_litellm/llms/azure_ai/image_edit/test_mai_image_edit_transformation.py index c5183894383..465d11d7448 100644 --- a/tests/test_litellm/llms/azure_ai/image_edit/test_mai_image_edit_transformation.py +++ b/tests/test_litellm/llms/azure_ai/image_edit/test_mai_image_edit_transformation.py @@ -80,6 +80,15 @@ class TestAzureMAIImageEdit: drop_params=True, ) + def test_map_openai_params_invalid_size_format_raises(self): + config = AzureFoundryMAIImageEditConfig() + with pytest.raises(ValueError, match="Invalid size format: '1024xabc'"): + config.map_openai_params( + image_edit_optional_params={"size": "1024xabc"}, + model="MAI-Image-2.5", + drop_params=True, + ) + def test_transform_image_edit_request_uses_image_field(self): config = AzureFoundryMAIImageEditConfig() image_bytes = io.BytesIO(b"fake-image-bytes")