iruno's picture
Upload 245 files
498ffec verified
import base64
import io
from PIL import Image
def image_to_base64_url(image: str | Image.Image):
if isinstance(image, str):
with open(image, "rb") as f:
image = f.read()
elif isinstance(image, Image.Image):
if image.mode in ("RGBA", "LA"):
image = image.convert("RGB")
with io.BytesIO() as buffer:
image.save(buffer, format="PNG")
image = buffer.getvalue()
else:
raise ValueError(f"Invalid image type: {type(image)}")
return "data:image/png;base64," + base64.b64encode(image).decode("utf-8")