Spaces:
Running
Running
File size: 926 Bytes
e2ad3f3 1cc9a69 5846686 e2ad3f3 030dbb8 2b11a8a e2ad3f3 89cb270 2b11a8a e2ad3f3 030dbb8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
from fastapi import FastAPI, UploadFile
from fastapi.responses import JSONResponse
from hf_diffusion_service import HFDiffusionService
from PIL import Image
import io, base64
import uvicorn
app = FastAPI()
service = HFDiffusionService()
@app.post("/generate")
async def generate(file: UploadFile):
# Read file bytes
image_bytes = await file.read()
mask = Image.open(io.BytesIO(image_bytes)).convert("L")
# Generate CT
result = service.generate_image(mask)
# Convert to base64
buffer = io.BytesIO()
result.save(buffer, format="PNG")
base64_img = base64.b64encode(buffer.getvalue()).decode("utf-8")
return JSONResponse(content={"image": f"data:image/png;base64,{base64_img}"})
# ✅ Add this to start FastAPI server for Spaces
if __name__ == "__main__":
# Run uvicorn explicitly so Hugging Face sees a running server
uvicorn.run(app, host="0.0.0.0", port=7860)
|