import base64 from PIL import Image from fastapi import HTTPException from io import BytesIO def base64_to_image(base64_str: str) -> Image.Image: try: image_data = base64.b64decode(base64_str) image = Image.open(BytesIO(image_data)).convert("RGB") return image except Exception as e: raise HTTPException(status_code=400, detail="Invalid Base64 image") def image_to_base64(image: Image.Image) -> str: buffered = BytesIO() image.save(buffered, format="JPEG") return base64.b64encode(buffered.getvalue()).decode("utf-8")