import base64 import io from PIL import Image Image.MAX_IMAGE_PIXELS = None def to_data_uri(image: Image.Image, max_size: tuple[int, int] = (1100, 1600)) -> str: image = image.copy() image.thumbnail(max_size, Image.LANCZOS) buffer = io.BytesIO() image.save(buffer, "JPEG", quality=92) return "data:image/jpeg;base64," + base64.b64encode(buffer.getvalue()).decode()