PyPI - Version

Einführung

Die Client-Bibliothek für Python bietet eine benutzerfreundliche Schnittstelle zur Interaktion mit den Diensten von Sunra AI.

Installation

Um den Client in Ihr Projekt zu integrieren, installieren Sie ihn mit pip:
pip install sunra-client

Funktionen

Endpunkte aufrufen

Sunra AI verwaltet Endpunktanfragen über ein Warteschlangensystem, das Zuverlässigkeit und Skalierbarkeit gewährleistet. Verwenden Sie die subscribe-Methode, um eine Anfrage zu senden und auf das Ergebnis zu warten. Beispiel:
import sunra_client

result = sunra_client.subscribe(
    "black-forest-labs/flux-kontext-pro/text-to-image",
    arguments={
        "prompt": 'Eine von Studio Ghibli inspirierte Küstenstadt mit bunten Häusern, flatternder Wäsche und auf Fensterbänken schlafenden Katzen.',
        "width": 1024,
        "height": 768,
        "output_format": 'jpeg'
    },
    with_logs=True,
    on_enqueue=print,
    on_queue_update=print,
)
print(result)

Warteschlangenverwaltung

Verwalten Sie Ihre Anfragen mit diesen Methoden:
Eine Anfrage senden
Senden Sie eine Anfrage und rufen Sie die request_id zur späteren Verwendung ab. Beispiel:
import sunra_client

handler = sunra_client.submit(
    "black-forest-labs/flux-kontext-pro/text-to-image",
    arguments={
      "prompt": 'Eine von Studio Ghibli inspirierte Küstenstadt mit bunten Häusern, flatternder Wäsche und auf Fensterbänken schlafenden Katzen.',
      "width": 1024,
      "height": 768,
      "output_format": 'jpeg'
    },
    webhook_url="https://optional.webhook.url/for/results",
)
request_id = handler.request_id
Anfragestatus überprüfen
Rufen Sie den Status einer Anfrage ab. Beispiel:
import sunra_client
status = sunra_client.status(request_id, with_logs=True)
Anforderungsergebnisse abrufen
Rufen Sie das Ergebnis einer abgeschlossenen Anfrage ab. Beispiel:
import sunra_client
result = sunra_client.result(request_id)

Datei-Uploads

Laden Sie Dateien hoch, um URLs für die Verwendung in asynchronen Anfragen zu erhalten. Dies ist für Modelle unerlässlich, die Dateien verarbeiten, wie z. B. Bild-zu-Video- oder Sprache-zu-Text-Konverter.
Maximale Dateigröße: 100MB
Hochladen einer lokalen Datei
Sie können ganz einfach eine Datei von Ihrem lokalen Dateisystem hochladen. Dies ist nützlich für Skripte oder Anwendungen, die lokale Daten verarbeiten.
import sunra_client

# Initialisieren Sie den synchronen Client
client = sunra_client.SyncClient()

try:
  # Laden Sie eine Datei von einem gegebenen Pfad hoch
  file_url = client.upload_file(path="pfad/zu/ihrem/bild.png")
  print(f"Datei erfolgreich hochgeladen: {file_url}")
  # Diese URL kann jetzt mit einem Modellendpunkt verwendet werden
except FileNotFoundError:
  print("Fehler: Die Datei wurde am angegebenen Pfad nicht gefunden.")
except Exception as e:
  print(f"Ein Fehler ist aufgetreten: {e}")
Hochladen von In-Memory-Daten
Sie können auch Daten hochladen, die im Speicher gehalten werden, wie z. B. den Inhalt eines mit PIL (Pillow) erstellten Bildes oder eine in einer Webanfrage empfangene Datei.
import sunra_client
from PIL import Image
import io

# Initialisieren Sie den synchronen Client
client = sunra_client.SyncClient()

# Erstellen Sie ein Bild im Speicher, zum Beispiel mit Pillow
image = Image.new("RGB", (600, 400), color = 'red')
byte_arr = io.BytesIO()
image.save(byte_arr, format='PNG')
image_bytes = byte_arr.getvalue()

# Laden Sie die In-Memory-Bilddaten mit der `upload`-Methode hoch
image_url = client.upload(
    data=image_bytes,
    content_type="image/png"
)
print(f"Bild erfolgreich hochgeladen: {image_url}")

Unterstützung

Treten Sie unserer Community für Hilfe oder Diskussionen bei: Wir sind hier, um Ihnen zu helfen!