Zum Inhalt springen

OpenClaw Video-Generierung: KI-Videos in Minuten

  1. Setze einen API-Key für einen unterstützten Provider:
Terminal-Fenster
export GEMINI_API_KEY="your-key"
  1. Optional kannst du ein Standardmodell festlegen:
Terminal-Fenster
openclaw config set agents.defaults.videoGenerationModel.primary "google/veo-3.1-fast-generate-preview"
  1. 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.

Die Videogenerierung läuft asynchron ab. Wenn der Agent video_generate in einer Session aufruft:

  1. OpenClaw sendet die Anfrage an den Provider und gibt sofort eine Task-ID zurück.
  2. Der Provider verarbeitet den Job im Hintergrund (normalerweise 30 Sekunden bis 5 Minuten, je nach Provider und Auflösung).
  3. Sobald das Video fertig ist, weckt OpenClaw dieselbe Session mit einem internen Completion-Event.
  4. 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.

Jede video_generate-Anfrage durchläuft vier Zustände:

  1. queued — Task erstellt, wartet auf Annahme durch den Provider.
  2. running — Provider verarbeitet die Anfrage (normalerweise 30 Sekunden bis 5 Minuten, je nach Provider und Auflösung).
  3. succeeded — Video ist fertig; der Agent wacht auf und postet es in die Konversation.
  4. failed — Provider-Fehler oder Timeout; der Agent wacht mit Fehlerdetails auf.

Prüfe den Status über das CLI:

Terminal-Fenster
openclaw tasks list
openclaw 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.

ProviderDefault modelTextBild-RefVideo-RefAPI key
Alibabawan2.6-t2vJaJa (Remote-URL)Ja (Remote-URL)MODELSTUDIO_API_KEY
BytePlusseedance-1-0-lite-t2v-250428Ja1 BildNeinBYTEPLUS_API_KEY
ComfyUIworkflowJa1 BildNeinCOMFY_API_KEY oder COMFY_CLOUD_API_KEY
falfal-ai/minimax/video-01-liveJa1 BildNeinFAL_KEY
Googleveo-3.1-fast-generate-previewJa1 Bild1 VideoGEMINI_API_KEY
MiniMaxMiniMax-Hailuo-2.3Ja1 BildNeinMINIMAX_API_KEY
OpenAIsora-2Ja1 Bild1 VideoOPENAI_API_KEY
Qwenwan2.6-t2vJaJa (Remote-URL)Ja (Remote-URL)QWEN_API_KEY
Runwaygen4.5Ja1 Bild1 VideoRUNWAYML_API_SECRET
TogetherWan-AI/Wan2.2-T2V-A14BJa1 BildNeinTOGETHER_API_KEY
Vydraveo3Ja1 Bild (kling)NeinVYDRA_API_KEY
xAIgrok-imagine-videoJa1 Bild1 VideoXAI_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.

Dies ist der explizite Modus-Vertrag, den video_generate, Vertragstests und der Shared Live Sweep verwenden.

ProvidergenerateimageToVideovideoToVideoAktuelle Shared Live Lanes
AlibabaJaJaJagenerate, imageToVideo; videoToVideo übersprungen, da dieser Provider Remote http(s) Video-URLs benötigt
BytePlusJaJaNeingenerate, imageToVideo
ComfyUIJaJaNeinNicht im Shared Sweep; Workflow-spezifische Abdeckung erfolgt über Comfy-Tests
falJaJaNeingenerate, imageToVideo
GoogleJaJaJagenerate, imageToVideo; Shared videoToVideo übersprungen, da der aktuelle Buffer-basierte Gemini/Veo Sweep diesen Input nicht annimmt
MiniMaxJaJaNeingenerate, imageToVideo
OpenAIJaJaJagenerate, imageToVideo; Shared videoToVideo übersprungen, da dieser Pfad aktuell Provider-seitigen Inpaint/Remix-Zugriff benötigt
QwenJaJaJagenerate, imageToVideo; videoToVideo übersprungen, da dieser Provider Remote http(s) Video-URLs benötigt
RunwayJaJaJagenerate, imageToVideo; videoToVideo läuft nur, wenn das gewählte Modell runway/gen4_aleph ist
TogetherJaJaNeingenerate, imageToVideo
VydraJaJaNeingenerate; Shared imageToVideo übersprungen, da das gebündelte veo3 nur Text unterstützt und kling eine Remote-Bild-URL benötigt
xAIJaJaJagenerate, imageToVideo; videoToVideo übersprungen, da dieser Provider aktuell eine Remote-MP4-URL benötigt
ParameterTypBeschreibung
promptstringTextbeschreibung des zu generierenden Videos (erforderlich für action: "generate")
ParameterTypBeschreibung
imagestringEinzelnes Referenzbild (Pfad oder URL)
imagesstring[]Mehrere Referenzbilder (bis zu 5)
videostringEinzelnes Referenzvideo (Pfad oder URL)
videosstring[]Mehrere Referenzvideos (bis zu 4)
ParameterTypBeschreibung
aspectRatiostring1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9
resolutionstring480P, 720P, 768P oder 1080P
durationSecondsnumberZieldauer in Sekunden (gerundet auf den nächsten vom Provider unterstützten Wert)
sizestringGrößen-Hinweis, sofern vom Provider unterstützt
audiobooleanAktiviert generiertes Audio, falls unterstützt
watermarkbooleanSchaltet Provider-Wasserzeichen um, falls unterstützt
ParameterTypBeschreibung
actionstring"generate" (Standard), "status" oder "list"
modelstringProvider/Modell-Override (z. B. runway/gen4.5)
filenamestringHinweis 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.

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

Wenn du ein Video generierst, legt OpenClaw das Model in dieser Reihenfolge fest:

  1. model Tool-Parameter – falls der Agent diesen im Call direkt angibt.
  2. videoGenerationModel.primary – aus deiner Config.
  3. videoGenerationModel.fallbacks – diese werden der Reihe nach ausprobiert.
  4. 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",
},
},
},
}
ProviderHinweise
AlibabaNutzt DashScope/Model Studio async endpoint. Referenzbilder und -videos müssen remote http(s) URLs sein.
BytePlusNur eine einzelne Bildreferenz möglich.
ComfyUIWorkflow-basierte lokale oder Cloud-Ausführung. Unterstützt text-to-video und image-to-video über den konfigurierten Graph.
falNutzt 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.
GoogleNutzt Gemini/Veo. Unterstützt eine Bild- oder eine Videoreferenz.
MiniMaxNur eine einzelne Bildreferenz möglich.
OpenAINur der size override wird weitergegeben. Andere style overrides (aspectRatio, resolution, audio, watermark) werden mit einer Warnung ignoriert.
QwenGleiches DashScope Backend wie Alibaba. Referenz-Inputs müssen remote http(s) URLs sein; lokale Dateien werden vorab abgelehnt.
RunwayUnterstützt lokale Dateien via data URIs. Video-to-video erfordert runway/gen4_aleph. Text-only Runs bieten 16:9 und 9:16 aspect ratios.
TogetherNur eine einzelne Bildreferenz möglich.
VydraNutzt 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.
xAIUnterstützt text-to-video, image-to-video und remote video edit/extend Flows.

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.

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:

Terminal-Fenster
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/video-generation-providers.live.test.ts

Es gibt auch einen praktischen Repo-Wrapper dafür:

Terminal-Fenster
pnpm test:live:media video

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

  • generate für jeden Provider im Sweep sowie imageToVideo, sofern capabilities.imageToVideo.enabled aktiv ist.
  • videoToVideo, wenn capabilities.videoToVideo.enabled gilt und der Provider lokale Videos akzeptiert.

Aktuell deckt der geteilte videoToVideo Testlauf Folgendes ab:

  • runway (nur wenn du runway/gen4_aleph auswählst).

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:

Terminal-Fenster
openclaw config set agents.defaults.videoGenerationModel.primary "qwen/wan2.6-t2v"

AI Setup Assistant

OpenClaw

OpenClaw Expert

Noch festgefahren?

Wenn diese Seite nicht hilft, frage OpenClaw Expert nach Schritt-fuer-Schritt-Loesungen.