nowme-images / app.py
Moibe's picture
Distribución de poder de procesamiento
d90d6a6
raw
history blame
986 Bytes
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")