OpenClaw Video-Generierung: KI-Videos in Minuten
Schnellstart
Abschnitt betitelt „Schnellstart“- Setze einen API-Key für einen unterstützten Provider:
export GEMINI_API_KEY="your-key"- Optional kannst du ein Standardmodell festlegen:
openclaw config set agents.defaults.videoGenerationModel.primary "google/veo-3.1-fast-generate-preview"- Frag den Agent:
Generiere ein 5-sekündiges kinoreifes Video von einem freundlichen Hummer, der bei Sonnenuntergang surft.
Der Agent ruft video_generate automatisch auf. Du musst das Tool nicht extra freischalten.
Was passiert, wenn du ein Video generierst
Abschnitt betitelt „Was passiert, wenn du ein Video generierst“Die Videogenerierung läuft asynchron ab. Wenn der Agent video_generate in einer Session aufruft:
- OpenClaw sendet die Anfrage an den Provider und gibt sofort eine Task-ID zurück.
- Der Provider verarbeitet den Job im Hintergrund (normalerweise 30 Sekunden bis 5 Minuten, je nach Provider und Auflösung).
- Sobald das Video fertig ist, weckt OpenClaw dieselbe Session mit einem internen Completion-Event.
- Der Agent postet das fertige Video zurück in die ursprüngliche Konversation.
Solange ein Job läuft, geben doppelte video_generate-Aufrufe in derselben Session den aktuellen Task-Status zurück, anstatt eine neue Generierung zu starten. Nutze openclaw tasks list oder openclaw tasks show <taskId>, um den Fortschritt über das CLI zu prüfen.
Außerhalb von Session-basierten Agent-Runs (zum Beispiel bei direkten Tool-Aufrufen) nutzt das Tool die Inline-Generierung und gibt den finalen Media-Pfad im selben Schritt zurück.
Task-Lebenszyklus
Abschnitt betitelt „Task-Lebenszyklus“Jede video_generate-Anfrage durchläuft vier Zustände:
- queued — Task erstellt, wartet auf Annahme durch den Provider.
- running — Provider verarbeitet die Anfrage (normalerweise 30 Sekunden bis 5 Minuten, je nach Provider und Auflösung).
- succeeded — Video ist fertig; der Agent wacht auf und postet es in die Konversation.
- failed — Provider-Fehler oder Timeout; der Agent wacht mit Fehlerdetails auf.
Prüfe den Status über das CLI:
openclaw tasks listopenclaw tasks show <taskId>openclaw tasks cancel <taskId>Vermeidung von Duplikaten: Wenn ein Video-Task für die aktuelle Session bereits auf queued oder running steht, gibt video_generate den Status des existierenden Tasks zurück. Nutze action: "status", um den Status explizit zu prüfen, ohne eine neue Generierung anzustoßen.
Unterstützte Provider
Abschnitt betitelt „Unterstützte Provider“| Provider | Default model | Text | Bild-Ref | Video-Ref | API key |
|---|---|---|---|---|---|
| Alibaba | wan2.6-t2v | Ja | Ja (Remote-URL) | Ja (Remote-URL) | MODELSTUDIO_API_KEY |
| BytePlus | seedance-1-0-lite-t2v-250428 | Ja | 1 Bild | Nein | BYTEPLUS_API_KEY |
| ComfyUI | workflow | Ja | 1 Bild | Nein | COMFY_API_KEY oder COMFY_CLOUD_API_KEY |
| fal | fal-ai/minimax/video-01-live | Ja | 1 Bild | Nein | FAL_KEY |
veo-3.1-fast-generate-preview | Ja | 1 Bild | 1 Video | GEMINI_API_KEY | |
| MiniMax | MiniMax-Hailuo-2.3 | Ja | 1 Bild | Nein | MINIMAX_API_KEY |
| OpenAI | sora-2 | Ja | 1 Bild | 1 Video | OPENAI_API_KEY |
| Qwen | wan2.6-t2v | Ja | Ja (Remote-URL) | Ja (Remote-URL) | QWEN_API_KEY |
| Runway | gen4.5 | Ja | 1 Bild | 1 Video | RUNWAYML_API_SECRET |
| Together | Wan-AI/Wan2.2-T2V-A14B | Ja | 1 Bild | Nein | TOGETHER_API_KEY |
| Vydra | veo3 | Ja | 1 Bild (kling) | Nein | VYDRA_API_KEY |
| xAI | grok-imagine-video | Ja | 1 Bild | 1 Video | XAI_API_KEY |
Einige Provider akzeptieren zusätzliche oder alternative API key Umgebungsvariablen. Schau dir die einzelnen Provider-Seiten für Details an.
Führe video_generate action=list aus, um verfügbare Provider, Modelle und Runtime-Modi zur Laufzeit zu prüfen.
Matrix der deklarierten Funktionen
Abschnitt betitelt „Matrix der deklarierten Funktionen“Dies ist der explizite Modus-Vertrag, den video_generate, Vertragstests und der Shared Live Sweep verwenden.
| Provider | generate | imageToVideo | videoToVideo | Aktuelle Shared Live Lanes |
|---|---|---|---|---|
| Alibaba | Ja | Ja | Ja | generate, imageToVideo; videoToVideo übersprungen, da dieser Provider Remote http(s) Video-URLs benötigt |
| BytePlus | Ja | Ja | Nein | generate, imageToVideo |
| ComfyUI | Ja | Ja | Nein | Nicht im Shared Sweep; Workflow-spezifische Abdeckung erfolgt über Comfy-Tests |
| fal | Ja | Ja | Nein | generate, imageToVideo |
| Ja | Ja | Ja | generate, imageToVideo; Shared videoToVideo übersprungen, da der aktuelle Buffer-basierte Gemini/Veo Sweep diesen Input nicht annimmt | |
| MiniMax | Ja | Ja | Nein | generate, imageToVideo |
| OpenAI | Ja | Ja | Ja | generate, imageToVideo; Shared videoToVideo übersprungen, da dieser Pfad aktuell Provider-seitigen Inpaint/Remix-Zugriff benötigt |
| Qwen | Ja | Ja | Ja | generate, imageToVideo; videoToVideo übersprungen, da dieser Provider Remote http(s) Video-URLs benötigt |
| Runway | Ja | Ja | Ja | generate, imageToVideo; videoToVideo läuft nur, wenn das gewählte Modell runway/gen4_aleph ist |
| Together | Ja | Ja | Nein | generate, imageToVideo |
| Vydra | Ja | Ja | Nein | generate; Shared imageToVideo übersprungen, da das gebündelte veo3 nur Text unterstützt und kling eine Remote-Bild-URL benötigt |
| xAI | Ja | Ja | Ja | generate, imageToVideo; videoToVideo übersprungen, da dieser Provider aktuell eine Remote-MP4-URL benötigt |
Tool-Parameter
Abschnitt betitelt „Tool-Parameter“Erforderlich
Abschnitt betitelt „Erforderlich“| Parameter | Typ | Beschreibung |
|---|---|---|
prompt | string | Textbeschreibung des zu generierenden Videos (erforderlich für action: "generate") |
Content-Inputs
Abschnitt betitelt „Content-Inputs“| Parameter | Typ | Beschreibung |
|---|---|---|
image | string | Einzelnes Referenzbild (Pfad oder URL) |
images | string[] | Mehrere Referenzbilder (bis zu 5) |
video | string | Einzelnes Referenzvideo (Pfad oder URL) |
videos | string[] | Mehrere Referenzvideos (bis zu 4) |
Style-Optionen
Abschnitt betitelt „Style-Optionen“| Parameter | Typ | Beschreibung |
|---|---|---|
aspectRatio | string | 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9 |
resolution | string | 480P, 720P, 768P oder 1080P |
durationSeconds | number | Zieldauer in Sekunden (gerundet auf den nächsten vom Provider unterstützten Wert) |
size | string | Größen-Hinweis, sofern vom Provider unterstützt |
audio | boolean | Aktiviert generiertes Audio, falls unterstützt |
watermark | boolean | Schaltet Provider-Wasserzeichen um, falls unterstützt |
Fortgeschritten
Abschnitt betitelt „Fortgeschritten“| Parameter | Typ | Beschreibung |
|---|---|---|
action | string | "generate" (Standard), "status" oder "list" |
model | string | Provider/Modell-Override (z. B. runway/gen4.5) |
filename | string | Hinweis für den Ausgabe-Dateinamen |
Nicht jeder Provider unterstützt alle Parameter. OpenClaw normalisiert die Dauer automatisch auf den nächsten unterstützten Wert. Zudem werden Geometrie-Hinweise wie size zu aspectRatio umgewandelt, falls ein Fallback-Provider eine andere Steuerung verwendet. Nicht unterstützte Overrides werden ignoriert und als Warnung im Tool-Ergebnis ausgegeben. Harte Limits (wie zu viele Referenz-Inputs) führen zu einem Fehler vor der Übermittlung.
Die Tool-Ergebnisse enthalten die angewendeten Einstellungen. Wenn OpenClaw die Dauer oder Geometrie bei einem Provider-Fallback anpasst, spiegeln die zurückgegebenen Werte für durationSeconds, size, aspectRatio und resolution die tatsächliche Übermittlung wider. details.normalization erfasst dabei die Übersetzung vom angeforderten zum angewendeten Wert.
Referenz-Inputs bestimmen zudem den Runtime-Modus:
- Keine Referenz-Medien:
generate - Jede Bild-Referenz:
imageToVideo - Jede Video-Referenz:
videoToVideo
Gemischte Bild- und Video-Referenzen sind keine stabile Funktion. Verwende am besten nur einen Referenztyp pro Request.
Aktionen
Abschnitt betitelt „Aktionen“- generate (Standard) – Erstellt ein Video basierend auf deinem Prompt und optionalen Referenz-Inputs.
- status – Damit prüfst du den Status eines laufenden Video-Tasks in der aktuellen Session, ohne eine neue Generierung zu starten.
- list – Zeigt dir alle verfügbaren Provider, Models und deren Funktionen an.
Modellauswahl
Abschnitt betitelt „Modellauswahl“Wenn du ein Video generierst, legt OpenClaw das Model in dieser Reihenfolge fest:
modelTool-Parameter – falls der Agent diesen im Call direkt angibt.videoGenerationModel.primary– aus deiner Config.videoGenerationModel.fallbacks– diese werden der Reihe nach ausprobiert.- Auto-detection – nutzt Provider mit gültiger Auth, beginnend mit dem aktuellen Standard-Provider, gefolgt von den restlichen Providern in alphabetischer Reihenfolge.
Falls ein Provider ausfällt, wird automatisch der nächste Kandidat versucht. Wenn alle Versuche scheitern, enthält die Fehlermeldung Details zu jedem einzelnen Versuch.
Setze agents.defaults.mediaGenerationAutoProviderFallback: false, wenn die Videogenerierung ausschließlich die expliziten Einträge für model, primary und fallbacks nutzen soll.
{ agents: { defaults: { videoGenerationModel: { primary: "google/veo-3.1-fast-generate-preview", fallbacks: ["runway/gen4.5", "qwen/wan2.6-t2v"], }, }, },}Den HeyGen video-agent auf fal kannst du so festlegen:
{ agents: { defaults: { videoGenerationModel: { primary: "fal/fal-ai/heygen/v2/video-agent", }, }, },}Seedance 2.0 auf fal lässt sich hiermit fixieren:
{ agents: { defaults: { videoGenerationModel: { primary: "fal/bytedance/seedance-2.0/fast/text-to-video", }, }, },}Hinweise zu den Providern
Abschnitt betitelt „Hinweise zu den Providern“| Provider | Hinweise |
|---|---|
| Alibaba | Nutzt DashScope/Model Studio async endpoint. Referenzbilder und -videos müssen remote http(s) URLs sein. |
| BytePlus | Nur eine einzelne Bildreferenz möglich. |
| ComfyUI | Workflow-basierte lokale oder Cloud-Ausführung. Unterstützt text-to-video und image-to-video über den konfigurierten Graph. |
| fal | Nutzt queue-backed flow für lang laufende Jobs. Nur eine einzelne Bildreferenz möglich. Enthält HeyGen video-agent und Seedance 2.0 text-to-video sowie image-to-video model refs. |
| Nutzt Gemini/Veo. Unterstützt eine Bild- oder eine Videoreferenz. | |
| MiniMax | Nur eine einzelne Bildreferenz möglich. |
| OpenAI | Nur der size override wird weitergegeben. Andere style overrides (aspectRatio, resolution, audio, watermark) werden mit einer Warnung ignoriert. |
| Qwen | Gleiches DashScope Backend wie Alibaba. Referenz-Inputs müssen remote http(s) URLs sein; lokale Dateien werden vorab abgelehnt. |
| Runway | Unterstützt lokale Dateien via data URIs. Video-to-video erfordert runway/gen4_aleph. Text-only Runs bieten 16:9 und 9:16 aspect ratios. |
| Together | Nur eine einzelne Bildreferenz möglich. |
| Vydra | Nutzt https://www.vydra.ai/api/v1 direkt, um Redirects zu vermeiden, bei denen die Auth verloren geht. veo3 ist als reines text-to-video gebündelt; kling erfordert eine remote Bild-URL. |
| xAI | Unterstützt text-to-video, image-to-video und remote video edit/extend Flows. |
Modi für Provider-Capabilities
Abschnitt betitelt „Modi für Provider-Capabilities“Der gemeinsame video-generation Contract erlaubt es Providern jetzt, modusspezifische Capabilities zu deklarieren, anstatt nur pauschale Limits anzugeben. Wenn du neue Provider implementierst, solltest du explizite Mode-Blöcke bevorzugen:
capabilities: { generate: { maxVideos: 1, maxDurationSeconds: 10, supportsResolution: true, }, imageToVideo: { enabled: true, maxVideos: 1, maxInputImages: 1, maxDurationSeconds: 5, }, videoToVideo: { enabled: true, maxVideos: 1, maxInputVideos: 1, maxDurationSeconds: 5, },}Pauschale Felder wie maxInputImages und maxInputVideos reichen nicht aus, um den Support für Transform-Modi zu signalisieren. Provider sollten generate, imageToVideo und videoToVideo explizit angeben. So können Live-Tests, Contract-Tests und das geteilte video_generate Tool den Support der Modi eindeutig validieren.
Live-Tests
Abschnitt betitelt „Live-Tests“Du kannst die Live-Coverage für die geteilten, gebündelten Provider manuell aktivieren. Das ist der beste Weg, um sicherzustellen, dass deine Integrationen in einer echten Umgebung stabil laufen:
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/video-generation-providers.live.test.tsEs gibt auch einen praktischen Repo-Wrapper dafür:
pnpm test:live:media videoDiese Live-Datei lädt fehlende Umgebungsvariablen für Provider aus deiner ~/.profile. Sie bevorzugt standardmäßig Live-API-Keys aus der Umgebung gegenüber gespeicherten Auth-Profilen. Dabei werden alle Modi ausgeführt, die sicher mit lokalen Medien funktionieren:
generatefür jeden Provider im Sweep sowieimageToVideo, soferncapabilities.imageToVideo.enabledaktiv ist.videoToVideo, wenncapabilities.videoToVideo.enabledgilt und der Provider lokale Videos akzeptiert.
Aktuell deckt der geteilte videoToVideo Testlauf Folgendes ab:
runway(nur wenn durunway/gen4_alephauswählst).
Konfiguration
Abschnitt betitelt „Konfiguration“Setze das Standardmodell für die Videogenerierung einfach in deiner OpenClaw-Konfiguration. Ich empfehle dir, immer ein primäres Modell und passende Fallbacks zu definieren, um Ausfälle zu vermeiden:
{ agents: { defaults: { videoGenerationModel: { primary: "qwen/wan2.6-t2v", fallbacks: ["qwen/wan2.6-r2v-flash"], }, }, },}Alternativ kannst du das Modell auch direkt über das CLI festlegen:
openclaw config set agents.defaults.videoGenerationModel.primary "qwen/wan2.6-t2v"Verwandte Themen
Abschnitt betitelt „Verwandte Themen“- Tools Übersicht
- Hintergrundaufgaben – Task-Tracking für asynchrone Videogenerierung
- Alibaba Model Studio
- BytePlus
- ComfyUI
- fal
- Google (Gemini)
- MiniMax
- OpenAI
- Qwen
- Runway
- Together AI
- Vydra
- xAI
- Konfigurations-Referenz
- Modelle
OpenClaw Expert
Noch festgefahren?
Wenn diese Seite nicht hilft, frage OpenClaw Expert nach Schritt-fuer-Schritt-Loesungen.