Spaces:
Sleeping
Sleeping
| 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) | |
| print(herramientas.imprimeTime()) | |
| 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") |