gradio / kolors_api.py
sirikan's picture
Upload folder using huggingface_hub
d74182a verified
raw
history blame contribute delete
876 Bytes
from fastapi import FastAPI, UploadFile, Form
from fastapi.responses import FileResponse
import uuid, os, subprocess
app = FastAPI()
@app.post("/generate")
async def generate(file: UploadFile, prompt: str = Form(...)):
input_dir = "input"
output_dir = "output"
os.makedirs(input_dir, exist_ok=True)
os.makedirs(output_dir, exist_ok=True)
file_location = f"{input_dir}/{uuid.uuid4()}.png"
with open(file_location, "wb") as f:
f.write(await file.read())
# เรียก Kolors inference script
result = subprocess.run([
"python", "scripts/inference.py",
"--ckpt-dir", "models/Kolors",
"--prompt", prompt,
"--outdir", output_dir,
"--input", file_location
])
output_file = f"{output_dir}/{os.path.basename(file_location)}"
return FileResponse(output_file, media_type="image/png")