in google/generativeai/types/content_types.py [0:0]
def image_to_blob(image) -> protos.Blob:
if PIL is not None:
if isinstance(image, PIL.Image.Image):
return _pil_to_blob(image)
if IPython is not None:
if isinstance(image, IPython.display.Image):
name = image.filename
if name is None:
raise ValueError(
"Conversion failed. The `IPython.display.Image` can only be converted if "
"it is constructed from a local file. Please ensure you are using the format: Image(filename='...')."
)
mime_type, _ = mimetypes.guess_type(name)
if mime_type is None:
mime_type = "image/unknown"
return protos.Blob(mime_type=mime_type, data=image.data)
raise TypeError(
"Image conversion failed. The input was expected to be of type `Image` "
"(either `PIL.Image.Image` or `IPython.display.Image`).\n"
f"However, received an object of type: {type(image)}.\n"
f"Object Value: {image}"
)