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

# Video erstellen

> Erstellt eine Video-Generierungsaufgabe

## Überblick

Die Video-Generierung ist asynchron. Nach dem Absenden einer Anfrage erhalten Sie eine `task_id` und eine `poll_url`. Anschließend pollen Sie den Task, bis das endgültige Ergebnis vorliegt.

### Polling-Verhalten

Für das zuverlässigste Polling-Verhalten verwenden Sie genau die `poll_url`, die in der Create-Response zurückgegeben wird.

Wenn eine Create-Response `poll_url` zurückgibt, verwenden Sie genau diese URL. Wenn sie auf `/v1/tasks/{id}` zeigt, behandeln Sie sie als kanonischen festen Status-Endpunkt.

### Modell- und Medienverhalten

Die Audioausgabe ist modellabhängig. In TokenLab sind Veo 3- und Seedance-Anfragen standardmäßig mit Audio aktiviert, wenn `output_audio` weggelassen wird. Wenn ein Modell Audiosteuerung unterstützt, verwenden Sie `output_audio`, um sie explizit umzuschalten. Die Aliase `outputAudio` und `generate_audio` werden aus Kompatibilitätsgründen akzeptiert und müssen mit `output_audio` übereinstimmen, wenn mehrere Felder gesendet werden.

Für Produktionsintegrationen sollten Sie öffentlich erreichbare `https`-URLs für Bild-, Video- und Audioeingaben bevorzugen. Kompatible Modelle unterstützen weiterhin Inline-`data:`-URLs, aber große base64-Payloads erschweren Retry, Beobachtbarkeit und Debugging.

## Request-Body

<ParamField body="model" type="string" default="veo3.1">
  Video-Modell-ID. Verwenden Sie die von TokenLab angezeigten Modell-IDs wie `veo3.1`, `wan-2.7`, `happyhorse-1.0`, `viduq3`, `pixverse-v6` oder `kling-3.0-video`; waehlen Sie text-to-video, image-to-video, reference-to-video oder andere Varianten mit `operation`. Siehe [Video Generation Guide](/de/guides/video-generation) und [Models API](/de/api-reference/models/list-models).
</ParamField>

<Note>
  **PixVerse**

  * Modell: `pixverse-c1`, `pixverse-v6`, `pixverse-v5.6`
  * Operationen: `text-to-video`, `image-to-video`, `start-end-to-video`, `reference-to-video`
  * Audio-Auswahl: `output_audio`, Standard `false`

  Auf TokenLab akzeptieren die obigen PixVerse-Modelle `operation=video-extension` nicht.

  **HappyHorse**

  * Modell: `happyhorse-1.0`
  * Operationen: `text-to-video`, `image-to-video`, `reference-to-video`, `video-to-video`
  * Audio-Auswahl: Senden Sie `output_audio` nicht
</Note>

<ParamField body="prompt" type="string" required>
  Textbeschreibung des Videos. Für die meisten öffentlichen Videomodelle ist dieses Feld erforderlich.
</ParamField>

<ParamField body="operation" type="string">
  Auszuführende Video-Operation. Unterstützte Werte sind `text-to-video`, `image-to-video`, `reference-to-video`, `start-end-to-video`, `video-to-video`, `video-extension`, `audio-to-video` und `motion-control`. TokenLab kann die Operation aus den Eingaben ableiten, aber in Produktion wird eine explizite Angabe empfohlen.
</ParamField>

<ParamField body="image_url" type="string">
  Startbild-URL für Bild-zu-Video. Für die breiteste Kompatibilität sollte `image_url` bevorzugt werden.
</ParamField>

<ParamField body="image" type="string">
  Inline-Bild als `data:`-URL (zum Beispiel `data:image/jpeg;base64,...`). Wird von kompatiblen Modellen unterstützt, aber `image_url` ist in der Praxis robuster.
</ParamField>

<ParamField body="reference_images" type="array">
  Referenzbilder für Flows mit dedizierter Referenz-Konditionierung. Die zulässige Anzahl ist modellabhängig. Für `seedance-2.0` und `seedance-2.0-fast` unterstützt TokenLab derzeit bis zu 9 Referenzbilder sowie zusätzlich bis zu 3 Referenzvideos und 3 Referenzaudios. Für Modellauswahl, 4K-Grenzen und Mini-Hinweise siehe den [Leitfaden zu Seedance 2.0 Videomodellen](/de/guides/seedance-2-video). Öffentliche `https`-URLs werden empfohlen; kompatible Modelle akzeptieren auch `data:`-URLs. Für `grok-imagine-video` akzeptiert reference-to-video bis zu 7 Bildreferenzen und `duration` ist auf 10 Sekunden begrenzt. `grok-imagine-video-1.5-preview` ist nur image-to-video und akzeptiert keine Referenzbilder.
</ParamField>

<ParamField body="material_asset_id" type="string">
  TokenLab Seedance-Material-ID aus [Material erstellen](/de/api-reference/video/create-material-asset) oder aus der automatischen Bildvorbereitung. Verwenden Sie sie nach `ACTIVE` mit Seedance-Modellen, die die TokenLab-Materialbibliothek verwenden können.
</ParamField>

<ParamField body="material_asset_ids" type="array">
  Mehrere TokenLab Seedance-Material-IDs. Sie teilen sich das Seedance-Bildreferenzlimit mit `reference_images`; das ausgewählte Modell muss die TokenLab-Materialbibliothek verwenden können.
</ParamField>

<Info>
  Wenn das ausgewählte Seedance-Modell die TokenLab-Materialbibliothek verwenden kann, bereitet TokenLab Bildfelder (`image`, `image_url`, `image_urls`, `reference_images`, `start_image`, `end_image`) vor der Generierung als wiederverwendbare Materialien vor. Ist die Vorbereitung nach 60 Sekunden nicht abgeschlossen, gibt die API `409 seedance_material_preparing` mit `auto_material_asset_ids` zurück; versuchen Sie es erneut, sobald diese Materialien `ACTIVE` sind. Kann das ausgewählte Modell die Materialbibliothek nicht verwenden, laufen normale Bildeingaben über den regulären Bildpfad und explizite Material-IDs schlagen sicher mit einem Materialverfügbarkeitsfehler fehl.
</Info>

<ParamField body="reference_image_type" type="string">
  Optionales Rollenfeld für Modelle, die zwischen `asset` und `style` unterscheiden.
</ParamField>

<ParamField body="kling_elements" type="array">
  Kling 3.0-Elementreferenzen. Nur für bildkonditionierte Anfragen mit `kling-3.0-video` unterstützt. Definieren Sie 1-3 Elemente; jedes Element enthält `name`, optional `description` und `element_input_urls` mit 2-4 Bild-URLs. Referenzieren Sie ein Element im `prompt` mit `@name`. Kombinieren Sie `kling_elements` nicht mit `output_audio=true`; lassen Sie `output_audio` weg oder setzen Sie es für Elementreferenzen auf `false`.
</ParamField>

<ParamField body="video_url" type="string">
  Öffentlich erreichbare Quellvideo-URL. Erforderlich für Video-URL-basierte `video-to-video`-Flows und für `motion-control`; einige abgeleitete Flows verwenden stattdessen `task_id`.
</ParamField>

<ParamField body="video_urls" type="array">
  Zusätzliche Referenzvideo-Eingaben für Modelle mit multimodaler Referenz-Konditionierung. Die zulässige Anzahl ist modellabhängig. Für `seedance-2.0` und `seedance-2.0-fast` unterstützt TokenLab derzeit bis zu 3 Referenzvideos.
</ParamField>

<ParamField body="audio_url" type="string">
  Öffentlich erreichbare Audio-URL für `audio-to-video`-Modelle.
</ParamField>

<ParamField body="audio_urls" type="array">
  Zusätzliche Referenzaudio-Eingaben für Modelle mit multimodaler Referenz-Konditionierung. Die zulässige Anzahl ist modellabhängig. Für `seedance-2.0` und `seedance-2.0-fast` unterstützt TokenLab derzeit bis zu 3 Referenzaudios.
</ParamField>

<ParamField body="task_id" type="string">
  Task-ID für bestimmte Fortsetzungs-, Erweiterungs- oder abgeleitete Flows.
</ParamField>

<ParamField body="extend_at" type="integer">
  Modellspezifischer Startoffset für bestimmte `video-extension`-Flows.
</ParamField>

<ParamField body="extend_times" type="string">
  Modellspezifischer Multiplikator oder Wiederholungszähler für bestimmte `video-extension`-Flows.
</ParamField>

<ParamField body="duration" type="integer">
  Dauer des generierten Ausgabevideos in Sekunden. Für Seedance 1.5/2.0-Modelle wird bei Auslassung `5` verwendet; `-1` lässt das Modell innerhalb des unterstützten Bereichs wählen, und die Abrechnung wird bis zum Task-Abschluss konservativ geschätzt.
</ParamField>

<ParamField body="seconds" type="integer">
  Kompatibilitätsalias für `duration`. Wenn `seconds` und `duration` gemeinsam gesendet werden, müssen sie identisch sein. Für Seedance hat `seconds=-1` dieselbe Auto-Dauer-Bedeutung wie `duration=-1`.
</ParamField>

<ParamField body="aspect_ratio" type="string">
  Kanonisches Seitenverhältnis, zum Beispiel `adaptive`, `16:9`, `9:16`, `1:1`, `4:3`, `3:4` oder `21:9`. Seedance verwendet bei Auslassung standardmäßig `adaptive`.
</ParamField>

<ParamField body="resolution" type="string">
  Modellabhängige Ausgabeauflösung. Seedance verwendet standardmäßig `720p`; `seedance-2.0` unterstützt `480p`, `720p`, `1080p` und `4k`, während `seedance-2.0-fast` und `seedance-2.0-mini` auf `480p` und `720p` begrenzt sind.
</ParamField>

<ParamField body="output_audio" type="boolean">
  Kanonischer, modellabhängiger Schalter für Audioausgabe. Veo 3 und Seedance verwenden bei Auslassung standardmäßig `true`. `kling-3.0-video` akzeptiert diese Auswahl für Anfragen ohne Elementreferenzen und erzeugt bei Auslassung standardmäßig stumme Ausgabe. Kombinieren Sie `output_audio=true` nicht mit `kling_elements`.
</ParamField>

<ParamField body="draft" type="boolean">
  Seedance 1.5 Pro Draft-Workflow-Schalter. Verwenden Sie `draft=true` mit Seedance-Modellen, die Draft-Aufgaben unterstützen. Nicht zusammen mit `draft_task_id` senden.
</ParamField>

<ParamField body="draft_task_id" type="string">
  Seedance 1.5 Pro Draft-Promotion-Task-ID. Senden Sie eine frühere Draft-Task-ID, um das finale Video zu erstellen; dies ist kein generisches Videofeld.
</ParamField>

<ParamField body="ratio" type="string">
  Kompatibilitätsalias für `aspect_ratio`. Wenn `ratio` und `aspect_ratio` gemeinsam gesendet werden, müssen sie identisch sein.
</ParamField>

<ParamField body="generate_audio" type="boolean">
  Kompatibilitätsalias für `output_audio`. Wenn `generate_audio`, `output_audio` und `outputAudio` gemeinsam auftreten, müssen alle Werte übereinstimmen.
</ParamField>

<ParamField body="execution_expires_after" type="integer">
  Optionale Ausführungsablaufzeit in Sekunden für kompatible Videomodelle. Seedance verwendet bei Auslassung standardmäßig `172800` Sekunden.
</ParamField>

<ParamField body="priority" type="integer">
  Optionale Task-Priorität von `0` bis `9` für kompatible Videomodelle. Kombinieren Sie `priority` nicht mit `service_tier=flex`.
</ParamField>

<ParamField body="safety_identifier" type="string">
  Optionale Sicherheitskennung des Endnutzers für kompatible Videomodelle. Wenn sie für Seedance fehlt, verwendet TokenLab den Wert von `user`, sofern vorhanden.
</ParamField>

<ParamField body="service_tier" type="string">
  `default` wird für Seedance 2.0-Modelle als kompatibler No-op akzeptiert. `flex` ist nur erlaubt, wenn das ausgewählte Modell es unterstützt.
</ParamField>

<ParamField body="frames" type="integer">
  Optionale Bildanzahl für kompatible Videomodelle. Seedance 2.0-Modelle und Seedance 1.5 Pro unterstützen dieses Feld nicht.
</ParamField>

<ParamField body="camera_fixed" type="boolean">
  Optionaler Festkamera-Schalter für kompatible Videomodelle. Seedance 2.0-Modelle unterstützen dieses Feld nicht.
</ParamField>

<ParamField body="fps" type="integer">
  Bildrate (1–120). Nur bei Modellen wirksam, die FPS öffentlich unterstützen.
</ParamField>

<ParamField body="negative_prompt" type="string">
  Inhalte, die in der Generierung vermieden werden sollen.
</ParamField>

<ParamField body="seed" type="integer">
  Zufallswert für reproduzierbare Generierung. Seedance verwendet bei Auslassung `-1` als Zufallswert.
</ParamField>

<ParamField body="cfg_scale" type="number">
  Prompt-Treue (0–20), nur bei unterstützenden Modellen wirksam.
</ParamField>

<ParamField body="motion_strength" type="number">
  Bewegungsstärke (0–1), nur bei unterstützenden Modellen wirksam.
</ParamField>

<ParamField body="start_image" type="string">
  Startframe-Bild-URL oder kompatibler Bildeingang für `start-end-to-video`.
</ParamField>

<ParamField body="end_image" type="string">
  Endframe-Bild-URL oder kompatibler Bildeingang für `start-end-to-video`.
</ParamField>

<ParamField body="size" type="string">
  Modellspezifische Größenstufe für kompatible Videomodelle.
</ParamField>

<ParamField body="watermark" type="boolean">
  Optionaler Wasserzeichen-Schalter für Modelle, die ihn anbieten. Seedance verwendet bei Auslassung standardmäßig `false`.
</ParamField>

<ParamField body="effect_type" type="string">
  Modellspezifischer Effekt-Selektor für bestimmte Editier- oder Effekt-Flows.
</ParamField>

<ParamField body="user" type="string">
  Eindeutige Kennung des Endnutzers. Für Seedance verwendet TokenLab diesen Wert auch als `safety_identifier`, wenn dieses Feld fehlt.
</ParamField>

## Kompatibilitätshinweise

* Kanonische öffentliche Felder bleiben in snake\_case: `aspect_ratio`, `output_audio`, `reference_images` und `reference_image_type`.
* Aus Kompatibilitätsgründen akzeptiert TokenLab auch `ratio`, `generate_audio`, `outputAudio`, `seconds`, `referenceImages` und `referenceImageType`.
* Wenn kanonische Felder und Alias-Felder gemeinsam gesendet werden, müssen ihre Werte übereinstimmen; widersprüchliche Aliase werden vor Task-Erstellung abgelehnt.
* Wenn `operation` weggelassen wird, leitet TokenLab sie aus den Eingaben ab. Für Produktionstraffic wird eine explizite `operation` weiterhin empfohlen.

## Best Practices für Eingaben

* Für `image_url`, `reference_images`, `video_url` und `audio_url` sollten öffentlich erreichbare `https`-URLs bevorzugt werden.
* Vermeiden Sie möglichst, base64 und Remote-URLs innerhalb derselben Anfrage zu mischen.
* Remote-Medien-URLs sollten lange genug gültig sein, um Wiederholungen und die asynchrone Task-Erstellung abzudecken.

## Seedance-Parameter

Für Seedance 1.5/2.0-Modelle folgt der einheitliche Endpunkt den TokenLab-Feldnamen und akzeptiert zusätzlich die kompatiblen Aliase `seconds`, `ratio` und `generate_audio`. Weggelassene Seedance-Parameter verwenden diese Standardwerte: `duration=5`, `resolution=720p`, `aspect_ratio=adaptive`, `output_audio=true`, `watermark=false`, `return_last_frame=false`, `execution_expires_after=172800`, `priority=0` und `seed=-1`.

`duration=-1` oder `seconds=-1` lässt Seedance die Ausgabedauer innerhalb des unterstützten Modellbereichs wählen. TokenLab schätzt die Kosten bis zum Task-Abschluss konservativ und rechnet anschließend nach der abgeschlossenen Task-Usage ab, wenn diese verfügbar ist. `service_tier=default` wird für Seedance 2.0 als kompatibler No-op akzeptiert; `service_tier=flex`, `frames` und `camera_fixed` werden abgelehnt, wenn das ausgewählte Modell sie nicht unterstützt.

### Seedance-Beispiel

```bash cURL theme={null}
curl -X POST "https://api.tokenlab.sh/v1/videos/generations" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2.0",
    "prompt": "A sleek product reveal with cinematic camera movement",
    "operation": "text-to-video",
    "duration": -1,
    "aspect_ratio": "adaptive",
    "resolution": "720p",
    "output_audio": true
  }'
```

## Antwort

<ResponseField name="id" type="string">
  Kanonische asynchrone Aufgaben-ID. Wenn `id` und `task_id` beide vorhanden sind, behandeln Sie sie als dieselbe Aufgabe.
</ResponseField>

<ResponseField name="task_id" type="string">
  Eindeutige Task-ID für das Polling.
</ResponseField>

<ResponseField name="poll_url" type="string">
  Empfohlene Polling-URL für diesen Task. Verwenden Sie diesen Pfad unverändert.
</ResponseField>

<ResponseField name="billing_transaction_id" type="string">
  TokenLab-Abrechnungstransaktions-ID, wenn die Abrechnung bereits abgeschlossen ist. Dies ist die Kennung für Dashboard/Abgleich und getrennt von der asynchronen `id` / `task_id`.
</ResponseField>

<ResponseField name="status" type="string">
  Initialer Status: `pending`.
</ResponseField>

<ResponseField name="created" type="integer">
  Unix-Zeitstempel der Task-Erstellung.
</ResponseField>

<ResponseField name="model" type="string">
  Verwendetes Modell.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST "https://api.tokenlab.sh/v1/videos/generations" \
    -H "Authorization: Bearer sk-your-api-key" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "veo3.1",
      "prompt": "A cat walking through a garden, cinematic lighting",
      "operation": "text-to-video",
      "duration": 4,
      "aspect_ratio": "16:9"
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "task_id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "poll_url": "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "status": "pending",
    "model": "veo3.1",
    "created": 1706000000
  }
  ```
</ResponseExample>

## Bild-zu-Video

```python theme={null}
response = requests.post(
    "https://api.tokenlab.sh/v1/videos/generations",
    headers={"Authorization": "Bearer sk-your-api-key"},
    json={
        "model": "hailuo-2.3-standard",
        "prompt": "The scene begins from the provided image and adds gentle natural motion.",
        "operation": "image-to-video",
        "image_url": "https://example.com/image.jpg",
        "duration": 6,
        "aspect_ratio": "16:9"
    }
)
```

## Kling 3.0 Elements

Verwenden Sie `kling_elements` mit `kling-3.0-video`, wenn Sie Elementreferenzen benötigen. Senden Sie eine bildkonditionierte Anfrage (`image_url`, `image_urls`, `start_image` oder `end_image`) und referenzieren Sie jedes Element im Prompt mit `@name`. Kombinieren Sie `kling_elements` nicht mit `output_audio=true`; lassen Sie `output_audio` weg oder setzen Sie es für Elementreferenzen auf `false`.

```python theme={null}
response = requests.post("https://api.tokenlab.sh/v1/videos/generations",
    headers=headers,
    json={
        "model": "kling-3.0-video",
        "prompt": "Place @hero_bag on a studio turntable with soft product lighting.",
        "operation": "image-to-video",
        "image_url": "https://example.com/studio-start.png",
        "duration": 5,
        "resolution": "720p",
        "kling_elements": [
            {
                "name": "hero_bag",
                "description": "black leather handbag",
                "element_input_urls": [
                    "https://example.com/bag-front.png",
                    "https://example.com/bag-side.png"
                ]
            }
        ]
    }
)
```

## Referenzbild-zu-Video

Verwenden Sie `operation=reference-to-video`, wenn das Modell eine dedizierte Referenz-Konditionierung unterstützt. Im Modelldetails von TokenLab werden Bildreferenzen über `reference_images` übergeben, multimodale Referenzvideos und -audios über `video_urls` und `audio_urls`. Für `seedance-2.0` und `seedance-2.0-fast` unterstützt TokenLab derzeit bis zu 9 Referenzbilder sowie zusätzlich bis zu 3 Referenzvideos und 3 Referenzaudios. Für Modellauswahl, 4K-Grenzen und Mini-Hinweise siehe den [Leitfaden zu Seedance 2.0 Videomodellen](/de/guides/seedance-2-video). `duration` steuert nur die Länge des generierten Outputs; es setzt kein separates Limit für die Dauer des Referenzvideo-Eingangs. Für `grok-imagine-video` akzeptiert reference-to-video bis zu 7 Bildreferenzen (`reference_images` oder `image_urls`) und `duration` ist auf 10 Sekunden begrenzt. Kombinieren Sie Referenzbilder nicht mit `image_url` / `image` als Startbild-Eingaben. `grok-imagine-video-1.5-preview` ist nur image-to-video.

```python theme={null}
response = requests.post(
    "https://api.tokenlab.sh/v1/videos/generations",
    headers={"Authorization": "Bearer sk-your-api-key"},
    json={
        "model": "veo3.1",
        "prompt": "Keep the same subject identity and palette while adding subtle motion.",
        "operation": "reference-to-video",
        "reference_images": [
            "https://example.com/ref-a.jpg",
            "https://example.com/ref-b.jpg"
        ],
        "reference_image_type": "asset",
        "duration": 8,
        "resolution": "720p",
        "aspect_ratio": "9:16"
    }
)
```

## Start- und Endframe-Steuerung

Verwenden Sie `start_image` und `end_image`, um ersten und letzten Frame zu kontrollieren.

```python theme={null}
response = requests.post(
    "https://api.tokenlab.sh/v1/videos/generations",
    headers={"Authorization": "Bearer sk-your-api-key"},
    json={
        "model": "viduq2-pro",
        "prompt": "Smooth transition from day to night",
        "operation": "start-end-to-video",
        "start_image": "https://example.com/day.jpg",
        "end_image": "https://example.com/night.jpg",
        "duration": 5,
        "resolution": "720p",
        "aspect_ratio": "16:9"
    }
)
```

## Video-zu-Video

Für `grok-imagine-video` video-to-video senden Sie eine öffentliche HTTPS-`.mp4`-URL in `video_url`. TokenLab übersetzt sie in den xAI-REST-Body `video.url`. Sie können `resolution` auf `480p` oder `720p` setzen; `duration` und `aspect_ratio` werden für diesen Edit-Flow nicht akzeptiert.

Wenn ein Modell ein bestehendes Video als Haupteingabe akzeptiert, verwenden Sie `operation=video-to-video`.

```python theme={null}
response = requests.post(
    "https://api.tokenlab.sh/v1/videos/generations",
    headers={"Authorization": "Bearer sk-your-api-key"},
    json={
        "model": "grok-imagine-video",
        "operation": "video-to-video",
        "video_url": "https://example.com/source.mp4",
        "prompt": "Enhance the clip while preserving the original motion.",
        "resolution": "720p"
    }
)
```

## Bewegungssteuerung

Wenn ein Modell sowohl ein Motivbild als auch ein Bewegungsreferenzvideo benötigt, verwenden Sie `operation=motion-control`. TokenLab normalisiert die öffentliche Form `image_url` + `video_url` in das Motion-Control-Anfrageformat dieses Modells.

```python theme={null}
response = requests.post(
    "https://api.tokenlab.sh/v1/videos/generations",
    headers={"Authorization": "Bearer sk-your-api-key"},
    json={
        "model": "kling-3.0-motion-control",
        "operation": "motion-control",
        "prompt": "Keep the subject stable while following the motion reference.",
        "image_url": "https://example.com/subject.png",
        "video_url": "https://example.com/motion.mp4",
        "resolution": "720p"
    }
)
```

## Modellerkennung

Der öffentliche Videomodellbestand und die unterstützten Operationen ändern sich mit der Zeit. Verwenden Sie die [Models API](/de/api-reference/models/list-models) als aktuelle Referenz, bevor Sie einen modellspezifischen Flow integrieren:

```bash theme={null}
curl "https://api.tokenlab.sh/v1/models?recommended_for=video" \
  -H "Authorization: Bearer sk-your-api-key"

curl "https://api.tokenlab.sh/v1/models/veo3.1" \
  -H "Authorization: Bearer sk-your-api-key"
```

Lesen Sie die Modelldetail-Antwort, bevor Sie sich auf modellspezifische Operationen oder Felder verlassen. Operationen wie `audio-to-video` und `video-extension` sind modellspezifisch; prüfen Sie die aktuelle Verfügbarkeit dort, statt sich auf statische Beispiele auf dieser Seite zu verlassen.
