|
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") |