De tool
video_generate verschijnt alleen wanneer ten minste één provider
voor videogeneratie beschikbaar is. Als je deze niet ziet in je agenttools, stel dan een
provider-API-sleutel in of configureer agents.defaults.videoGenerationModel.generate- tekst-naar-videoverzoeken zonder referentiemedia.imageToVideo- verzoek bevat een of meer referentieafbeeldingen.videoToVideo- verzoek bevat een of meer referentievideo’s.
action=list.
Snel aan de slag
Hoe async-generatie werkt
Videogeneratie is asynchroon. Wanneer de agentvideo_generate aanroept in een
sessie:
- OpenClaw dient het verzoek in bij de provider en retourneert direct een taak-id.
- De provider verwerkt de taak op de achtergrond (meestal 30 seconden tot enkele minuten, afhankelijk van de provider en resolutie; trage providers met wachtrijbackend kunnen draaien tot de geconfigureerde time-out).
- Wanneer de video klaar is, wekt OpenClaw dezelfde sessie met een interne voltooiingsgebeurtenis.
- De agent informeert de gebruiker via de normale zichtbare-antwoordmodus van de sessie:
levering van het eindantwoord wanneer dit automatisch gebeurt, of
message(action="send")wanneer de sessie de berichtentool vereist. Als de aanvragende sessie inactief is of de actieve wake mislukt, en er nog gegenereerde video ontbreekt in het voltooiingsantwoord, stuurt OpenClaw een idempotente directe fallback met alleen de ontbrekende video.
video_generate-aanroepen in dezelfde
sessie de huidige taakstatus in plaats van een nieuwe
generatie te starten. Gebruik openclaw tasks list of openclaw tasks show <taskId> om
de voortgang via de CLI te controleren.
Buiten agentruns met sessiebacking (bijvoorbeeld directe toolaanroepen)
valt de tool terug op inline-generatie en retourneert het uiteindelijke mediapad
in dezelfde beurt.
Gegenereerde videobestanden worden opgeslagen in door OpenClaw beheerde mediaopslag wanneer
de provider bytes retourneert. De standaard opslaglimiet voor gegenereerde video’s volgt
de videomedialimiet, en agents.defaults.mediaMaxMb verhoogt deze voor
grotere renders. Wanneer een provider ook een gehoste uitvoer-URL retourneert, kan OpenClaw
die URL leveren in plaats van de taak te laten mislukken als lokale persistentie
een te groot bestand weigert.
Taaklevenscyclus
| Status | Betekenis |
|---|---|
queued | Taak aangemaakt, wacht tot de provider deze accepteert. |
running | Provider verwerkt de taak (meestal 30 seconden tot enkele minuten, afhankelijk van provider en resolutie). |
succeeded | Video klaar; de agent wordt gewekt en plaatst deze in het gesprek. |
failed | Providerfout of time-out; de agent wordt gewekt met foutdetails. |
queued of running is voor de huidige sessie,
retourneert video_generate de bestaande taakstatus in plaats van een nieuwe
taak te starten. Gebruik action: "status" om expliciet te controleren zonder een nieuwe
generatie te triggeren.
Ondersteunde providers
| Provider | Standaardmodel | Tekst | Afbeeldingsref. | Videoref. | Auth |
|---|---|---|---|---|---|
| Alibaba | wan2.6-t2v | ✓ | Ja (externe URL) | Ja (externe URL) | MODELSTUDIO_API_KEY |
| BytePlus (1.0) | seedance-1-0-pro-250528 | ✓ | Tot 2 afbeeldingen (alleen I2V-modellen; eerste + laatste frame) | - | BYTEPLUS_API_KEY |
| BytePlus Seedance 1.5 | seedance-1-5-pro-251215 | ✓ | Tot 2 afbeeldingen (eerste + laatste frame via rol) | - | BYTEPLUS_API_KEY |
| BytePlus Seedance 2.0 | dreamina-seedance-2-0-260128 | ✓ | Tot 9 referentieafbeeldingen | Tot 3 video’s | BYTEPLUS_API_KEY |
| ComfyUI | workflow | ✓ | 1 afbeelding | - | COMFY_API_KEY of COMFY_CLOUD_API_KEY |
| DeepInfra | Pixverse/Pixverse-T2V | ✓ | - | - | DEEPINFRA_API_KEY |
| fal | fal-ai/minimax/video-01-live | ✓ | 1 afbeelding; tot 9 met Seedance reference-to-video | Tot 3 video’s met Seedance reference-to-video | FAL_KEY |
veo-3.1-fast-generate-preview | ✓ | 1 afbeelding | 1 video | GEMINI_API_KEY | |
| MiniMax | MiniMax-Hailuo-2.3 | ✓ | 1 afbeelding | - | MINIMAX_API_KEY of MiniMax OAuth |
| OpenAI | sora-2 | ✓ | 1 afbeelding | 1 video | OPENAI_API_KEY |
| OpenRouter | google/veo-3.1-fast | ✓ | Tot 4 afbeeldingen (eerste/laatste frame of referenties) | - | OPENROUTER_API_KEY |
| Qwen | wan2.6-t2v | ✓ | Ja (externe URL) | Ja (externe URL) | QWEN_API_KEY |
| Runway | gen4.5 | ✓ | 1 afbeelding | 1 video | RUNWAYML_API_SECRET |
| Together | Wan-AI/Wan2.2-T2V-A14B | ✓ | Alleen Wan-AI/Wan2.2-I2V-A14B | - | TOGETHER_API_KEY |
| Vydra | veo3 | ✓ | 1 afbeelding (kling) | - | VYDRA_API_KEY |
| xAI | grok-imagine-video | ✓ | 1 eerste-frame-afbeelding of tot 7 reference_images | 1 video | XAI_API_KEY |
video_generate action=list uit om beschikbare providers, modellen en
runtime-modi tijdens runtime te inspecteren.
Capability-matrix
Het expliciete moduscontract dat wordt gebruikt doorvideo_generate, contracttests en
de gedeelde live sweep:
| Provider | generate | imageToVideo | videoToVideo | Gedeelde live-lanes vandaag |
|---|---|---|---|---|
| Alibaba | ✓ | ✓ | ✓ | generate, imageToVideo; videoToVideo overgeslagen omdat deze provider externe http(s)-video-URL’s nodig heeft |
| BytePlus | ✓ | ✓ | - | generate, imageToVideo |
| ComfyUI | ✓ | ✓ | - | Niet in de gedeelde sweep; workflowspecifieke dekking leeft bij Comfy-tests |
| DeepInfra | ✓ | - | - | generate; native DeepInfra-videoschema’s zijn tekst-naar-video in het Plugin-contract |
| fal | ✓ | ✓ | ✓ | generate, imageToVideo; videoToVideo alleen bij gebruik van Seedance reference-to-video |
| ✓ | ✓ | ✓ | generate, imageToVideo; gedeelde videoToVideo overgeslagen omdat de huidige buffer-backed Gemini/Veo-sweep die invoer niet accepteert | |
| MiniMax | ✓ | ✓ | - | generate, imageToVideo |
| OpenAI | ✓ | ✓ | ✓ | generate, imageToVideo; gedeelde videoToVideo overgeslagen omdat dit org-/invoerpad momenteel provider-side videobewerkingstoegang nodig heeft |
| OpenRouter | ✓ | ✓ | - | generate, imageToVideo |
| Qwen | ✓ | ✓ | ✓ | generate, imageToVideo; videoToVideo overgeslagen omdat deze provider externe http(s)-video-URL’s nodig heeft |
| Runway | ✓ | ✓ | ✓ | generate, imageToVideo; videoToVideo draait alleen wanneer het geselecteerde model runway/gen4_aleph is |
| Together | ✓ | ✓ | - | generate, imageToVideo |
| Vydra | ✓ | ✓ | - | generate; gedeelde imageToVideo overgeslagen omdat gebundelde veo3 alleen tekst ondersteunt en gebundelde kling een externe afbeeldings-URL vereist |
| xAI | ✓ | ✓ | ✓ | generate, imageToVideo; videoToVideo overgeslagen omdat deze provider momenteel een externe MP4-URL nodig heeft |
Toolparameters
Vereist
Tekstbeschrijving van de video die moet worden gegenereerd. Vereist voor
action: "generate".Contentinvoer
Enkele referentieafbeelding (pad of URL).
Meerdere referentieafbeeldingen (maximaal 9).
Optionele rolhints per positie, parallel aan de gecombineerde afbeeldingenlijst.
Canonieke waarden:
first_frame, last_frame, reference_image.Enkele referentievideo (pad of URL).
Meerdere referentievideo’s (maximaal 4).
Optionele rolhints per positie, parallel aan de gecombineerde videolijst.
Canonieke waarde:
reference_video.Enkele referentieaudio (pad of URL). Gebruikt voor achtergrondmuziek of
stemreferentie wanneer de provider audio-invoer ondersteunt.
Meerdere referentieaudio’s (maximaal 3).
Optionele rolhints per positie, parallel aan de gecombineerde audiolijst.
Canonieke waarde:
reference_audio.Rolhints worden ongewijzigd doorgestuurd naar de provider. Canonieke waarden komen uit
de
VideoGenerationAssetRole-union, maar providers kunnen aanvullende
rolstrings accepteren. *Roles-arrays mogen niet meer vermeldingen hebben dan de
bijbehorende referentielijst; fouten waarbij er één te veel of te weinig is, mislukken met een duidelijke fout.
Gebruik een lege string om een positie niet in te stellen. Stel voor xAI elke afbeeldingsrol in op
reference_image om de generatiemodus reference_images te gebruiken; laat de
rol weg of gebruik first_frame voor image-to-video met één afbeelding.Stijlbesturing
Hint voor beeldverhouding, zoals
1:1, 16:9, 9:16, adaptive, of een provider-specifieke waarde. OpenClaw normaliseert of negeert niet-ondersteunde waarden per provider.Resolutiehint, zoals
480P, 720P, 768P, 1080P, 4K, of een provider-specifieke waarde. OpenClaw normaliseert of negeert niet-ondersteunde waarden per provider.Doelduur in seconden (afgerond naar de dichtstbijzijnde door de provider ondersteunde waarde).
Formaathint wanneer de provider dit ondersteunt.
Schakel gegenereerde audio in de uitvoer in wanneer ondersteund. Onderscheiden van
audioRef* (invoer).Schakel watermerken door de provider in of uit wanneer ondersteund.
adaptive is een provider-specifieke sentinel: deze wordt ongewijzigd doorgestuurd naar
providers die adaptive in hun mogelijkheden declareren (bijv. BytePlus
Seedance gebruikt dit om de verhouding automatisch te detecteren op basis van de afmetingen
van de invoerafbeelding). Providers die dit niet declareren, tonen de waarde via
details.ignoredOverrides in het toolresultaat, zodat het negeren zichtbaar is.
Geavanceerd
"status" retourneert de huidige sessietaak; "list" inspecteert providers.Provider-/modeloverride (bijv.
runway/gen4.5).Hint voor uitvoerbestandsnaam.
Optionele time-out voor providerbewerking in milliseconden. Wanneer weggelaten, gebruikt OpenClaw
agents.defaults.videoGenerationModel.timeoutMs als dit is geconfigureerd, anders de door de Plugin-auteur ingestelde providerstandaard wanneer die bestaat.Provider-specifieke opties als JSON-object (bijv.
{"seed": 42, "draft": true}).
Providers die een getypeerd schema declareren, valideren de sleutels en typen; onbekende
sleutels of mismatches slaan de kandidaat tijdens fallback over. Providers zonder een
gedeclareerd schema ontvangen de opties ongewijzigd. Voer video_generate action=list uit
om te zien wat elke provider accepteert.Niet alle providers ondersteunen alle parameters. OpenClaw normaliseert duur naar
de dichtstbijzijnde door de provider ondersteunde waarde en wijst vertaalde geometriehints
zoals formaat-naar-beeldverhouding opnieuw toe wanneer een fallbackprovider een ander
besturingsoppervlak biedt. Echt niet-ondersteunde overrides worden naar beste vermogen
genegeerd en als waarschuwingen in het toolresultaat gerapporteerd. Harde limieten voor mogelijkheden
(zoals te veel referentie-invoer) mislukken vóór indiening. Toolresultaten
rapporteren toegepaste instellingen;
details.normalization legt elke
vertaling van gevraagd naar toegepast vast.- Geen referentiemedia →
generate - Enige afbeeldingsreferentie →
imageToVideo - Enige videoreferentie →
videoToVideo - Referentieaudio-invoer wijzigt niet de opgeloste modus; deze wordt toegepast boven op
de modus die de afbeeldings-/videoreferenties selecteren, en werkt alleen
met providers die
maxInputAudiosdeclareren.
Fallback en getypeerde opties
Sommige mogelijkheidcontroles worden toegepast op de fallbacklaag in plaats van aan de toolgrens, zodat een verzoek dat de limieten van de primaire provider overschrijdt nog steeds op een geschikte fallback kan worden uitgevoerd:- Actieve kandidaat die geen
maxInputAudiosdeclareert (of0) wordt overgeslagen wanneer het verzoek audioreferenties bevat; de volgende kandidaat wordt geprobeerd. maxDurationSecondsvan actieve kandidaat ligt onder de gevraagdedurationSecondszonder gedeclareerde lijstsupportedDurationSeconds→ overgeslagen.- Verzoek bevat
providerOptionsen de actieve kandidaat declareert expliciet een getypeerdproviderOptions-schema → overgeslagen als geleverde sleutels niet in het schema staan of waardetypen niet overeenkomen. Providers zonder een gedeclareerd schema ontvangen opties ongewijzigd (achterwaarts compatibele doorvoer). Een provider kan zich afmelden voor alle provideropties door een leeg schema te declareren (capabilities.providerOptions: {}), wat dezelfde overslag veroorzaakt als een typemismatch.
warn, zodat operators zien wanneer
hun primaire provider is overgeslagen; latere overslagen worden gelogd op debug om
lange fallbackketens stil te houden. Als elke kandidaat wordt overgeslagen, bevat de
geaggregeerde fout de overslagreden voor elke kandidaat.
Acties
| Actie | Wat het doet |
|---|---|
generate | Standaard. Maak een video van de opgegeven prompt en optionele referentie-invoer. |
status | Controleer de status van de lopende videotaak voor de huidige sessie zonder een nieuwe generatie te starten. |
list | Toon beschikbare providers, modellen en hun mogelijkheden. |
Modelselectie
OpenClaw lost het model in deze volgorde op:- Toolparameter
model- als de agent er een opgeeft in de aanroep. videoGenerationModel.primaryuit de configuratie.videoGenerationModel.fallbacksop volgorde.- Automatische detectie - providers met geldige auth, beginnend met de huidige standaardprovider, daarna resterende providers in alfabetische volgorde.
agents.defaults.mediaGenerationAutoProviderFallback: false in om
alleen de expliciete vermeldingen model, primary en fallbacks te gebruiken.
Providernotities
Alibaba
Alibaba
Gebruikt het asynchrone endpoint van DashScope / Model Studio. Referentieafbeeldingen en
video’s moeten externe
http(s)-URL’s zijn.BytePlus (1.0)
BytePlus (1.0)
Provider-id:
byteplus.Modellen: seedance-1-0-pro-250528 (standaard),
seedance-1-0-pro-t2v-250528, seedance-1-0-pro-fast-251015,
seedance-1-0-lite-t2v-250428, seedance-1-0-lite-i2v-250428.T2V-modellen (*-t2v-*) accepteren geen afbeeldingsinvoer; I2V-modellen en
algemene *-pro-*-modellen ondersteunen één referentieafbeelding (eerste
frame). Geef de afbeelding positioneel door of stel role: "first_frame" in.
T2V-model-ID’s worden automatisch omgeschakeld naar de bijbehorende I2V-
variant wanneer een afbeelding wordt opgegeven.Ondersteunde providerOptions-sleutels: seed (getal), draft (boolean -
forceert 480p), camera_fixed (boolean).BytePlus Seedance 1.5
BytePlus Seedance 1.5
Vereist de
@openclaw/byteplus-modelark
Plugin. Provider-id: byteplus-seedance15. Model:
seedance-1-5-pro-251215.Gebruikt de uniforme content[]-API. Ondersteunt maximaal 2 invoerafbeeldingen
(first_frame + last_frame). Alle invoer moet externe https://-
URL’s zijn. Stel role: "first_frame" / "last_frame" in op elke afbeelding, of
geef afbeeldingen positioneel door.aspectRatio: "adaptive" detecteert de verhouding automatisch op basis van de invoerafbeelding.
audio: true wordt toegewezen aan generate_audio. providerOptions.seed
(getal) wordt doorgestuurd.BytePlus Seedance 2.0
BytePlus Seedance 2.0
Vereist de
@openclaw/byteplus-modelark
Plugin. Provider-id: byteplus-seedance2. Modellen:
dreamina-seedance-2-0-260128,
dreamina-seedance-2-0-fast-260128.Gebruikt de uniforme content[]-API. Ondersteunt maximaal 9 referentieafbeeldingen,
3 referentievideo’s en 3 referentieaudio’s. Alle invoer moet externe
https://-URL’s zijn. Stel role in op elk asset - ondersteunde waarden:
"first_frame", "last_frame", "reference_image",
"reference_video", "reference_audio".aspectRatio: "adaptive" detecteert de verhouding automatisch op basis van de invoerafbeelding.
audio: true wordt toegewezen aan generate_audio. providerOptions.seed
(getal) wordt doorgestuurd.ComfyUI
ComfyUI
Workflowgestuurde lokale of cloud-uitvoering. Ondersteunt tekst-naar-video en
afbeelding-naar-video via de geconfigureerde graph.
fal
fal
Gebruikt een wachtrijgebaseerde flow voor langlopende jobs. OpenClaw wacht
standaard maximaal 20 minuten voordat een lopende fal-wachtrijjob als
verlopen wordt behandeld. De meeste fal-videomodellen
accepteren één afbeeldingsreferentie. Seedance 2.0 referentie-naar-video-
modellen accepteren maximaal 9 afbeeldingen, 3 video’s en 3 audioreferenties,
met maximaal 12 referentiebestanden in totaal.
Google (Gemini / Veo)
Google (Gemini / Veo)
Ondersteunt één afbeeldings- of één videoreferentie. Verzoeken voor
gegenereerde audio worden genegeerd met een waarschuwing op het Gemini
API-pad, omdat die API de parameter
generateAudio afwijst voor de huidige
Veo-videogeneratie.MiniMax
MiniMax
Alleen één afbeeldingsreferentie. MiniMax accepteert resoluties
768P en
1080P; verzoeken zoals 720P worden vóór indiening genormaliseerd naar
de dichtstbijzijnde ondersteunde waarde.OpenAI
OpenAI
Alleen de overschrijving
size wordt doorgestuurd. Andere
stijloverschrijvingen (aspectRatio, resolution, audio, watermark)
worden genegeerd met een waarschuwing.OpenRouter
OpenRouter
Gebruikt de asynchrone
/videos-API van OpenRouter. OpenClaw dient de
job in, pollt polling_url en downloadt unsigned_urls of het gedocumenteerde
endpoint voor jobinhoud. De gebundelde standaard google/veo-3.1-fast
adverteert duurwaarden van 4/6/8 seconden, resoluties 720P/1080P en
beeldverhoudingen 16:9/9:16.Qwen
Qwen
Dezelfde DashScope-backend als Alibaba. Referentie-invoer moet bestaan uit
externe
http(s)-URL’s; lokale bestanden worden vooraf geweigerd.Runway
Runway
Ondersteunt lokale bestanden via data-URI’s. Video-naar-video vereist
runway/gen4_aleph. Runs met alleen tekst stellen beeldverhoudingen
16:9 en 9:16 beschikbaar.Together
Together
Alleen één afbeeldingsreferentie.
Vydra
Vydra
Gebruikt
https://www.vydra.ai/api/v1 rechtstreeks om redirects te vermijden
die authenticatie laten vervallen. veo3 is alleen gebundeld als tekst-naar-video;
kling vereist een externe afbeeldings-URL.xAI
xAI
Ondersteunt tekst-naar-video, afbeelding-naar-video met één eerste frame,
maximaal 7
reference_image-invoeren via xAI reference_images, en externe
flows voor videobewerking/-uitbreiding.Mogelijkheidsmodi van providers
Het gedeelde contract voor videogeneratie ondersteunt modusspecifieke mogelijkheden in plaats van alleen vlakke geaggregeerde limieten. Nieuwe providerimplementaties zouden expliciete modusblokken moeten verkiezen:maxInputImages en maxInputVideos zijn
niet genoeg om ondersteuning voor transformatiemodi te adverteren. Providers
moeten generate, imageToVideo en videoToVideo expliciet declareren, zodat
livetests, contracttests en de gedeelde tool video_generate modusondersteuning
deterministisch kunnen valideren.
Wanneer één model in een provider bredere ondersteuning voor referentie-invoer
heeft dan de rest, gebruik dan maxInputImagesByModel, maxInputVideosByModel
of maxInputAudiosByModel in plaats van de modusbrede limiet te verhogen.
Livetests
Opt-in livedekking voor de gedeelde gebundelde providers:generatevoor elke niet-FAL-provider in de sweep.- Lobster-prompt van één seconde.
- Operatielimiet per provider uit
OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS(standaard180000).
OPENCLAW_LIVE_VIDEO_GENERATION_FULL_MODES=1 in om ook gedeclareerde
transformatiemodi te draaien die de gedeelde sweep veilig met lokale media kan
uitvoeren:
imageToVideowanneercapabilities.imageToVideo.enabled.videoToVideowanneercapabilities.videoToVideo.enableden de provider/het model buffergebaseerde lokale video-invoer accepteert in de gedeelde sweep.
videoToVideo alleen runway wanneer je
runway/gen4_aleph selecteert.
Configuratie
Stel het standaardmodel voor videogeneratie in je OpenClaw-configuratie in:Gerelateerd
- Alibaba Model Studio
- Achtergrondtaken - taaktracking voor asynchrone videogeneratie
- BytePlus
- ComfyUI
- Configuratiereferentie
- fal
- Google (Gemini)
- MiniMax
- Modellen
- OpenAI
- Qwen
- Runway
- Together AI
- Toolsoverzicht
- Vydra
- xAI