Tools

Pembuatan video

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:

Penyedia dapat mendukung subset apa pun dari mode tersebut. Alat memvalidasi mode aktif sebelum pengiriman dan melaporkan mode yang didukung dalam action=list.

Mulai cepat

  • Konfigurasikan autentikasi

    Tetapkan kunci API untuk penyedia mana 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 kepada 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 yang didukung antrean dapat berjalan hingga batas waktu yang dikonfigurasi).
    3. Ketika 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") 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.

    Siklus hidup tugas

    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:

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

    Matriks kapabilitas

    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
    Google 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

    Parameter alat

    Wajib

    promptstringrequired

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

    Input 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 input 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* (input).

    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 input). 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 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:

    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.

    Input referensi memilih mode runtime:

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

    Fallback dan opsi bertipe

    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:

    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

    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.

    Pemilihan model

    OpenClaw menetapkan model dalam urutan berikut:

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

    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.

    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 (disertakan)

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

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

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

    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 penggantian size yang diteruskan. Penggantian gaya lainnya (aspectRatio, resolution, audio, watermark) diabaikan dengan peringatan.

    OpenRouter

    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.

    Qwen

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

    Runway

    Mendukung file lokal melalui URI data. Video-ke-video memerlukan runway/gen4_aleph. Eksekusi hanya 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 dibundel 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 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.

    Mode kemampuan penyedia

    Kontrak pembuatan video bersama mendukung kemampuan khusus mode, bukan hanya batas agregat datar. Implementasi penyedia baru sebaiknya menggunakan 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 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.

    Pengujian langsung

    Cakupan langsung opsional untuk penyedia bersama yang dibundel:

    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, file langsung ini menggunakan variabel lingkungan penyedia yang telah diekspor sebelum profil autentikasi tersimpan, dan secara default menjalankan pemeriksaan cepat yang aman untuk rilis:

    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 pengujian bersama menggunakan media lokal:

    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