> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sunra.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Python

[![PyPI - Version](https://img.shields.io/pypi/v/sunra_client)](https://pypi.org/project/sunra_client)

### 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:

```bash theme={null}
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:**

```python theme={null}
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:**

```python theme={null}
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:**

```python theme={null}
import sunra_client
status = sunra_client.status(request_id, with_logs=True)
```

##### Anforderungsergebnisse abrufen

Rufen Sie das Ergebnis einer abgeschlossenen Anfrage ab.

**Beispiel:**

```python theme={null}
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.

<Note>Maximale Dateigröße: 100MB</Note>

##### 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.

```python theme={null}
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.

<CodeGroup>
  ```python PIL-Bild theme={null}
  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}")
  ```

  ```python Rohe Bytes theme={null}
  import sunra_client

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

  # Einige rohe Bytes, die Sie möglicherweise vom Lesen einer Datei oder einer Webanfrage haben
  raw_data = b"einige dateiinhalte hier"

  # Laden Sie die rohen Bytes hoch
  data_url = client.upload(
      data=raw_data,
      content_type="application/octet-stream"
  )
  print(f"Daten erfolgreich hochgeladen: {data_url}")
  ```
</CodeGroup>

### Unterstützung

Treten Sie unserer Community für Hilfe oder Diskussionen bei:

* **Discord-Community**: [Treten Sie uns bei](https://discord.gg/897qCzvCcU)
* **GitHub-Repository**: [Besuchen Sie hier](https://github.com/sunra-ai/sunra-clients)

Wir sind hier, um Ihnen zu helfen!
