File size: 986 Bytes
d90d6a6
5b38336
d90d6a6
5b38336
d90d6a6
5b38336
 
 
 
 
 
 
 
 
 
 
d90d6a6
 
 
 
 
 
 
 
 
 
 
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
from fastapi import FastAPI, Form
from fastapi import FastAPI, File, UploadFile
from fastapi.responses import StreamingResponse, FileResponse
from io import BytesIO
import funciones, globales

app = FastAPI()

@app.post("/echo-image/")
async def echo_image(image: UploadFile = File(...)):
    if not image.content_type.startswith("image/"):
        return {"error": "El archivo no es una imagen"}

    contents = await image.read()
    return StreamingResponse(BytesIO(contents), media_type=image.content_type)

@app.post("/genera-imagen/")
async def genera_imagen(platillo: str = Form(...)):

    if globales.seconds_available > 25:
        print("GPU...")
        resultado = funciones.genera_platillo_gpu(platillo)
        return FileResponse(resultado, media_type="image/png", filename="imagen.png")
    else: 
        print("Inference...")
        resultado = funciones.genera_platillo_inference(platillo)
        return StreamingResponse(content=resultado, media_type="image/png")