from fastapi import FastAPI, File, UploadFile
from fastapi.responses import FileResponse
from fastapi.middleware.cors import CORSMiddleware
from rembg import remove
import tempfile
import shutil

app = FastAPI(title="Background Remove AI")

# CORS
app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

@app.post("/remove-background/")
async def remove_background(file: UploadFile = File(...)):
    try:
        # Read uploaded image
        input_bytes = await file.read()

        # Remove background
        output_bytes = remove(input_bytes)

        # Save to temp file
        temp_file = tempfile.NamedTemporaryFile(delete=False, suffix=".png")
        temp_file.write(output_bytes)
        temp_file.close()

        return FileResponse(temp_file.name, media_type="image/png", filename="removed_bg.png")
    
    except Exception as e:
        return {"error": str(e)}
