Tools
Agen OpenClaw menghasilkan video dari prompt teks, gambar referensi, atau
video yang sudah ada melalui video_generate. Enam belas backend penyedia
didukung; agen memilih backend yang tepat secara otomatis berdasarkan konfigurasi dan
kunci API yang tersedia.
video_generate memiliki tiga mode runtime, yang ditentukan dari input referensi
dalam panggilan:
generate - tanpa media referensi (teks-ke-video).imageToVideo - satu atau beberapa gambar referensi.videoToVideo - satu atau beberapa video referensi.Penyedia dapat mendukung subset apa pun dari mode tersebut. Alat memvalidasi
mode aktif sebelum pengiriman dan melaporkan mode yang didukung dalam action=list.
Tetapkan kunci API untuk penyedia mana pun yang didukung:
export GEMINI_API_KEY="your-key"openclaw config set agents.defaults.videoGenerationModel.primary "google/veo-3.1-fast-generate-preview"Buat video sinematik berdurasi 5 detik tentang lobster ramah yang berselancar saat matahari terbenam.
Agen memanggil video_generate secara otomatis. Daftar izin alat
tidak diperlukan.
Pembuatan video berlangsung secara asinkron:
message(action="send") ketika sesi mengharuskan
alat pesan. Jika sesi peminta tidak aktif, atau upaya membangunkannya gagal dan
media yang dihasilkan masih tidak ada dalam balasan penyelesaian, OpenClaw mengirimkan
fallback langsung yang idempoten beserta medianya.Saat pekerjaan sedang berlangsung, panggilan video_generate duplikat dalam
sesi yang sama mengembalikan status tugas saat ini alih-alih memulai
pembuatan lain. Gunakan action: "status" untuk memeriksa tanpa memicu
pembuatan baru, atau openclaw tasks list / openclaw tasks show <lookup> dari
CLI (lihat Tugas latar belakang).
Di luar proses agen yang didukung sesi (misalnya, pemanggilan alat langsung), alat beralih ke pembuatan inline dan mengembalikan jalur media akhir dalam giliran yang sama.
File video yang dihasilkan disimpan dalam penyimpanan media yang dikelola OpenClaw saat
penyedia mengembalikan byte. Batas default adalah 16MB (batas media video
bersama); agents.defaults.mediaMaxMb meningkatkannya untuk render yang lebih besar. Jika
penyedia juga mengembalikan URL keluaran yang dihosting, OpenClaw mengirimkan URL tersebut alih-alih
menggagalkan tugas jika persistensi lokal menolak file yang terlalu besar.
| Status | Arti |
|---|---|
queued |
Tugas dibuat, menunggu penyedia menerimanya. |
running |
Penyedia sedang memproses (biasanya 30 detik hingga beberapa menit, bergantung pada penyedia dan resolusi). |
succeeded |
Video siap; agen dibangunkan dan mengirimkannya ke percakapan. |
failed |
Kesalahan penyedia atau batas waktu terlampaui; agen dibangunkan dengan detail kesalahan. |
Periksa status dari CLI:
openclaw tasks listopenclaw tasks show <lookup>openclaw tasks cancel <lookup>| Penyedia | Model default | Teks | Ref gambar | Ref video | Autentikasi |
|---|---|---|---|---|---|
| Alibaba | wan2.6-t2v |
✓ | Ya (URL jarak jauh) | Ya (URL jarak jauh) | MODELSTUDIO_API_KEY |
| BytePlus (bawaan) | seedance-1-0-pro-250528 |
✓ | Hingga 2 gambar (frame pertama + terakhir) | - | BYTEPLUS_API_KEY |
| Plugin BytePlus 1.5 | seedance-1-5-pro-251215 |
✓ | Hingga 2 gambar (frame pertama + terakhir melalui peran) | - | BYTEPLUS_API_KEY |
| BytePlus Seedance 2.0 | dreamina-seedance-2-0-260128 |
✓ | Hingga 9 gambar referensi | Hingga 3 video | BYTEPLUS_API_KEY |
| ComfyUI | workflow |
✓ | 1 gambar | - | COMFY_API_KEY atau COMFY_CLOUD_API_KEY |
| DeepInfra | Pixverse/Pixverse-T2V |
✓ | - | - | DEEPINFRA_API_KEY |
| fal | fal-ai/minimax/video-01-live |
✓ | 1 gambar; hingga 9 dengan referensi-ke-video Seedance | Hingga 3 video dengan referensi-ke-video Seedance | FAL_KEY |
veo-3.1-fast-generate-preview |
✓ | 1 gambar | 1 video | GEMINI_API_KEY |
|
| MiniMax | MiniMax-Hailuo-2.3 |
✓ | 1 gambar | - | MINIMAX_API_KEY atau OAuth MiniMax |
| OpenAI | sora-2 |
✓ | 1 gambar | 1 video | OPENAI_API_KEY |
| OpenRouter | google/veo-3.1-fast |
✓ | Hingga 4 gambar (frame pertama/terakhir atau referensi) | - | OPENROUTER_API_KEY |
| Qwen | wan2.6-t2v |
✓ | Ya (URL jarak jauh) | Ya (URL jarak jauh) | QWEN_API_KEY |
| Runway | gen4.5 |
✓ | 1 gambar | 1 video | RUNWAYML_API_SECRET |
| Together | Wan-AI/Wan2.2-T2V-A14B |
✓ | Hanya Wan-AI/Wan2.2-I2V-A14B |
- | TOGETHER_API_KEY |
| Vydra | veo3 |
✓ | 1 gambar (kling) |
- | VYDRA_API_KEY |
| xAI | grok-imagine-video |
✓ | Classic: 1 frame pertama atau 7 referensi; 1.5: 1 frame | Classic: 1 video | XAI_API_KEY |
Beberapa penyedia menerima variabel lingkungan kunci API tambahan atau alternatif. Lihat halaman penyedia masing-masing untuk detailnya.
Jalankan video_generate action=list untuk memeriksa penyedia, model, dan
mode runtime yang tersedia saat runtime.
Kontrak mode eksplisit yang digunakan oleh video_generate, pengujian kontrak, dan
sweep live bersama:
| Penyedia | generate |
imageToVideo |
videoToVideo |
Jalur live bersama saat ini |
|---|---|---|---|---|
| Alibaba | ✓ | ✓ | ✓ | generate, imageToVideo; videoToVideo dilewati karena penyedia ini memerlukan URL video http(s) jarak jauh |
| BytePlus | ✓ | ✓ | - | generate, imageToVideo |
| ComfyUI | ✓ | ✓ | - | Tidak termasuk dalam sweep bersama; cakupan khusus alur kerja berada dalam pengujian Comfy |
| DeepInfra | ✓ | - | - | generate; skema video native DeepInfra adalah teks-ke-video dalam kontrak Plugin |
| fal | ✓ | ✓ | ✓ | generate, imageToVideo; videoToVideo hanya saat menggunakan referensi-ke-video Seedance |
| ✓ | ✓ | ✓ | generate, imageToVideo; videoToVideo bersama dilewati karena sweep Gemini/Veo berbasis buffer saat ini tidak menerima input tersebut |
|
| MiniMax | ✓ | ✓ | - | generate, imageToVideo |
| OpenAI | ✓ | ✓ | ✓ | generate, imageToVideo; videoToVideo bersama dilewati karena jalur organisasi/input ini saat ini memerlukan akses pengeditan video di sisi penyedia |
| OpenRouter | ✓ | ✓ | - | generate, imageToVideo |
| Qwen | ✓ | ✓ | ✓ | generate, imageToVideo; videoToVideo dilewati karena penyedia ini memerlukan URL video http(s) jarak jauh |
| Runway | ✓ | ✓ | ✓ | generate, imageToVideo; videoToVideo hanya berjalan jika model yang dipilih adalah runway/gen4_aleph |
| Together | ✓ | ✓ | - | generate, imageToVideo |
| Vydra | ✓ | ✓ | - | generate; imageToVideo bersama dilewati karena veo3 bawaan hanya mendukung teks dan kling bawaan memerlukan URL gambar jarak jauh |
| xAI | ✓ | ✓ | ✓ | Classic mendukung semua mode; Video 1.5 hanya mendukung gambar-ke-video; input MP4 jarak jauh membuat videoToVideo tidak disertakan dalam sweep bersama |
promptstringrequiredDeskripsi teks untuk video yang akan dibuat. Wajib untuk action: "generate".
imagestringimagesstring[]imageRolesstring[]Petunjuk peran opsional per posisi yang sejajar dengan daftar gabungan gambar.
Nilai kanonis: first_frame, last_frame, reference_image.
videostringvideosstring[]videoRolesstring[]Petunjuk peran opsional per posisi yang sejajar dengan daftar gabungan video.
Nilai kanonis: reference_video.
audioRefstringSatu audio referensi (jalur atau URL). Digunakan untuk musik latar atau referensi suara ketika penyedia mendukung input audio.
audioRefsstring[]audioRolesstring[]Petunjuk peran opsional per posisi yang sejajar dengan daftar gabungan audio.
Nilai kanonis: reference_audio.
aspectRatiostringPetunjuk rasio aspek seperti 1:1, 16:9, 9:16, adaptive, atau nilai khusus penyedia. OpenClaw menormalkan atau mengabaikan nilai yang tidak didukung untuk setiap penyedia.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InJlc29sdXRpb24iIHR5cGU9InN0cmluZyI
Petunjuk resolusi seperti 360P, 480P, 540P, 720P, 768P, 1080P, 4K, atau nilai khusus penyedia. OpenClaw menormalkan atau mengabaikan nilai yang tidak didukung untuk setiap penyedia.
OPENCLAW_DOCS_MARKER:paramClose:
durationSecondsnumberDurasi target dalam detik (dibulatkan ke nilai terdekat yang didukung penyedia).
sizestringaudiobooleanAktifkan audio yang dihasilkan dalam keluaran jika didukung. Berbeda dari audioRef* (input).
watermarkbooleanadaptive adalah sentinel khusus penyedia: nilai ini diteruskan apa adanya kepada
penyedia yang mendeklarasikan adaptive dalam kapabilitasnya (misalnya BytePlus
Seedance menggunakannya untuk mendeteksi rasio secara otomatis dari dimensi
gambar input). Penyedia yang tidak mendeklarasikannya menampilkan nilai tersebut melalui
details.ignoredOverrides dalam hasil alat agar pengabaiannya terlihat.
action"generate" | "status" | "list"default: generate"status" mengembalikan tugas sesi saat ini; "list" memeriksa penyedia.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im1vZGVsIiB0eXBlPSJzdHJpbmci
Penggantian penyedia/model (misalnya runway/gen4.5).
OPENCLAW_DOCS_MARKER:paramClose:
filenamestringOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InRpbWVvdXRNcyIgdHlwZT0ibnVtYmVyIg
Batas waktu opsional operasi penyedia dalam milidetik. Jika dihilangkan, OpenClaw menggunakan agents.defaults.videoGenerationModel.timeoutMs jika dikonfigurasi, atau nilai default penyedia yang ditentukan pembuat plugin jika tersedia.
OPENCLAW_DOCS_MARKER:paramClose:
providerOptionsobjectOpsi khusus penyedia sebagai objek JSON (misalnya {"seed": 42, "draft": true}).
Penyedia yang mendeklarasikan skema bertipe akan memvalidasi kunci dan tipe; kunci
yang tidak dikenal atau ketidakcocokan akan melewati kandidat selama fallback. Penyedia tanpa
skema yang dideklarasikan menerima opsi apa adanya. Jalankan video_generate action=list
untuk melihat apa yang diterima setiap penyedia.
Input referensi memilih mode runtime:
generateimageToVideovideoToVideomaxInputAudios.Referensi gambar dan video campuran bukanlah permukaan kapabilitas bersama yang stabil. Utamakan satu jenis referensi per permintaan.
Beberapa pemeriksaan kapabilitas diterapkan pada lapisan fallback, bukan pada batas alat, sehingga permintaan yang melampaui batas penyedia utama masih dapat dijalankan pada fallback yang mampu menanganinya:
maxInputAudios (atau 0) akan dilewati ketika
permintaan berisi referensi audio; kandidat berikutnya akan dicoba. Pengaman yang sama
berlaku untuk jumlah referensi gambar dan video terhadap
maxInputImages/maxInputVideos.maxDurationSeconds milik kandidat aktif berada di bawah durationSeconds yang diminta
tanpa daftar supportedDurationSeconds yang dideklarasikan -> dilewati.providerOptions dan kandidat aktif secara eksplisit
mendeklarasikan skema providerOptions bertipe -> dilewati jika kunci yang diberikan
tidak ada dalam skema atau tipe nilai tidak cocok. Penyedia tanpa
skema yang dideklarasikan menerima opsi apa adanya (penerusan
yang kompatibel dengan versi sebelumnya). Penyedia dapat menolak semua opsi penyedia dengan
mendeklarasikan skema kosong (capabilities.providerOptions: {}), yang
menyebabkan kandidat dilewati seperti pada ketidakcocokan tipe.Alasan pelewatan pertama dalam suatu permintaan dicatat pada warn agar operator dapat melihat ketika
penyedia utama mereka dilewati; pelewatan berikutnya dicatat pada debug agar
rantai fallback yang panjang tidak terlalu ramai. Jika setiap kandidat dilewati,
kesalahan gabungan menyertakan alasan pelewatan untuk masing-masing kandidat.
| Tindakan | Fungsinya |
|---|---|
generate |
Default. Membuat video dari prompt yang diberikan dan input referensi opsional. |
status |
Memeriksa status tugas video yang sedang berjalan untuk sesi saat ini tanpa memulai pembuatan lain. |
list |
Menampilkan penyedia, model, dan kapabilitasnya yang tersedia. |
OpenClaw menetapkan model dalam urutan berikut:
model - jika agen menentukannya dalam panggilan.videoGenerationModel.primary dari konfigurasi.videoGenerationModel.fallbacks secara berurutan.Jika suatu penyedia gagal, kandidat berikutnya akan dicoba secara otomatis. Jika semua kandidat gagal, pesan kesalahan menyertakan detail dari setiap percobaan.
Atur agents.defaults.mediaGenerationAutoProviderFallback: false untuk hanya menggunakan
entri model, primary, dan fallbacks yang eksplisit.
{ agents: { defaults: { videoGenerationModel: { primary: "google/veo-3.1-fast-generate-preview", fallbacks: ["runway/gen4.5", "qwen/wan2.6-t2v"], timeoutMs: 180000, // penggantian batas waktu permintaan penyedia per alat yang opsional }, }, },}Menggunakan endpoint asinkron DashScope / Model Studio. Gambar dan
video referensi harus berupa URL http(s) jarak jauh.
ID penyedia: byteplus.
Model: seedance-1-0-pro-250528 (default),
seedance-1-5-pro-251215.
Menggunakan API content[] terpadu. Mendukung hingga 2 gambar input
(first_frame + last_frame). Teruskan gambar berdasarkan posisi atau atur
role setiap gambar secara eksplisit.
Kunci providerOptions yang didukung: seed (angka), draft (boolean -
memaksa 480p), camera_fixed (boolean).
Memerlukan plugin @openclaw/byteplus-modelark
(eksternal, tidak disertakan). ID penyedia: byteplus-seedance15. Model:
seedance-1-5-pro-251215.
Menggunakan API content[] terpadu. Mendukung paling banyak 2 gambar input
(first_frame + last_frame). Semua input harus berupa URL https://
jarak jauh. Atur role: "first_frame" / "last_frame" pada setiap gambar, atau
teruskan gambar berdasarkan posisi.
aspectRatio: "adaptive" mendeteksi rasio secara otomatis dari gambar input.
audio: true dipetakan ke generate_audio. providerOptions.seed
(angka) diteruskan.
Memerlukan plugin @openclaw/byteplus-modelark
(eksternal, tidak disertakan). ID penyedia: byteplus-seedance2. Model:
dreamina-seedance-2-0-260128,
dreamina-seedance-2-0-fast-260128.
Menggunakan API content[] terpadu. Mendukung hingga 9 gambar referensi,
3 video referensi, dan 3 audio referensi. Semua input harus berupa URL
https:// jarak jauh. Atur role pada setiap aset - nilai yang didukung:
"first_frame", "last_frame", "reference_image",
"reference_video", "reference_audio".
aspectRatio: "adaptive" mendeteksi rasio secara otomatis dari gambar input.
audio: true dipetakan ke generate_audio. providerOptions.seed
(angka) diteruskan.
Eksekusi lokal atau cloud berbasis alur kerja. Mendukung teks-ke-video dan gambar-ke-video melalui graf yang dikonfigurasi.
Menggunakan alur berbasis antrean untuk pekerjaan yang berjalan lama. Secara default, OpenClaw menunggu hingga 20 menit sebelum menganggap pekerjaan antrean fal yang sedang berlangsung telah kehabisan waktu. Sebagian besar model video fal menerima satu referensi gambar. Model referensi-ke-video Seedance 2.0 menerima hingga 9 gambar, 3 video, dan 3 referensi audio, dengan maksimal 12 file referensi secara keseluruhan.
Mendukung satu referensi gambar atau satu referensi video. Permintaan audio yang dihasilkan
diabaikan dengan peringatan pada jalur API Gemini karena API tersebut menolak
parameter generateAudio untuk pembuatan video Veo saat ini.
Hanya satu referensi gambar. MiniMax menerima resolusi 768P dan 1080P;
permintaan seperti 720P dinormalisasi ke nilai terdekat yang
didukung sebelum dikirim.
Hanya penggantian size yang diteruskan. Penggantian gaya lainnya
(aspectRatio, resolution, audio, watermark) diabaikan dengan
peringatan.
Menggunakan API /videos asinkron OpenRouter. OpenClaw mengirimkan
pekerjaan, melakukan polling pada polling_url, dan mengunduh unsigned_urls atau
endpoint konten pekerjaan yang terdokumentasi. Nilai default google/veo-3.1-fast yang dibundel
menawarkan durasi 4/6/8 detik, resolusi 720P/1080P, dan
rasio aspek 16:9/9:16.
Menggunakan backend DashScope yang sama seperti Alibaba. Input referensi harus berupa
URL http(s) jarak jauh; file lokal langsung ditolak.
Mendukung file lokal melalui URI data. Video-ke-video memerlukan
runway/gen4_aleph. Eksekusi hanya teks menyediakan rasio aspek 16:9 dan
9:16.
Hanya satu referensi gambar.
Menggunakan https://www.vydra.ai/api/v1 secara langsung untuk menghindari pengalihan yang
menghilangkan autentikasi. veo3 dibundel hanya sebagai teks-ke-video; kling memerlukan
URL gambar jarak jauh.
Model default grok-imagine-video mendukung teks-ke-video, gambar-ke-video dengan satu
gambar bingkai pertama, hingga 7 input reference_image melalui
reference_images xAI, serta alur pengeditan/perpanjangan video jarak jauh. Pembuatan secara default
menggunakan 480P; gambar-ke-video dengan satu gambar mewarisi rasio sumber jika
aspectRatio tidak dicantumkan. Pengeditan/perpanjangan video mewarisi geometri input dan
tidak menerima penggantian rasio aspek atau resolusi. Perpanjangan menerima 2-10
detik.
grok-imagine-video-1.5 hanya mendukung gambar-ke-video: berikan tepat satu gambar.
Model ini mendukung 1-15 detik dan 480P, 720P, atau 1080P, dengan nilai default
480P; jangan cantumkan aspectRatio agar rasio gambar sumber diwarisi. Identitas pratinjau
dan 1.5 bertanggal menerima validasi yang sama dan diteruskan
tanpa perubahan.
Kontrak pembuatan video bersama mendukung kemampuan khusus mode, bukan hanya batas agregat datar. Implementasi penyedia baru sebaiknya menggunakan blok mode eksplisit:
capabilities: { generate: { maxVideos: 1, maxDurationSeconds: 10, supportsResolution: true, }, imageToVideo: { enabled: true, maxVideos: 1, maxInputImages: 1, maxInputImagesByModel: { "provider/reference-to-video": 9 }, maxDurationSeconds: 5, }, videoToVideo: { enabled: true, maxVideos: 1, maxInputVideos: 1, maxDurationSeconds: 5, },}Kolom agregat datar seperti maxInputImages dan maxInputVideos
tidak cukup untuk menyatakan dukungan mode transformasi. Penyedia harus
mendeklarasikan generate, imageToVideo, dan videoToVideo secara eksplisit agar pengujian
langsung, pengujian kontrak, dan alat bersama video_generate dapat memvalidasi
dukungan mode secara deterministik.
Jika satu model dalam suatu penyedia memiliki dukungan input referensi yang lebih luas daripada
model lainnya, gunakan maxInputImagesByModel, maxInputVideosByModel, atau
maxInputAudiosByModel, alih-alih meningkatkan batas untuk seluruh mode.
Cakupan langsung opsional untuk penyedia bersama yang dibundel:
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/video-generation-providers.live.test.tsPembungkus repo:
pnpm test:live:media videoSecara default, file langsung ini menggunakan variabel lingkungan penyedia yang telah diekspor sebelum profil autentikasi tersimpan, dan secara default menjalankan pemeriksaan cepat yang aman untuk rilis:
generate untuk setiap penyedia non-FAL dalam rangkaian pengujian.OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS (180000 secara default).FAL bersifat opsional karena latensi antrean di sisi penyedia dapat mendominasi waktu rilis:
pnpm test:live:media video --video-providers falTetapkan OPENCLAW_LIVE_VIDEO_GENERATION_FULL_MODES=1 untuk turut menjalankan
mode transformasi yang dideklarasikan dan dapat dijalankan dengan aman oleh rangkaian pengujian bersama menggunakan media lokal:
imageToVideo ketika capabilities.imageToVideo.enabled.videoToVideo ketika capabilities.videoToVideo.enabled dan
penyedia/model menerima input video lokal berbasis buffer dalam rangkaian
pengujian bersama.Saat ini, jalur langsung bersama videoToVideo hanya mencakup runway ketika Anda
memilih runway/gen4_aleph.
Tetapkan model pembuatan video default dalam konfigurasi OpenClaw Anda:
{ agents: { defaults: { videoGenerationModel: { primary: "qwen/wan2.6-t2v", fallbacks: ["qwen/wan2.6-r2v-flash"], }, }, },}Atau melalui CLI:
openclaw config set agents.defaults.videoGenerationModel.primary "qwen/wan2.6-t2v"