Tools
Pembuatan video
OpenClaw agents dapat menghasilkan video dari prompt teks, gambar referensi, atau video yang sudah ada. Enam belas backend penyedia didukung, masing-masing dengan opsi model, mode input, dan set fitur yang berbeda. Agent memilih penyedia yang tepat secara otomatis berdasarkan konfigurasi Anda dan API key yang tersedia.
OpenClaw memperlakukan pembuatan video sebagai tiga mode runtime:
generate- permintaan teks-ke-video tanpa media referensi.imageToVideo- permintaan menyertakan satu atau beberapa gambar referensi.videoToVideo- permintaan menyertakan satu atau beberapa video referensi.
Penyedia dapat mendukung subset apa pun dari mode tersebut. Tool memvalidasi
mode aktif sebelum pengiriman dan melaporkan mode yang didukung dalam action=list.
Mulai cepat
Configure auth
Tetapkan API key untuk penyedia apa pun yang didukung:
export GEMINI_API_KEY="your-key"
Pick a default model (optional)
openclaw config set agents.defaults.videoGenerationModel.primary "google/veo-3.1-fast-generate-preview"
Ask the agent
Hasilkan video sinematik berdurasi 5 detik tentang lobster ramah yang berselancar saat matahari terbenam.
Agent memanggil video_generate secara otomatis. Tidak diperlukan allowlist
tool.
Cara kerja pembuatan asinkron
Pembuatan video bersifat asinkron. Ketika agent memanggil video_generate dalam
sebuah sesi:
- OpenClaw mengirim permintaan ke penyedia dan langsung mengembalikan id tugas.
- Penyedia memproses pekerjaan di latar belakang (biasanya 30 detik hingga beberapa menit tergantung penyedia dan resolusi; penyedia lambat berbasis antrean dapat berjalan hingga timeout yang dikonfigurasi).
- Ketika video siap, OpenClaw membangunkan sesi yang sama dengan event penyelesaian internal.
- Agent memberi tahu pengguna dan melampirkan video yang selesai. Dalam obrolan grup/channel yang menggunakan pengiriman terlihat khusus message-tool-only, agent meneruskan hasil melalui tool pesan, bukan OpenClaw yang mempostingnya secara langsung.
Saat sebuah pekerjaan sedang berjalan, panggilan video_generate duplikat dalam
sesi yang sama mengembalikan status tugas saat ini alih-alih memulai
pembuatan lain. Gunakan openclaw tasks list atau openclaw tasks show <taskId> untuk
memeriksa progres dari CLI.
Di luar proses agent yang didukung sesi (misalnya, invokasi tool langsung), tool beralih ke pembuatan inline dan mengembalikan path media akhir dalam giliran yang sama.
File video yang dihasilkan disimpan di bawah penyimpanan media yang dikelola OpenClaw ketika
penyedia mengembalikan byte. Batas penyimpanan video yang dihasilkan default mengikuti
batas media video, dan agents.defaults.mediaMaxMb menaikkannya untuk
render yang lebih besar. Ketika penyedia juga mengembalikan URL output yang di-host, OpenClaw
dapat mengirimkan URL tersebut alih-alih menggagalkan tugas jika persistensi lokal
menolak file yang terlalu besar.
Siklus hidup tugas
| Status | Makna |
|---|---|
queued |
Tugas dibuat, menunggu penyedia menerimanya. |
running |
Penyedia sedang memproses (biasanya 30 detik hingga beberapa menit tergantung penyedia dan resolusi). |
succeeded |
Video siap; agent bangun dan mempostingnya ke percakapan. |
failed |
Error penyedia atau timeout; agent bangun dengan detail error. |
Periksa status dari CLI:
openclaw tasks list
openclaw tasks show <taskId>
openclaw tasks cancel <taskId>
Jika tugas video sudah queued atau running untuk sesi saat ini,
video_generate mengembalikan status tugas yang ada alih-alih memulai yang baru.
Gunakan action: "status" untuk memeriksa secara eksplisit tanpa memicu
pembuatan baru.
Penyedia yang didukung
| Penyedia | Model default | Teks | Referensi gambar | Referensi video | Autentikasi |
|---|---|---|---|---|---|
| Alibaba | wan2.6-t2v |
✓ | Ya (URL jarak jauh) | Ya (URL jarak jauh) | MODELSTUDIO_API_KEY |
| BytePlus (1.0) | seedance-1-0-pro-250528 |
✓ | Hingga 2 gambar (khusus model I2V; frame pertama + terakhir) | - | BYTEPLUS_API_KEY |
| BytePlus Seedance 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 |
✓ | 1 gambar | - | TOGETHER_API_KEY |
| Vydra | veo3 |
✓ | 1 gambar (kling) |
- | VYDRA_API_KEY |
| xAI | grok-imagine-video |
✓ | 1 gambar frame pertama atau hingga 7 reference_image |
1 video | XAI_API_KEY |
Beberapa penyedia menerima variabel lingkungan API key tambahan atau alternatif. Lihat halaman penyedia individual untuk detail.
Jalankan video_generate action=list untuk memeriksa penyedia, model, dan
mode runtime yang tersedia saat runtime.
Matriks kapabilitas
Kontrak mode eksplisit yang digunakan oleh video_generate, pengujian kontrak, dan
sweep live bersama:
| Penyedia | generate |
imageToVideo |
videoToVideo |
Lane live bersama saat ini |
|---|---|---|---|---|
| Alibaba | ✓ | ✓ | ✓ | generate, imageToVideo; videoToVideo dilewati karena penyedia ini membutuhkan URL video http(s) jarak jauh |
| BytePlus | ✓ | ✓ | - | generate, imageToVideo |
| ComfyUI | ✓ | ✓ | - | Tidak ada dalam sweep bersama; cakupan khusus workflow berada bersama pengujian Comfy |
| DeepInfra | ✓ | - | - | generate; skema video DeepInfra native adalah teks-ke-video dalam kontrak bundled |
| 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 path org/input ini saat ini membutuhkan akses inpaint/remix sisi penyedia |
| OpenRouter | ✓ | ✓ | - | generate, imageToVideo |
| Qwen | ✓ | ✓ | ✓ | generate, imageToVideo; videoToVideo dilewati karena penyedia ini membutuhkan URL video http(s) jarak jauh |
| Runway | ✓ | ✓ | ✓ | generate, imageToVideo; videoToVideo berjalan hanya ketika model yang dipilih adalah runway/gen4_aleph |
| Together | ✓ | ✓ | - | generate, imageToVideo |
| Vydra | ✓ | ✓ | - | generate; imageToVideo bersama dilewati karena veo3 bundled hanya teks dan kling bundled membutuhkan URL gambar jarak jauh |
| xAI | ✓ | ✓ | ✓ | generate, imageToVideo; videoToVideo dilewati karena penyedia ini saat ini membutuhkan URL MP4 jarak jauh |
Parameter tool
Wajib
promptstringrequiredDeskripsi teks video yang akan dihasilkan. Wajib untuk action: "generate".
Input konten
imagestringimagesstring[]imageRolesstring[]Petunjuk peran opsional per posisi yang sejajar dengan daftar gambar gabungan.
Nilai kanonis: first_frame, last_frame, reference_image.
videostringvideosstring[]videoRolesstring[]Petunjuk peran opsional per posisi yang sejajar dengan daftar video gabungan.
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 audio gabungan.
Nilai kanonis: reference_audio.
Kontrol gaya
aspectRatiostringPetunjuk rasio aspek seperti 1:1, 16:9, 9:16, adaptive, atau nilai khusus penyedia. OpenClaw menormalkan atau mengabaikan nilai yang tidak didukung per penyedia.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InJlc29sdXRpb24iIHR5cGU9InN0cmluZyI
Petunjuk resolusi seperti 480P, 720P, 768P, 1080P, 4K, atau nilai khusus penyedia. OpenClaw menormalkan atau mengabaikan nilai yang tidak didukung per penyedia.
OPENCLAW_DOCS_MARKER:paramClose:
durationSecondsnumberDurasi target dalam detik (dibulatkan ke nilai terdekat yang didukung penyedia).
sizestringaudiobooleanAktifkan audio yang dihasilkan dalam output ketika didukung. Berbeda dari audioRef* (input).
watermarkbooleanadaptive adalah sentinel khusus penyedia: nilai ini diteruskan apa adanya ke
penyedia yang mendeklarasikan adaptive dalam kapabilitasnya (misalnya BytePlus
Seedance menggunakannya untuk mendeteksi rasio secara otomatis dari dimensi
gambar input). Penyedia yang tidak mendeklarasikannya memunculkan nilai melalui
details.ignoredOverrides dalam hasil alat agar pengabaian terlihat.
Lanjutan
action"generate" | "status" | "list""status" mengembalikan tugas sesi saat ini; "list" memeriksa penyedia.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im1vZGVsIiB0eXBlPSJzdHJpbmci
Override penyedia/model (misalnya runway/gen4.5).
OPENCLAW_DOCS_MARKER:paramClose:
filenamestringtimeoutMsnumberproviderOptionsobjectOpsi khusus penyedia sebagai objek JSON (misalnya {"seed": 42, "draft": true}).
Penyedia yang mendeklarasikan skema bertipe memvalidasi kunci dan tipe; kunci
yang tidak dikenal atau ketidakcocokan melewati kandidat selama pencadangan. 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:
- Tidak ada media referensi →
generate - Referensi gambar apa pun →
imageToVideo - Referensi video apa pun →
videoToVideo - Input audio referensi tidak mengubah mode yang diselesaikan; input tersebut diterapkan di
atas mode apa pun yang dipilih referensi gambar/video, dan hanya bekerja
dengan penyedia yang mendeklarasikan
maxInputAudios.
Referensi gambar dan video campuran bukan permukaan kapabilitas bersama yang stabil. Sebaiknya gunakan satu jenis referensi per permintaan.
Pencadangan dan opsi bertipe
Beberapa pemeriksaan kapabilitas diterapkan pada lapisan pencadangan, bukan pada batas alat, sehingga permintaan yang melebihi batas penyedia utama masih dapat berjalan pada cadangan yang mampu:
- Kandidat aktif yang tidak mendeklarasikan
maxInputAudios(atau0) dilewati ketika permintaan berisi referensi audio; kandidat berikutnya dicoba. maxDurationSecondskandidat aktif di bawahdurationSecondsyang diminta tanpa daftarsupportedDurationSecondsyang dideklarasikan → dilewati.- Permintaan berisi
providerOptionsdan kandidat aktif secara eksplisit mendeklarasikan skemaproviderOptionsbertipe → dilewati jika kunci yang diberikan tidak ada dalam skema atau tipe nilai tidak cocok. Penyedia tanpa skema yang dideklarasikan menerima opsi apa adanya (penerusan kompatibel mundur). Penyedia dapat memilih keluar dari semua opsi penyedia dengan mendeklarasikan skema kosong (capabilities.providerOptions: {}), yang menyebabkan pelewatan yang sama seperti ketidakcocokan tipe.
Alasan pelewatan pertama dalam permintaan dicatat pada warn sehingga operator melihat ketika
penyedia utama mereka dilewati; pelewatan berikutnya dicatat pada debug untuk
menjaga rantai cadangan panjang tetap tenang. Jika setiap kandidat dilewati, galat
teragregasi menyertakan alasan pelewatan untuk masing-masing.
Tindakan
| Tindakan | Yang dilakukan |
|---|---|
generate |
Bawaan. Buat video dari prompt yang diberikan dan input referensi opsional. |
status |
Periksa status tugas video yang sedang berjalan untuk sesi saat ini tanpa memulai pembuatan lain. |
list |
Tampilkan penyedia, model, dan kapabilitas yang tersedia. |
Pemilihan model
OpenClaw menyelesaikan model dalam urutan ini:
- Parameter alat
model- jika agen menentukannya dalam panggilan. videoGenerationModel.primarydari konfigurasi.videoGenerationModel.fallbackssecara berurutan.- Deteksi otomatis - penyedia yang memiliki autentikasi valid, dimulai dengan penyedia default saat ini, lalu penyedia yang tersisa dalam urutan alfabetis.
Jika sebuah penyedia gagal, kandidat berikutnya dicoba secara otomatis. Jika semua kandidat gagal, galat menyertakan detail dari setiap percobaan.
Atur agents.defaults.mediaGenerationAutoProviderFallback: false untuk menggunakan
hanya entri model, primary, dan fallbacks eksplisit.
{
agents: {
defaults: {
videoGenerationModel: {
primary: "google/veo-3.1-fast-generate-preview",
fallbacks: ["runway/gen4.5", "qwen/wan2.6-t2v"],
},
},
},
}
Catatan penyedia
Alibaba
Menggunakan endpoint asinkron DashScope / Model Studio. Gambar dan
video referensi harus berupa URL http(s) jarak jauh.
BytePlus (1.0)
ID penyedia: byteplus.
Model: seedance-1-0-pro-250528 (default),
seedance-1-0-pro-t2v-250528, seedance-1-0-pro-fast-251015,
seedance-1-0-lite-t2v-250428, seedance-1-0-lite-i2v-250428.
Model T2V (*-t2v-*) tidak menerima input gambar; model I2V dan
model umum *-pro-* mendukung satu gambar referensi (frame pertama).
Teruskan gambar secara posisi atau atur role: "first_frame".
ID model T2V secara otomatis dialihkan ke varian I2V terkait
ketika gambar diberikan.
Kunci providerOptions yang didukung: seed (angka), draft (boolean -
memaksa 480p), camera_fixed (boolean).
BytePlus Seedance 1.5
Memerlukan plugin @openclaw/byteplus-modelark.
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 secara posisi.
aspectRatio: "adaptive" mendeteksi rasio secara otomatis dari gambar input.
audio: true dipetakan ke generate_audio. providerOptions.seed
(angka) diteruskan.
BytePlus Seedance 2.0
Memerlukan plugin @openclaw/byteplus-modelark.
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.
ComfyUI
Eksekusi lokal atau cloud yang digerakkan alur kerja. Mendukung text-to-video dan image-to-video melalui graph yang dikonfigurasi.
fal
Menggunakan alur berbasis antrean untuk pekerjaan yang berjalan lama. OpenClaw menunggu hingga 20 menit secara default sebelum memperlakukan pekerjaan antrean fal yang masih berjalan sebagai kehabisan waktu. Sebagian besar model video fal menerima satu referensi gambar. Model reference-to-video Seedance 2.0 menerima hingga 9 gambar, 3 video, dan 3 referensi audio, dengan total paling banyak 12 file referensi.
Google (Gemini / Veo)
Mendukung satu referensi gambar atau satu referensi video. Permintaan audio yang dihasilkan
diabaikan dengan peringatan pada jalur Gemini API karena API tersebut menolak
parameter generateAudio untuk pembuatan video Veo saat ini.
MiniMax
Hanya satu referensi gambar. MiniMax menerima resolusi 768P dan 1080P;
permintaan seperti 720P dinormalisasi ke nilai terdekat yang
didukung sebelum dikirim.
OpenAI
Hanya penggantian size yang diteruskan. Penggantian gaya lainnya
(aspectRatio, resolution, audio, watermark) diabaikan dengan
peringatan.
OpenRouter
Menggunakan API /videos asinkron milik OpenRouter. OpenClaw mengirimkan
pekerjaan, melakukan polling polling_url, dan mengunduh unsigned_urls atau
endpoint konten pekerjaan yang terdokumentasi. Default bawaan google/veo-3.1-fast
mengiklankan durasi 4/6/8 detik, resolusi 720P/1080P, dan
rasio aspek 16:9/9:16.
Qwen
Backend DashScope yang sama seperti Alibaba. Input referensi harus berupa URL
http(s) jarak jauh; file lokal ditolak sejak awal.
Runway
Mendukung file lokal melalui URI data. Video-to-video memerlukan
runway/gen4_aleph. Eksekusi hanya teks mengekspos rasio aspek 16:9 dan 9:16.
Together
Hanya satu referensi gambar.
Vydra
Menggunakan https://www.vydra.ai/api/v1 secara langsung untuk menghindari redirect
yang menghapus auth. veo3 disertakan sebagai text-to-video saja; kling memerlukan
URL gambar jarak jauh.
xAI
Mendukung text-to-video, image-to-video dengan satu gambar frame pertama, hingga 7
input reference_image melalui reference_images xAI, dan alur edit/perpanjang
video jarak jauh.
Mode kapabilitas penyedia
Kontrak pembuatan video bersama mendukung kapabilitas khusus mode alih-alih hanya batas agregat datar. Implementasi penyedia baru sebaiknya mengutamakan 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,
},
}
Field agregat datar seperti maxInputImages dan maxInputVideos
tidak cukup untuk mengiklankan dukungan mode transformasi. Penyedia sebaiknya
mendeklarasikan generate, imageToVideo, dan videoToVideo secara eksplisit agar pengujian live,
pengujian kontrak, dan alat bersama video_generate dapat memvalidasi
dukungan mode secara deterministik.
Ketika satu model dalam suatu penyedia memiliki dukungan input referensi yang lebih luas daripada
yang lain, gunakan maxInputImagesByModel, maxInputVideosByModel, atau
maxInputAudiosByModel alih-alih menaikkan batas seluruh mode.
Pengujian live
Cakupan live opt-in untuk penyedia bawaan bersama:
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/video-generation-providers.live.test.ts
Wrapper repo:
pnpm test:live:media video
File live ini memuat env var penyedia yang hilang dari ~/.profile, secara default mengutamakan
kunci API live/env sebelum profil auth tersimpan, dan menjalankan
smoke yang aman untuk rilis secara default:
generateuntuk setiap penyedia non-FAL dalam sweep.- Prompt lobster satu detik.
- Batas operasi per penyedia dari
OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS(180000secara default).
FAL bersifat opt-in karena latensi antrean di sisi penyedia dapat mendominasi waktu rilis:
pnpm test:live:media video --video-providers fal
Tetapkan OPENCLAW_LIVE_VIDEO_GENERATION_FULL_MODES=1 untuk juga menjalankan
mode transformasi yang dideklarasikan yang dapat dijalankan dengan aman oleh sweep bersama menggunakan media lokal:
imageToVideoketikacapabilities.imageToVideo.enabled.videoToVideoketikacapabilities.videoToVideo.enableddan penyedia/model menerima input video lokal berbasis buffer dalam sweep bersama.
Saat ini lane live videoToVideo bersama mencakup runway hanya ketika Anda
memilih runway/gen4_aleph.
Konfigurasi
Tetapkan model pembuatan video default di 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"
Terkait
- Alibaba Model Studio
- Tugas latar belakang - pelacakan tugas untuk pembuatan video asinkron
- BytePlus
- ComfyUI
- Referensi konfigurasi
- fal
- Google (Gemini)
- MiniMax
- Model
- OpenAI
- Qwen
- Runway
- Together AI
- Ringkasan alat
- Vydra
- xAI