Tools

Pembuatan video

Agen OpenClaw menghasilkan video dari perintah 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 masukan 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 kombinasi apa pun dari mode tersebut. Alat ini memvalidasi mode aktif sebelum pengiriman dan melaporkan mode yang didukung dalam action=list.

Mulai cepat

  • Konfigurasikan autentikasi

    Tetapkan kunci API untuk penyedia apa pun yang didukung:

    bash
    export GEMINI_API_KEY="your-key"
  • Pilih model default (opsional)

    bash
    openclaw config set agents.defaults.videoGenerationModel.primary "google/veo-3.1-fast-generate-preview"
  • Minta agen

    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.

  • Cara kerja pembuatan asinkron

    Pembuatan video berlangsung secara asinkron:

    1. OpenClaw mengirimkan permintaan ke penyedia dan segera mengembalikan id tugas.
    2. Penyedia memproses pekerjaan di latar belakang (biasanya 30 detik hingga beberapa menit, bergantung pada penyedia dan resolusi; penyedia lambat berbasis antrean dapat berjalan hingga batas waktu yang dikonfigurasi).
    3. Saat video siap, OpenClaw membangunkan sesi yang sama dengan peristiwa penyelesaian internal.
    4. Agen melaporkannya melalui mode balasan terlihat normal milik sesi: balasan akhir otomatis, atau message(action="send") saat sesi mengharuskan alat pesan. Jika sesi peminta tidak aktif, atau proses membangunkannya gagal dan media yang dihasilkan masih tidak ada dalam balasan penyelesaian, OpenClaw mengirimkan fallback langsung 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 eksekusi agen berbasis sesi (misalnya, pemanggilan alat secara langsung), alat beralih ke pembuatan inline dan mengembalikan jalur media akhir dalam giliran yang sama.

    File video yang dihasilkan disimpan di penyimpanan media yang dikelola OpenClaw saat penyedia mengembalikan byte. Batas default adalah 16 MB (batas bersama untuk media video); agents.defaults.mediaMaxMb menaikkannya untuk hasil render yang lebih besar. Saat penyedia juga mengembalikan URL keluaran yang dihosting, OpenClaw mengirimkan URL tersebut alih-alih menggagalkan tugas jika persistensi lokal menolak file yang terlalu besar.

    Siklus hidup tugas

    Status Arti
    queued Tugas dibuat dan 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 habis; agen dibangunkan dengan detail kesalahan.

    Periksa status dari CLI:

    bash
    openclaw tasks listopenclaw tasks show <lookup>openclaw tasks cancel <lookup>

    Penyedia yang didukung

    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 (1.0) seedance-1-0-pro-250528 Hingga 2 gambar (khusus model I2V; bingkai pertama + terakhir) - BYTEPLUS_API_KEY
    BytePlus Seedance 1.5 seedance-1-5-pro-251215 Hingga 2 gambar (bingkai 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
    Google 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 (bingkai 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 Khusus Wan-AI/Wan2.2-I2V-A14B - TOGETHER_API_KEY
    Vydra veo3 1 gambar (kling) - VYDRA_API_KEY
    xAI grok-imagine-video Klasik: 1 bingkai pertama atau 7 referensi; 1.5: 1 bingkai Klasik: 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.

    Matriks kemampuan

    Kontrak mode eksplisit yang digunakan oleh video_generate, pengujian kontrak, dan sweep langsung bersama:

    Penyedia generate imageToVideo videoToVideo Jalur langsung 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 asli DeepInfra adalah teks-ke-video dalam kontrak plugin
    fal generate, imageToVideo; videoToVideo hanya saat menggunakan referensi-ke-video Seedance
    Google generate, imageToVideo; videoToVideo bersama dilewati karena sweep Gemini/Veo berbasis buffer saat ini tidak menerima masukan tersebut
    MiniMax - generate, imageToVideo
    OpenAI generate, imageToVideo; videoToVideo bersama dilewati karena jalur organisasi/masukan ini saat ini memerlukan akses pengeditan video dari 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 saat 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 Klasik mendukung semua mode; Video 1.5 hanya mendukung gambar-ke-video; masukan MP4 jarak jauh membuat videoToVideo tidak disertakan dalam sweep bersama

    Parameter alat

    Wajib

    promptstringrequired

    Deskripsi teks untuk video yang akan dihasilkan. Wajib untuk action: "generate".

    Masukan konten

    imagestring
    imagesstring[]
    imageRolesstring[]

    Petunjuk peran opsional per posisi yang sejajar dengan daftar gabungan gambar. Nilai kanonis: first_frame, last_frame, reference_image.

    videostring
    videosstring[]
    videoRolesstring[]

    Petunjuk peran opsional per posisi yang sejajar dengan daftar gabungan video. Nilai kanonis: reference_video.

    audioRefstring

    Satu audio referensi (jalur atau URL). Digunakan untuk musik latar atau referensi suara ketika penyedia mendukung masukan audio.

    audioRefsstring[]
    audioRolesstring[]

    Petunjuk peran opsional per posisi yang sejajar dengan daftar gabungan audio. Nilai kanonis: reference_audio.

    Kontrol gaya

    aspectRatiostring

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

    durationSecondsnumber

    Durasi target dalam detik (dibulatkan ke nilai terdekat yang didukung penyedia).

    sizestring
    audioboolean

    Aktifkan audio yang dihasilkan dalam keluaran jika didukung. Berbeda dari audioRef* (masukan).

    watermarkboolean

    adaptive 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 masukan). Penyedia yang tidak mendeklarasikannya menampilkan nilai tersebut melalui details.ignoredOverrides dalam hasil alat agar pengabaiannya terlihat.

    Lanjutan

    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:

    filenamestring

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InRpbWVvdXRNcyIgdHlwZT0ibnVtYmVyIg Batas waktu operasi penyedia opsional dalam milidetik. Jika dihilangkan, OpenClaw menggunakan agents.defaults.videoGenerationModel.timeoutMs jika dikonfigurasi, atau nilai bawaan penyedia yang ditentukan oleh pembuat plugin jika tersedia. OPENCLAW_DOCS_MARKER:paramClose:

    providerOptionsobject

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

    Masukan referensi memilih mode waktu proses:

    • Tanpa media referensi -> generate
    • Referensi gambar apa pun -> imageToVideo
    • Referensi video apa pun -> videoToVideo
    • Masukan audio referensi tidak mengubah mode yang ditetapkan; masukan tersebut diterapkan di atas mode apa pun yang dipilih oleh referensi gambar/video, dan hanya berfungsi dengan penyedia yang mendeklarasikan maxInputAudios.

    Campuran referensi gambar dan video bukanlah permukaan kapabilitas bersama yang stabil. Utamakan satu jenis referensi per permintaan.

    Fallback dan opsi bertipe

    Beberapa pemeriksaan kapabilitas berlaku pada lapisan fallback, bukan pada batas alat, sehingga permintaan yang melampaui batas penyedia utama masih dapat dijalankan pada fallback yang kapabel:

    • Kandidat aktif yang tidak mendeklarasikan maxInputAudios (atau 0) akan dilewati ketika permintaan berisi referensi audio; kandidat berikutnya akan dicoba. Pemeriksaan yang sama berlaku untuk jumlah referensi gambar dan video terhadap maxInputImages/maxInputVideos.
    • maxDurationSeconds kandidat aktif yang lebih rendah daripada durationSeconds yang diminta tanpa daftar supportedDurationSeconds yang dideklarasikan -> dilewati.
    • Permintaan berisi providerOptions dan kandidat aktif secara eksplisit mendeklarasikan skema providerOptions bertipe -> dilewati jika kunci yang diberikan tidak ada dalam skema atau tipe nilainya tidak cocok. Penyedia tanpa skema yang dideklarasikan menerima opsi apa adanya (penerusan yang kompatibel ke belakang). 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 tingkat warn agar operator mengetahui kapan penyedia utama mereka dilewati; pelewatan berikutnya dicatat pada tingkat debug untuk menjaga agar rantai fallback yang panjang tidak bising. Jika setiap kandidat dilewati, kesalahan gabungan menyertakan alasan pelewatan untuk masing-masing kandidat.

    Tindakan

    Tindakan Fungsinya
    generate Bawaan. Membuat video dari perintah yang diberikan dan masukan referensi opsional.
    status Memeriksa status tugas video yang sedang berjalan untuk sesi saat ini tanpa memulai pembuatan lainnya.
    list Menampilkan penyedia, model, dan kapabilitas yang tersedia.

    Pemilihan model

    OpenClaw menetapkan model dengan urutan berikut:

    1. Parameter alat model - jika agen menentukannya dalam panggilan.
    2. videoGenerationModel.primary dari konfigurasi.
    3. videoGenerationModel.fallbacks sesuai urutan.
    4. Deteksi otomatis - penyedia yang memiliki autentikasi valid, dimulai dari penyedia bawaan saat ini, lalu penyedia lainnya dalam urutan alfabet.

    Jika penyedia gagal, kandidat berikutnya akan dicoba secara otomatis. Jika semua kandidat gagal, pesan kesalahan menyertakan detail dari setiap percobaan.

    Tetapkan agents.defaults.mediaGenerationAutoProviderFallback: false untuk hanya menggunakan entri model, primary, dan fallbacks yang eksplisit.

    json5
    {  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      },    },  },}

    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 (bawaan), 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 masukan gambar; model I2V dan model umum *-pro-* mendukung satu gambar referensi (bingkai pertama). Berikan gambar berdasarkan posisi atau tetapkan role: "first_frame". ID model T2V secara otomatis dialihkan ke varian I2V yang sesuai 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 (eksternal, tidak disertakan). ID penyedia: byteplus-seedance15. Model: seedance-1-5-pro-251215.

    Menggunakan API content[] terpadu. Mendukung paling banyak 2 gambar masukan (first_frame + last_frame). Semua masukan harus berupa URL https:// jarak jauh. Tetapkan role: "first_frame" / "last_frame" pada setiap gambar, atau berikan gambar berdasarkan posisi.

    aspectRatio: "adaptive" mendeteksi rasio secara otomatis dari gambar masukan. audio: true dipetakan ke generate_audio. providerOptions.seed (angka) diteruskan.

    BytePlus Seedance 2.0

    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 masukan harus berupa URL https:// jarak jauh. Tetapkan 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 masukan. audio: true dipetakan ke generate_audio. providerOptions.seed (angka) diteruskan.

    ComfyUI

    Eksekusi lokal atau cloud berbasis alur kerja. Mendukung teks-ke-video dan gambar-ke-video melalui graf yang dikonfigurasi.

    fal

    Menggunakan alur berbasis antrean untuk pekerjaan yang berjalan lama. Secara default, OpenClaw menunggu hingga 20 menit sebelum menganggap pekerjaan antrean fal yang masih 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 maksimum 12 berkas referensi secara keseluruhan.

    Google (Gemini / Veo)

    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.

    MiniMax

    Hanya satu referensi gambar. MiniMax menerima resolusi 768P dan 1080P; permintaan seperti 720P dinormalisasi ke nilai terdekat yang didukung sebelum dikirim.

    OpenAI

    Hanya penimpaan size yang diteruskan. Penimpaan gaya lainnya (aspectRatio, resolution, audio, watermark) diabaikan dengan peringatan.

    OpenRouter

    Menggunakan API /videos asinkron milik OpenRouter. OpenClaw mengirimkan pekerjaan, melakukan polling pada polling_url, dan mengunduh unsigned_urls atau endpoint konten pekerjaan yang didokumentasikan. Default bawaan google/veo-3.1-fast menawarkan durasi 4/6/8 detik, resolusi 720P/1080P, dan rasio aspek 16:9/9:16.

    Qwen

    Menggunakan backend DashScope yang sama dengan Alibaba. Input referensi harus berupa URL http(s) jarak jauh; berkas lokal langsung ditolak.

    Runway

    Mendukung berkas lokal melalui URI data. Video-ke-video memerlukan runway/gen4_aleph. Eksekusi khusus teks menyediakan rasio aspek 16:9 dan 9:16.

    Together

    Hanya satu referensi gambar.

    Vydra

    Menggunakan https://www.vydra.ai/api/v1 secara langsung untuk menghindari pengalihan yang menghilangkan autentikasi. veo3 disertakan hanya sebagai teks-ke-video; kling memerlukan URL gambar jarak jauh.

    xAI

    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 ketika aspectRatio tidak ditentukan. Pengeditan/perpanjangan video mewarisi geometri input dan tidak menerima penimpaan rasio aspek atau resolusi. Perpanjangan menerima durasi 2–10 detik.

    grok-imagine-video-1.5 hanya mendukung gambar-ke-video: berikan tepat satu gambar. Model ini mendukung durasi 1–15 detik serta 480P, 720P, atau 1080P, dengan default 480P; jangan tentukan aspectRatio agar rasio gambar sumber diwarisi. Pengidentifikasi pratinjau dan 1.5 bertanggal menerima validasi yang sama dan diteruskan tanpa perubahan.

    Mode kapabilitas penyedia

    Kontrak bersama pembuatan video mendukung kapabilitas khusus mode, bukan hanya batas agregat datar. Implementasi penyedia baru sebaiknya mengutamakan blok mode eksplisit:

    typescript
    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 sebaiknya mendeklarasikan generate, imageToVideo, dan videoToVideo secara eksplisit agar pengujian langsung, 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 model lainnya, gunakan maxInputImagesByModel, maxInputVideosByModel, atau maxInputAudiosByModel alih-alih menaikkan batas untuk seluruh mode.

    Pengujian langsung

    Cakupan langsung opsional untuk penyedia bersama bawaan:

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

    Pembungkus repo:

    bash
    pnpm test:live:media video

    Secara default, berkas pengujian langsung ini menggunakan variabel lingkungan penyedia yang sudah diekspor sebelum profil autentikasi tersimpan, dan menjalankan pengujian singkat yang aman untuk rilis:

    • generate untuk setiap penyedia non-FAL dalam rangkaian.
    • Prompt lobster berdurasi satu detik.
    • Batas operasi per penyedia dari OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS (default 180000).

    FAL bersifat opsional karena latensi antrean di sisi penyedia dapat mendominasi waktu rilis:

    bash
    pnpm test:live:media video --video-providers fal

    Tetapkan OPENCLAW_LIVE_VIDEO_GENERATION_FULL_MODES=1 untuk turut menjalankan mode transformasi yang dideklarasikan dan dapat dijalankan dengan aman oleh rangkaian 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 bersama.

    Saat ini jalur langsung bersama videoToVideo hanya mencakup runway ketika Anda memilih runway/gen4_aleph.

    Konfigurasi

    Tetapkan model pembuatan video default dalam konfigurasi OpenClaw Anda:

    json5
    {  agents: {    defaults: {      videoGenerationModel: {        primary: "qwen/wan2.6-t2v",        fallbacks: ["qwen/wan2.6-r2v-flash"],      },    },  },}

    Atau melalui CLI:

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

    Terkait

    Was this useful?
    On this page

    On this page