diff --git a/litellm/llms/openai/image_edit/transformation.py b/litellm/llms/openai/image_edit/transformation.py index b638f185dc6..be1aeb1b8a4 100644 --- a/litellm/llms/openai/image_edit/transformation.py +++ b/litellm/llms/openai/image_edit/transformation.py @@ -91,21 +91,37 @@ class OpenAIImageEditConfig(BaseImageEditConfig): # Handle image parameter if _image is not None: - image_content_type: str = ImageEditRequestUtils.get_image_content_type( - _image - ) - if isinstance(_image, BufferedReader): - files_list.append(("image", (_image.name, _image, image_content_type))) - else: - files_list.append(("image", ("image.png", _image, image_content_type))) + # Handle case where image can be a list (extract first image) + if isinstance(_image, list): + _image = _image[0] if _image else None + + if _image is not None: + image_content_type: str = ImageEditRequestUtils.get_image_content_type( + _image + ) + if isinstance(_image, BufferedReader): + files_list.append( + ("image", (_image.name, _image, image_content_type)) + ) + else: + files_list.append( + ("image", ("image.png", _image, image_content_type)) + ) # Handle mask parameter if provided if _mask is not None: - mask_content_type: str = ImageEditRequestUtils.get_image_content_type(_mask) - if isinstance(_mask, BufferedReader): - files_list.append(("mask", (_mask.name, _mask, mask_content_type))) - else: - files_list.append(("mask", ("mask.png", _mask, mask_content_type))) + # Handle case where mask can be a list (extract first mask) + if isinstance(_mask, list): + _mask = _mask[0] if _mask else None + + if _mask is not None: + mask_content_type: str = ImageEditRequestUtils.get_image_content_type( + _mask + ) + if isinstance(_mask, BufferedReader): + files_list.append(("mask", (_mask.name, _mask, mask_content_type))) + else: + files_list.append(("mask", ("mask.png", _mask, mask_content_type))) return data_without_files, files_list def transform_image_edit_response(