File size: 876 Bytes
d74182a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
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")