Sunra gestisce le richieste degli endpoint tramite un sistema di code, garantendo affidabilità e scalabilità. Usa il metodo subscribe per inviare una richiesta e attendere il risultato.Esempio:
Copy
import sunra_clientresult = sunra_client.subscribe( "black-forest-labs/flux-kontext-pro/text-to-image", arguments={ "prompt": 'Una città di mare ispirata allo Studio Ghibli con case colorate, panni stesi e gatti che dormono sui davanzali.', "width": 1024, "height": 768, "output_format": 'jpeg' }, with_logs=True, on_enqueue=print, on_queue_update=print,)print(result)
Invia una richiesta e recupera il request_id per un uso successivo.Esempio:
Copy
import sunra_clienthandler = sunra_client.submit( "black-forest-labs/flux-kontext-pro/text-to-image", arguments={ "prompt": 'Una città di mare ispirata allo Studio Ghibli con case colorate, panni stesi e gatti che dormono sui davanzali.', "width": 1024, "height": 768, "output_format": 'jpeg' }, webhook_url="https://optional.webhook.url/for/results",)request_id = handler.request_id
Carica i file per ottenere URL da utilizzare nelle richieste asincrone. Ciò è essenziale per i modelli che elaborano file, come i convertitori da immagine a video o da parlato a testo.
Dimensione massima del file: 100 MB
Caricamento di un file locale
Puoi caricare facilmente un file dal tuo filesystem locale. Ciò è utile per script o applicazioni che elaborano dati locali.
Copy
import sunra_client# Inizializza il client sincronoclient = sunra_client.SyncClient()try: # Carica un file da un percorso specificato file_url = client.upload_file(path="percorso/della/tua/immagine.png") print(f"File caricato con successo: {file_url}") # Questo URL può ora essere utilizzato con un endpoint del modelloexcept FileNotFoundError: print("Errore: il file non è stato trovato nel percorso specificato.")except Exception as e: print(f"Si è verificato un errore: {e}")
Caricamento di dati in memoria
Puoi anche caricare dati che si trovano in memoria, come il contenuto di un’immagine creata con PIL (Pillow) o un file ricevuto in una richiesta web.
Copy
import sunra_clientfrom PIL import Imageimport io# Inizializza il client sincronoclient = sunra_client.SyncClient()# Crea un'immagine in memoria, ad esempio con Pillowimage = Image.new("RGB", (600, 400), color = 'red')byte_arr = io.BytesIO()image.save(byte_arr, format='PNG')image_bytes = byte_arr.getvalue()# Carica i dati dell'immagine in memoria utilizzando il metodo `upload`image_url = client.upload( data=image_bytes, content_type="image/png")print(f"Immagine caricata con successo: {image_url}")