Spaces:
Running
Running
import herramientas | |
from io import BytesIO | |
import funciones, globales | |
from fastapi import FastAPI, Form | |
from fastapi import FastAPI, File, UploadFile | |
from fastapi.responses import StreamingResponse, FileResponse | |
app = FastAPI() | |
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) | |
async def genera_imagen(platillo: str = Form(...)): | |
#Obtengo los segundos disponibles de procesamiento para saber si tengo GPU disponible de la capa gratuita o me voy a método cobrado. | |
seconds_available = herramientas.obtenSegundosDisponibles() | |
print("Los segundos de procesamiento disponibles el día de hoy son: ", seconds_available) | |
if seconds_available > globales.work_cost: | |
print("Usando GPU (capa gratuita)...") | |
resultado = funciones.genera_platillo_gpu(platillo) | |
if "Error" in resultado: | |
return resultado | |
else: | |
return FileResponse(resultado, media_type="image/png", filename="imagen.png") | |
else: | |
print("Usando Inference...") | |
resultado = funciones.genera_platillo_inference(platillo) | |
print("El resultado de inference es: ", resultado) | |
if type(resultado) is str: | |
return resultado | |
else: | |
return StreamingResponse(content=resultado, media_type="image/png") |