Sunra gestiona las solicitudes de los endpoints a través de un sistema de colas, lo que garantiza la fiabilidad y la escalabilidad. Usa el método subscribe para enviar una solicitud y esperar el resultado.Ejemplo:
Copy
import sunra_clientresult = sunra_client.subscribe( "black-forest-labs/flux-kontext-pro/text-to-image", arguments={ "prompt": 'Un pueblo costero inspirado en Studio Ghibli con casas de colores, ropa tendida y gatos durmiendo en los alféizares de las ventanas.', "width": 1024, "height": 768, "output_format": 'jpeg' }, with_logs=True, on_enqueue=print, on_queue_update=print,)print(result)
Envía una solicitud y recupera el request_id para usarlo más tarde.Ejemplo:
Copy
import sunra_clienthandler = sunra_client.submit( "black-forest-labs/flux-kontext-pro/text-to-image", arguments={ "prompt": 'Un pueblo costero inspirado en Studio Ghibli con casas de colores, ropa tendida y gatos durmiendo en los alféizares de las ventanas.', "width": 1024, "height": 768, "output_format": 'jpeg' }, webhook_url="https://optional.webhook.url/for/results",)request_id = handler.request_id
Sube archivos para obtener URLs para usar en solicitudes asíncronas. Esto es esencial para los modelos que procesan archivos, como los convertidores de imagen a video o de voz a texto.
Tamaño máximo de archivo: 100MB
Subiendo un Archivo Local
Puedes subir fácilmente un archivo desde tu sistema de archivos local. Esto es útil para scripts o aplicaciones que procesan datos locales.
Copy
import sunra_client# Inicializa el cliente síncronoclient = sunra_client.SyncClient()try: # Sube un archivo desde una ruta dada file_url = client.upload_file(path="path/to/your/image.png") print(f"Archivo subido con éxito: {file_url}") # Esta URL ahora se puede usar con un endpoint de modeloexcept FileNotFoundError: print("Error: No se encontró el archivo en la ruta especificada.")except Exception as e: print(f"Ocurrió un error: {e}")
Subiendo Datos en Memoria
También puedes subir datos que se encuentran en la memoria, como el contenido de una imagen creada con PIL (Pillow) o un archivo recibido en una solicitud web.
Copy
import sunra_clientfrom PIL import Imageimport io# Inicializa el cliente síncronoclient = sunra_client.SyncClient()# Crea una imagen en memoria, por ejemplo con Pillowimage = Image.new("RGB", (600, 400), color = 'red')byte_arr = io.BytesIO()image.save(byte_arr, format='PNG')image_bytes = byte_arr.getvalue()# Sube los datos de la imagen en memoria usando el método `upload`image_url = client.upload( data=image_bytes, content_type="image/png")print(f"Imagen subida con éxito: {image_url}")