import io, base64, traceback from fastapi import FastAPI, Request from fastapi.responses import JSONResponse from PIL import Image from wfcontrol import generate_image app = FastAPI() @app.post("/transform") async def transform_image_api(request: Request): try: data = await request.json() img_data = data["image"].split(",")[1] prompt = data.get("prompt", "Studio Ghibli") style = data.get("style", "ghibli") img = Image.open(io.BytesIO(base64.b64decode(img_data))).convert("RGB") result = generate_image(input_image=img, prompt=prompt, style=style) buffer = io.BytesIO() result.save(buffer, format="JPEG") result_b64 = base64.b64encode(buffer.getvalue()).decode() return JSONResponse(content={"image": "data:image/jpeg;base64," + result_b64}) except Exception as e: print("🔥 ERROR:", traceback.format_exc()) return JSONResponse(status_code=500, content={"error": str(e)})