Tools

動画生成

OpenClaw エージェントは、video_generate を通じてテキストプロンプト、参照画像、または 既存の動画から動画を生成します。16 個のプロバイダーバックエンドが サポートされており、エージェントは構成と利用可能な API キーに基づいて適切なものを自動的に選択します。

video_generate には 3 つの実行時モードがあり、呼び出し内の参照入力から 解決されます。

  • generate - 参照メディアなし(テキストから動画)。
  • imageToVideo - 1 つ以上の参照画像。
  • videoToVideo - 1 つ以上の参照動画。

プロバイダーは、これらのモードの任意のサブセットをサポートできます。このツールは 送信前にアクティブなモードを検証し、action=list でサポートされるモードを報告します。

クイックスタート

  • Configure auth

    サポートされている任意のプロバイダーの API キーを設定します。

    bash
    export GEMINI_API_KEY="your-key"
  • Pick a default model (optional)

    bash
    openclaw config set agents.defaults.videoGenerationModel.primary "google/veo-3.1-fast-generate-preview"
  • Ask the agent

    夕暮れ時にサーフィンをするフレンドリーなロブスターの 5 秒間の映画風動画を生成してください。

    エージェントは video_generate を自動的に呼び出します。ツールの許可リスト設定は 不要です。

  • 非同期生成の仕組み

    動画生成は非同期です。

    1. OpenClaw はリクエストをプロバイダーに送信し、すぐにタスク ID を返します。
    2. プロバイダーはバックグラウンドでジョブを処理します(通常はプロバイダーと解像度に応じて 30 秒から数分です。キューに支えられた低速なプロバイダーでは、構成されたタイムアウトまで実行されることがあります)。
    3. 動画の準備ができると、OpenClaw は内部完了イベントで同じセッションを起動します。
    4. エージェントは、セッションの通常の表示返信モードでそれを報告します。 自動の最終返信、またはセッションがメッセージツールを必要とする場合は message(action="send") です。 リクエスト元のセッションが非アクティブであるか、起動に失敗し、かつ 生成されたメディアが完了返信にまだ含まれていない場合、OpenClaw は メディア付きの冪等な直接フォールバックを送信します。

    ジョブの実行中、同じセッション内の重複する video_generate 呼び出しは、 別の生成を開始せず、現在のタスクステータスを返します。 新しい生成をトリガーせずに確認するには action: "status" を使用するか、 CLI から openclaw tasks list / openclaw tasks show <lookup> を使用してください (バックグラウンドタスクを参照)。

    セッションに支えられたエージェント実行の外部(たとえば、直接ツール呼び出し)では、 このツールはインライン生成にフォールバックし、同じターンで最終メディアパスを 返します。

    プロバイダーがバイト列を返す場合、生成された動画ファイルは OpenClaw 管理のメディアストレージに 保存されます。デフォルトの上限は 16MB(共有動画メディアの 上限)です。agents.defaults.mediaMaxMb は、より大きなレンダー向けに上限を引き上げます。 プロバイダーがホストされた出力 URL も返す場合、ローカル永続化がサイズ超過ファイルを拒否しても、 OpenClaw はタスクを失敗させる代わりにその URL を配信します。

    タスクのライフサイクル

    状態 意味
    queued タスクが作成され、プロバイダーが受け付けるのを待機しています。
    running プロバイダーが処理中です(通常はプロバイダーと解像度に応じて 30 秒から数分)。
    succeeded 動画の準備ができました。エージェントが起動し、会話に投稿します。
    failed プロバイダーエラーまたはタイムアウトです。エージェントがエラー詳細とともに起動します。

    CLI からステータスを確認します。

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

    サポートされているプロバイダー

    プロバイダー デフォルトモデル テキスト 画像参照 動画参照 認証
    Alibaba wan2.6-t2v 可(リモート URL) 可(リモート URL) MODELSTUDIO_API_KEY
    BytePlus (1.0) seedance-1-0-pro-250528 最大 2 枚の画像(I2V モデルのみ、最初 + 最後のフレーム) - BYTEPLUS_API_KEY
    BytePlus Seedance 1.5 seedance-1-5-pro-251215 最大 2 枚の画像(ロール経由の最初 + 最後のフレーム) - BYTEPLUS_API_KEY
    BytePlus Seedance 2.0 dreamina-seedance-2-0-260128 最大 9 枚の参照画像 最大 3 本の動画 BYTEPLUS_API_KEY
    ComfyUI workflow 1 枚の画像 - COMFY_API_KEY または COMFY_CLOUD_API_KEY
    DeepInfra Pixverse/Pixverse-T2V - - DEEPINFRA_API_KEY
    fal fal-ai/minimax/video-01-live 1 枚の画像。Seedance reference-to-video では最大 9 枚 Seedance reference-to-video では最大 3 本の動画 FAL_KEY
    Google veo-3.1-fast-generate-preview 1 枚の画像 1 本の動画 GEMINI_API_KEY
    MiniMax MiniMax-Hailuo-2.3 1 枚の画像 - MINIMAX_API_KEY または MiniMax OAuth
    OpenAI sora-2 1 枚の画像 1 本の動画 OPENAI_API_KEY
    OpenRouter google/veo-3.1-fast 最大 4 枚の画像(最初/最後のフレームまたは参照) - OPENROUTER_API_KEY
    Qwen wan2.6-t2v 可(リモート URL) 可(リモート URL) QWEN_API_KEY
    Runway gen4.5 1 枚の画像 1 本の動画 RUNWAYML_API_SECRET
    Together Wan-AI/Wan2.2-T2V-A14B Wan-AI/Wan2.2-I2V-A14B のみ - TOGETHER_API_KEY
    Vydra veo3 1 枚の画像(kling - VYDRA_API_KEY
    xAI grok-imagine-video 1 枚の最初のフレーム画像、または最大 7 個の reference_image 1 本の動画 XAI_API_KEY

    一部のプロバイダーは、追加または代替の API キー環境変数を受け付けます。詳細は 個別のプロバイダーページを参照してください。

    実行時に利用可能なプロバイダー、モデル、実行時モードを確認するには、 video_generate action=list を実行してください。

    機能マトリクス

    video_generate、契約テスト、共有ライブスイープで使用される 明示的なモード契約です。

    プロバイダー generate imageToVideo videoToVideo 現在の共有ライブレーン
    Alibaba generateimageToVideo。このプロバイダーはリモート http(s) 動画 URL を必要とするため、videoToVideo はスキップされます
    BytePlus - generateimageToVideo
    ComfyUI - 共有スイープには含まれません。ワークフロー固有のカバレッジは Comfy テストにあります
    DeepInfra - - generate。ネイティブ DeepInfra 動画スキーマは Plugin 契約ではテキストから動画です
    fal generateimageToVideovideoToVideo は Seedance reference-to-video を使用する場合のみです
    Google generateimageToVideo。現在のバッファーに支えられた Gemini/Veo スイープはその入力を受け付けないため、共有 videoToVideo はスキップされます
    MiniMax - generateimageToVideo
    OpenAI generateimageToVideo。この組織/入力パスは現在プロバイダー側の動画編集アクセスを必要とするため、共有 videoToVideo はスキップされます
    OpenRouter - generateimageToVideo
    Qwen generateimageToVideo。このプロバイダーはリモート http(s) 動画 URL を必要とするため、videoToVideo はスキップされます
    Runway generateimageToVideovideoToVideo は選択されたモデルが runway/gen4_aleph の場合のみ実行されます
    Together - generateimageToVideo
    Vydra - generate。バンドルされた veo3 はテキストのみで、バンドルされた kling はリモート画像 URL を必要とするため、共有 imageToVideo はスキップされます
    xAI generateimageToVideo。このプロバイダーは現在リモート MP4 URL を必要とするため、videoToVideo はスキップされます

    ツールパラメーター

    必須

    promptstringrequired

    生成する動画のテキスト説明です。action: "generate" では必須です。

    コンテンツ入力

    imagestring
    imagesstring[]
    imageRolesstring[]

    結合された画像リストと並行する、位置ごとの任意のロールヒント。 正規値: first_frame, last_frame, reference_image

    videostring
    videosstring[]
    videoRolesstring[]

    結合された動画リストと並行する、位置ごとの任意のロールヒント。 正規値: reference_video

    audioRefstring

    単一の参照音声 (パスまたは URL)。プロバイダーが音声入力に対応している場合に、 背景音楽または音声参照に使用されます。

    audioRefsstring[]
    audioRolesstring[]

    結合された音声リストと並行する、位置ごとの任意のロールヒント。 正規値: reference_audio

    スタイル制御

    aspectRatiostring

    1:116:99:16adaptive、またはプロバイダー固有の値などのアスペクト比ヒント。OpenClaw はプロバイダーごとに、未対応の値を正規化または無視します。

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InJlc29sdXRpb24iIHR5cGU9InN0cmluZyI 360P480P540P720P768P1080P4K、またはプロバイダー固有の値などの解像度ヒント。OpenClaw はプロバイダーごとに、未対応の値を正規化または無視します。 OPENCLAW_DOCS_MARKER:paramClose:

    durationSecondsnumber

    目標の長さ (秒)。プロバイダーが対応する最も近い値に丸められます。

    sizestring
    audioboolean

    対応している場合、出力内の生成音声を有効にします。audioRef* (入力) とは別です。

    watermarkboolean

    adaptive はプロバイダー固有のセンチネルです。機能内で adaptive を宣言している プロバイダーにはそのまま転送されます (例: BytePlus Seedance は、入力画像の 寸法から比率を自動検出するためにこれを使用します)。宣言していないプロバイダーでは、 その値はツール結果の details.ignoredOverrides に表示されるため、破棄されたことが分かります。

    高度な設定

    action"generate" | "status" | "list"default: generate

    "status" は現在のセッションタスクを返します。"list" はプロバイダーを検査します。

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im1vZGVsIiB0eXBlPSJzdHJpbmci プロバイダー/モデルの上書き (例: runway/gen4.5)。 OPENCLAW_DOCS_MARKER:paramClose:

    filenamestring

    OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InRpbWVvdXRNcyIgdHlwZT0ibnVtYmVyIg 任意のプロバイダー操作タイムアウト (ミリ秒)。省略した場合、OpenClaw は設定済みであれば agents.defaults.videoGenerationModel.timeoutMs を使用し、そうでなければ存在する場合に Plugin 作成のプロバイダーデフォルトを使用します。 OPENCLAW_DOCS_MARKER:paramClose:

    providerOptionsobject

    JSON オブジェクトとしてのプロバイダー固有オプション (例: {"seed": 42, "draft": true})。 型付きスキーマを宣言しているプロバイダーは、キーと型を検証します。不明な キーや不一致がある場合、フォールバック中にその候補はスキップされます。宣言済み スキーマのないプロバイダーは、オプションをそのまま受け取ります。各プロバイダーが 受け付ける内容を確認するには、video_generate action=list を実行します。

    参照入力はランタイムモードを選択します。

    • 参照メディアなし -> generate
    • 画像参照あり -> imageToVideo
    • 動画参照あり -> videoToVideo
    • 参照音声入力は、解決されたモードを変更しません。画像/動画参照が選択した モードの上に適用され、maxInputAudios を宣言しているプロバイダーでのみ 機能します。

    画像参照と動画参照の混在は、安定した共通機能サーフェスではありません。 リクエストごとに 1 種類の参照タイプを使用することを推奨します。

    フォールバックと型付きオプション

    一部の機能チェックはツール境界ではなくフォールバック層で適用されるため、 プライマリプロバイダーの制限を超えるリクエストでも、対応可能なフォールバックで 実行できる場合があります。

    • アクティブ候補が maxInputAudios を宣言していない (または 0) 場合、 リクエストに音声参照が含まれているとスキップされ、次の候補が試行されます。同じ ガードは、画像および動画参照数に対して maxInputImages/maxInputVideos にも適用されます。
    • アクティブ候補の maxDurationSeconds が要求された durationSeconds を下回り、 宣言済みの supportedDurationSeconds リストがない場合 -> スキップされます。
    • リクエストに providerOptions が含まれ、アクティブ候補が型付き providerOptions スキーマを明示的に宣言している場合 -> 指定されたキーが スキーマ内にない、または値の型が一致しない場合はスキップされます。宣言済み スキーマのないプロバイダーはオプションをそのまま受け取ります (後方互換の パススルー)。プロバイダーは空のスキーマ (capabilities.providerOptions: {}) を 宣言することで、すべてのプロバイダーオプションを拒否できます。この場合、 型不一致と同じスキップが発生します。

    リクエスト内の最初のスキップ理由は warn でログ出力されるため、オペレーターは プライマリプロバイダーが見送られたことを把握できます。以降のスキップは debug で ログ出力され、長いフォールバックチェーンが静かに保たれます。すべての候補が スキップされた場合、集約エラーには各候補のスキップ理由が含まれます。

    アクション

    アクション 実行内容
    generate デフォルト。指定されたプロンプトと任意の参照入力から動画を作成します。
    status 別の生成を開始せずに、現在のセッションで実行中の動画タスクの状態を確認します。
    list 利用可能なプロバイダー、モデル、およびそれらの機能を表示します。

    モデル選択

    OpenClaw は次の順序でモデルを解決します。

    1. model ツールパラメーター - エージェントが呼び出し内で指定した場合。
    2. 設定の videoGenerationModel.primary
    3. videoGenerationModel.fallbacks の順序。
    4. 自動検出 - 有効な認証を持つプロバイダー。現在のデフォルトプロバイダーから開始し、 残りのプロバイダーをアルファベット順に試します。

    プロバイダーが失敗した場合、次の候補が自動的に試行されます。すべての 候補が失敗した場合、エラーには各試行の詳細が含まれます。

    明示的な modelprimaryfallbacks エントリのみを使用するには、 agents.defaults.mediaGenerationAutoProviderFallback: false を設定します。

    json5
    {  agents: {    defaults: {      videoGenerationModel: {        primary: "google/veo-3.1-fast-generate-preview",        fallbacks: ["runway/gen4.5", "qwen/wan2.6-t2v"],        timeoutMs: 180000, // optional per-tool provider request timeout override      },    },  },}

    プロバイダーノート

    Alibaba

    DashScope / Model Studio の非同期エンドポイントを使用します。参照画像と 動画はリモートの http(s) URL である必要があります。

    BytePlus (1.0)

    プロバイダー ID: byteplus

    モデル: seedance-1-0-pro-250528 (デフォルト)、 seedance-1-0-pro-t2v-250528seedance-1-0-pro-fast-251015seedance-1-0-lite-t2v-250428seedance-1-0-lite-i2v-250428

    T2V モデル (*-t2v-*) は画像入力を受け付けません。I2V モデルおよび 汎用の *-pro-* モデルは単一の参照画像 (最初のフレーム) に対応しています。 画像を位置指定で渡すか、role: "first_frame" を設定します。 画像が指定された場合、T2V モデル ID は対応する I2V バリアントへ自動的に切り替えられます。

    対応する providerOptions キー: seed (number)、draft (boolean - 480p を強制)、camera_fixed (boolean)。

    BytePlus Seedance 1.5

    @openclaw/byteplus-modelark Plugin (外部、バンドル対象外) が必要です。プロバイダー ID: byteplus-seedance15。モデル: seedance-1-5-pro-251215

    統合 content[] API を使用します。最大 2 つの入力画像 (first_frame + last_frame) に対応します。すべての入力はリモートの https:// URL である必要があります。各画像に role: "first_frame" / "last_frame" を設定するか、 画像を位置指定で渡します。

    aspectRatio: "adaptive" は入力画像から比率を自動検出します。 audio: truegenerate_audio にマッピングされます。providerOptions.seed (number) は転送されます。

    BytePlus Seedance 2.0

    @openclaw/byteplus-modelark Plugin (外部、バンドル対象外) が必要です。プロバイダー ID: byteplus-seedance2。モデル: dreamina-seedance-2-0-260128dreamina-seedance-2-0-fast-260128

    統合 content[] API を使用します。最大 9 つの参照画像、 3 つの参照動画、3 つの参照音声に対応します。すべての入力はリモートの https:// URL である必要があります。各アセットに role を設定します - 対応値: "first_frame""last_frame""reference_image""reference_video""reference_audio"

    aspectRatio: "adaptive" は入力画像から比率を自動検出します。 audio: truegenerate_audio にマッピングされます。providerOptions.seed (number) は転送されます。

    ComfyUI

    ワークフロー駆動のローカルまたはクラウド実行。設定済みのグラフを通じて、テキストから動画および画像から動画をサポートします。

    fal

    長時間実行ジョブにはキュー backed のフローを使用します。OpenClaw は、進行中の fal キュージョブをタイムアウトとして扱う前に、デフォルトで最大 20 分待機します。ほとんどの fal 動画モデルは、単一の画像参照を受け付けます。Seedance 2.0 の参照から動画モデルは、最大 9 個の画像、3 個の動画、3 個の音声参照を受け付け、参照ファイルの合計は最大 12 個です。

    Google (Gemini / Veo)

    1 つの画像参照または 1 つの動画参照をサポートします。生成音声リクエストは、Gemini API パスでは警告付きで無視されます。これは、その API が現在の Veo 動画生成で generateAudio パラメーターを拒否するためです。

    MiniMax

    単一の画像参照のみ。MiniMax は 768P1080P の解像度を受け付けます。720P などのリクエストは、送信前に最も近いサポート値へ正規化されます。

    OpenAI

    size オーバーライドのみが転送されます。その他のスタイルオーバーライド(aspectRatioresolutionaudiowatermark)は警告付きで無視されます。

    OpenRouter

    OpenRouter の非同期 /videos API を使用します。OpenClaw はジョブを送信し、polling_url をポーリングして、unsigned_urls またはドキュメント化されたジョブコンテンツエンドポイントのいずれかをダウンロードします。バンドルされた google/veo-3.1-fast のデフォルトは、4/6/8 秒の長さ、720P/1080P の解像度、16:9/9:16 のアスペクト比を公表しています。

    Qwen

    Alibaba と同じ DashScope バックエンドです。参照入力はリモートの http(s) URL である必要があります。ローカルファイルは事前に拒否されます。

    Runway

    data URI 経由のローカルファイルをサポートします。動画から動画には runway/gen4_aleph が必要です。テキストのみの実行では、16:99:16 のアスペクト比が公開されます。

    Together

    単一の画像参照のみ。

    Vydra

    認証が失われるリダイレクトを避けるため、https://www.vydra.ai/api/v1 を直接使用します。veo3 はテキストから動画のみとしてバンドルされています。kling にはリモート画像 URL が必要です。

    xAI

    テキストから動画、単一の先頭フレーム画像から動画、xAI reference_images 経由で最大 7 個の reference_image 入力、リモート動画の編集/延長フローをサポートします。

    プロバイダー機能モード

    共有動画生成コントラクトは、フラットな集約制限だけでなく、モード固有の機能をサポートします。新しいプロバイダー実装では、明示的なモードブロックを優先してください。

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

    maxInputImagesmaxInputVideos などのフラットな集約フィールドは、変換モードのサポートを公表するには不十分です。プロバイダーは generateimageToVideovideoToVideo を明示的に宣言し、ライブテスト、コントラクトテスト、共有 video_generate ツールがモードサポートを決定的に検証できるようにする必要があります。

    プロバイダー内の 1 つのモデルが他より広い参照入力サポートを持つ場合は、モード全体の制限を引き上げる代わりに、maxInputImagesByModelmaxInputVideosByModel、または maxInputAudiosByModel を使用してください。

    ライブテスト

    共有バンドルプロバイダー向けのオプトインのライブカバレッジ:

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

    リポジトリラッパー:

    bash
    pnpm test:live:media video

    このライブファイルは、デフォルトで保存済み認証プロファイルよりも、すでにエクスポートされているプロバイダー環境変数を優先して使用し、デフォルトでリリース安全なスモークを実行します。

    • スイープ内のすべての非 FAL プロバイダーに対する generate
    • 1 秒のロブスタープロンプト。
    • OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS(デフォルトは 180000)から取得するプロバイダーごとの操作上限。

    FAL はオプトインです。プロバイダー側のキュー待ち時間がリリース時間を支配する可能性があるためです。

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

    OPENCLAW_LIVE_VIDEO_GENERATION_FULL_MODES=1 を設定すると、共有スイープがローカルメディアで安全に実行できる宣言済み変換モードも実行されます。

    • capabilities.imageToVideo.enabled の場合の imageToVideo
    • capabilities.videoToVideo.enabled で、プロバイダー/モデルが共有スイープ内のバッファ backed ローカル動画入力を受け付ける場合の videoToVideo

    現在、共有 videoToVideo ライブレーンは、runway/gen4_aleph を選択した場合にのみ runway をカバーします。

    設定

    OpenClaw 設定でデフォルトの動画生成モデルを設定します。

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

    または CLI 経由:

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

    関連

    Was this useful?
    On this page

    On this page