メインコンテンツへスキップ

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

OpenClaw エージェントは、テキストプロンプト、参照画像、または 既存の動画から動画を生成できます。16 個のプロバイダーバックエンドがサポートされており、それぞれ 異なるモデルオプション、入力モード、機能セットを持ちます。エージェントは、設定と利用可能な API キーに基づいて、適切なプロバイダーを自動的に選択します。
video_generate ツールは、少なくとも 1 つの動画生成 プロバイダーが利用可能な場合にのみ表示されます。エージェントツールに表示されない場合は、 プロバイダー API キーを設定するか、agents.defaults.videoGenerationModel を構成してください。
OpenClaw は動画生成を 3 つのランタイムモードとして扱います。
  • generate - 参照メディアなしのテキストから動画へのリクエスト。
  • imageToVideo - リクエストに 1 つ以上の参照画像が含まれます。
  • videoToVideo - リクエストに 1 つ以上の参照動画が含まれます。
プロバイダーは、これらのモードの任意のサブセットをサポートできます。ツールは送信前に アクティブなモードを検証し、action=list でサポートされているモードを報告します。

クイックスタート

1

認証を構成

サポートされている任意のプロバイダーの API キーを設定します。
export GEMINI_API_KEY="your-key"
2

デフォルトモデルを選択(任意)

openclaw config set agents.defaults.videoGenerationModel.primary "google/veo-3.1-fast-generate-preview"
3

エージェントに依頼

夕暮れにサーフィンをする親しみやすいロブスターの、5 秒間の映画的な動画を生成してください。
エージェントは video_generate を自動的に呼び出します。ツールの許可リスト登録は 必要ありません。

非同期生成の仕組み

動画生成は非同期です。エージェントがセッション内で video_generate を呼び出すと:
  1. OpenClaw はリクエストをプロバイダーに送信し、すぐにタスク ID を返します。
  2. プロバイダーはバックグラウンドでジョブを処理します(通常はプロバイダーと解像度に応じて 30 秒から数分。キューに支えられた低速なプロバイダーでは、設定されたタイムアウトまで実行される場合があります)。
  3. 動画の準備ができると、OpenClaw は内部完了イベントで同じセッションを起動します。
  4. エージェントはユーザーに通知し、完成した動画を添付します。メッセージツールのみの可視配信を使用するグループ/チャンネル チャットでは、OpenClaw が直接投稿する代わりに、エージェントがメッセージツールを通じて 結果を中継します。
ジョブが実行中の間、同じセッション内で重複する video_generate 呼び出しは、別の 生成を開始する代わりに現在のタスクステータスを返します。CLI から進捗を確認するには、 openclaw tasks list または openclaw tasks show <taskId> を使用します。 セッションに支えられたエージェント実行の外部(たとえば、直接のツール呼び出し)では、 ツールはインライン生成にフォールバックし、同じターンで最終メディアパスを 返します。 生成された動画ファイルは、プロバイダーがバイトを返す場合、OpenClaw 管理のメディアストレージの下に保存されます。 デフォルトの生成動画保存上限は動画メディア制限に従い、agents.defaults.mediaMaxMb は より大きなレンダーのためにそれを引き上げます。プロバイダーがホストされた出力 URL も返す場合、ローカル永続化が サイズ超過ファイルを拒否したときに、OpenClaw はタスクを失敗させる代わりにその URL を配信できます。

タスクライフサイクル

状態意味
queuedタスクが作成され、プロバイダーによる受け入れを待っています。
runningプロバイダーが処理中です(通常はプロバイダーと解像度に応じて 30 秒から数分)。
succeeded動画の準備ができました。エージェントが起動し、会話に投稿します。
failedプロバイダーエラーまたはタイムアウトです。エージェントがエラー詳細とともに起動します。
CLI からステータスを確認します。
openclaw tasks list
openclaw tasks show <taskId>
openclaw tasks cancel <taskId>
現在のセッションに対して動画タスクがすでに queued または running の場合、 video_generate は新しいタスクを開始する代わりに既存のタスクステータスを返します。 新しい生成をトリガーせずに明示的に確認するには、action: "status" を使用します。

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

プロバイダーデフォルトモデルテキスト画像参照動画参照認証
Alibabawan2.6-t2vはい(リモート URL)はい(リモート URL)MODELSTUDIO_API_KEY
BytePlus (1.0)seedance-1-0-pro-250528最大 2 枚の画像(I2V モデルのみ。最初 + 最後のフレーム)-BYTEPLUS_API_KEY
BytePlus Seedance 1.5seedance-1-5-pro-251215最大 2 枚の画像(ロール経由の最初 + 最後のフレーム)-BYTEPLUS_API_KEY
BytePlus Seedance 2.0dreamina-seedance-2-0-260128最大 9 枚の参照画像最大 3 本の動画BYTEPLUS_API_KEY
ComfyUIworkflow1 枚の画像-COMFY_API_KEY または COMFY_CLOUD_API_KEY
DeepInfraPixverse/Pixverse-T2V--DEEPINFRA_API_KEY
falfal-ai/minimax/video-01-live1 枚の画像。Seedance reference-to-video では最大 9 枚Seedance reference-to-video では最大 3 本の動画FAL_KEY
Googleveo-3.1-fast-generate-preview1 枚の画像1 本の動画GEMINI_API_KEY
MiniMaxMiniMax-Hailuo-2.31 枚の画像-MINIMAX_API_KEY または MiniMax OAuth
OpenAIsora-21 枚の画像1 本の動画OPENAI_API_KEY
OpenRoutergoogle/veo-3.1-fast最大 4 枚の画像(最初/最後のフレームまたは参照)-OPENROUTER_API_KEY
Qwenwan2.6-t2vはい(リモート URL)はい(リモート URL)QWEN_API_KEY
Runwaygen4.51 枚の画像1 本の動画RUNWAYML_API_SECRET
TogetherWan-AI/Wan2.2-T2V-A14B1 枚の画像-TOGETHER_API_KEY
Vydraveo31 枚の画像(kling-VYDRA_API_KEY
xAIgrok-imagine-video1 枚の最初のフレーム画像、または最大 7 個の reference_image1 本の動画XAI_API_KEY
一部のプロバイダーは、追加または代替の API キー環境変数を受け入れます。詳細は 個別のプロバイダーページを参照してください。 実行時に利用可能なプロバイダー、モデル、ランタイムモードを調べるには、video_generate action=list を実行します。

機能マトリクス

video_generate、コントラクトテスト、共有ライブスイープで使用される明示的なモードコントラクト:
プロバイダーgenerateimageToVideovideoToVideo現在の共有ライブレーン
Alibabagenerate, imageToVideo; このプロバイダーはリモート http(s) 動画 URL を必要とするため、videoToVideo はスキップされます
BytePlus-generate, imageToVideo
ComfyUI-共有スイープには含まれません。ワークフロー固有のカバレッジは Comfy テスト側にあります
DeepInfra--generate; ネイティブ DeepInfra 動画スキーマはバンドルされたコントラクト内ではテキストから動画です
falgenerate, imageToVideo; videoToVideo は Seedance reference-to-video を使用する場合のみ
Googlegenerate, imageToVideo; 現在のバッファーに支えられた Gemini/Veo スイープがその入力を受け入れないため、共有 videoToVideo はスキップされます
MiniMax-generate, imageToVideo
OpenAIgenerate, imageToVideo; この org/入力パスは現在プロバイダー側の inpaint/remix アクセスを必要とするため、共有 videoToVideo はスキップされます
OpenRouter-generate, imageToVideo
Qwengenerate, imageToVideo; このプロバイダーはリモート http(s) 動画 URL を必要とするため、videoToVideo はスキップされます
Runwaygenerate, imageToVideo; videoToVideo は選択されたモデルが runway/gen4_aleph の場合のみ実行されます
Together-generate, imageToVideo
Vydra-generate; バンドルされた veo3 はテキスト専用で、バンドルされた kling はリモート画像 URL を必要とするため、共有 imageToVideo はスキップされます
xAIgenerate, imageToVideo; このプロバイダーは現在リモート MP4 URL を必要とするため、videoToVideo はスキップされます

ツールパラメーター

必須

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

コンテンツ入力

image
string
単一の参照画像(パスまたは URL)。
images
string[]
複数の参照画像(最大 9 個)。
imageRoles
string[]
結合された画像リストと並行する、位置ごとの任意のロールヒント。 正規値: first_frame, last_frame, reference_image
video
string
単一の参照動画(パスまたは URL)。
videos
string[]
複数の参照動画(最大 4 個)。
videoRoles
string[]
結合された動画リストと並行する、位置ごとの任意のロールヒント。 正規値: reference_video
audioRef
string
単一の参照音声(パスまたは URL)。プロバイダーが音声入力をサポートする場合に、 BGM または音声参照に使用されます。
audioRefs
string[]
複数の参照音声(最大 3 個)。
audioRoles
string[]
結合された音声リストと並行する、位置ごとの任意のロールヒント。 正規値: reference_audio
ロールヒントはそのままプロバイダーに転送されます。正規値は VideoGenerationAssetRole union から来ていますが、プロバイダーは追加の ロール文字列を受け入れる場合があります。*Roles 配列のエントリ数は、対応する 参照リストを超えてはいけません。1 つずれのミスは明確なエラーで失敗します。 スロットを未設定のままにするには空文字列を使用します。xAI では、その reference_images 生成モードを使用するために、すべての画像ロールを reference_image に設定します。単一画像の image-to-video では、ロールを省略するか first_frame を使用します。

スタイル制御

aspectRatio
string
1:116:99:16adaptive、またはプロバイダー固有の値などのアスペクト比ヒント。OpenClaw は、プロバイダーごとに未サポートの値を正規化または無視します。
resolution
string
480P720P768P1080P4K、またはプロバイダー固有の値などの解像度ヒント。OpenClaw は、プロバイダーごとに未サポートの値を正規化または無視します。
durationSeconds
number
目標 duration(秒)(プロバイダーがサポートする最も近い値に丸められます)。
size
string
プロバイダーがサポートする場合のサイズヒント。
audio
boolean
サポートされている場合、出力で生成音声を有効にします。audioRef*(入力)とは別です。
watermark
boolean
サポートされている場合、プロバイダーのウォーターマークを切り替えます。
adaptive はプロバイダー固有の sentinel です。これは、機能で adaptive を宣言している プロバイダーにそのまま転送されます(例: BytePlus Seedance は入力画像の寸法から比率を自動検出するために使用します)。宣言していない プロバイダーでは、値はツール結果の details.ignoredOverrides 経由で表示されるため、破棄されたことが分かります。

高度な設定

action
"generate" | "status" | "list"
デフォルト:"generate"
"status" は現在のセッションタスクを返します。"list" はプロバイダーを検査します。
model
string
プロバイダー/モデルのオーバーライド(例: runway/gen4.5)。
filename
string
出力ファイル名のヒント。
timeoutMs
number
任意のプロバイダー操作タイムアウト(ミリ秒)。省略した場合、OpenClaw は設定されていれば agents.defaults.videoGenerationModel.timeoutMs を使用します。
providerOptions
object
JSON オブジェクトとしてのプロバイダー固有オプション(例: {"seed": 42, "draft": true})。 型付きスキーマを宣言するプロバイダーは、キーと型を検証します。不明な キーまたは不一致があると、フォールバック時にその候補はスキップされます。宣言されたスキーマがない プロバイダーは、オプションをそのまま受け取ります。各プロバイダーが受け入れる内容を確認するには video_generate action=list を実行します。
すべてのプロバイダーがすべてのパラメーターをサポートしているわけではありません。OpenClaw は duration を プロバイダーがサポートする最も近い値に正規化し、フォールバックプロバイダーが異なる 制御サーフェスを公開している場合は、size-to-aspect-ratio などの変換済み geometry ヒントを再マップします。 本当にサポートされていないオーバーライドはベストエフォートで無視され、 ツール結果で警告として報告されます。厳格な機能制限 (参照入力が多すぎるなど)は送信前に失敗します。ツール結果は 適用された設定を報告します。details.normalization は、要求から適用値への 変換を記録します。
参照入力はランタイムモードを選択します。
  • 参照メディアなし → generate
  • 任意の画像参照 → imageToVideo
  • 任意の動画参照 → videoToVideo
  • 参照音声入力は、解決されたモードを変更しません。画像/動画参照が選択した モードの上に適用され、maxInputAudios を宣言しているプロバイダーでのみ 動作します。
画像参照と動画参照の混在は、安定した共有機能サーフェスではありません。 リクエストごとに参照タイプを 1 つにすることを推奨します。

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

一部の機能チェックはツール境界ではなくフォールバックレイヤーで適用されるため、 プライマリプロバイダーの制限を超えるリクエストでも、 対応可能なフォールバックで実行できる場合があります。
  • アクティブな候補が maxInputAudios を宣言していない(または 0)場合、 リクエストに音声参照が含まれているとスキップされ、次の候補が試行されます。
  • アクティブな候補の maxDurationSeconds が要求された durationSeconds を下回り、 宣言された supportedDurationSeconds リストがない場合 → スキップされます。
  • リクエストに providerOptions が含まれ、アクティブな候補が型付き providerOptions スキーマを明示的に宣言している場合 → 指定されたキーが スキーマ内にない、または値の型が一致しないとスキップされます。宣言されたスキーマがない プロバイダーは、オプションをそのまま受け取ります(後方互換の パススルー)。プロバイダーは空のスキーマ(capabilities.providerOptions: {})を 宣言することで、すべてのプロバイダーオプションを拒否できます。その場合、 型不一致と同じスキップが発生します。
リクエスト内の最初のスキップ理由は warn でログに記録されるため、オペレーターは プライマリプロバイダーが見送られたことを確認できます。後続のスキップは debug でログに記録され、 長いフォールバックチェーンを静かに保ちます。すべての候補がスキップされた場合、 集約エラーにはそれぞれのスキップ理由が含まれます。

アクション

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

モデル選択

OpenClaw は次の順序でモデルを解決します。
  1. model ツールパラメーター - agent が呼び出しで指定した場合。
  2. 設定の videoGenerationModel.primary
  3. 順番に videoGenerationModel.fallbacks
  4. 自動検出 - 現在のデフォルトプロバイダーから開始し、その後、残りのプロバイダーをアルファベット順に、 有効な認証を持つプロバイダー。
プロバイダーが失敗した場合、次の候補が自動的に試行されます。すべての 候補が失敗した場合、エラーには各試行の詳細が含まれます。 明示的な modelprimaryfallbacks エントリのみを使用するには、 agents.defaults.mediaGenerationAutoProviderFallback: false を設定します。
{
  agents: {
    defaults: {
      videoGenerationModel: {
        primary: "google/veo-3.1-fast-generate-preview",
        fallbacks: ["runway/gen4.5", "qwen/wan2.6-t2v"],
      },
    },
  },
}

プロバイダーの注意事項

DashScope / Model Studio 非同期エンドポイントを使用します。参照画像と 動画はリモートの http(s) URL である必要があります。
プロバイダー 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-250428T2V モデル(*-t2v-*)は画像入力を受け付けません。I2V モデルと 汎用 *-pro-* モデルは、単一の参照画像(最初の フレーム)をサポートします。画像を位置指定で渡すか、role: "first_frame" を設定します。 画像が指定されると、T2V モデル ID は対応する I2V バリアントに自動的に切り替わります。サポートされる providerOptions キー: seed(number)、draft(boolean - 480p を強制)、camera_fixed(boolean)。
@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)は転送されます。
@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)は転送されます。
ワークフロー駆動のローカルまたはクラウド実行。設定されたグラフを通じて、テキストから動画と 画像から動画をサポートします。
長時間実行ジョブにはキューを使ったフローを使用します。OpenClaw はデフォルトで最大 20 分待機した後、進行中の fal キュージョブをタイムアウトとして扱います。ほとんどの fal 動画モデルは 単一の画像参照を受け付けます。Seedance 2.0 の参照から動画モデルは 最大 9 個の画像、3 個の動画、3 個の音声参照を受け付け、参照ファイルの合計は 最大 12 個です。
1 つの画像または 1 つの動画参照をサポートします。生成音声リクエストは Gemini API パスでは警告付きで無視されます。その API は現在の Veo 動画生成で generateAudio パラメーターを拒否するためです。
単一の画像参照のみ。MiniMax は 768P1080P の解像度を受け付けます。720P などのリクエストは送信前に 最も近い対応値へ正規化されます。
size オーバーライドのみが転送されます。その他のスタイルオーバーライド (aspectRatio, resolution, audio, watermark) は警告付きで 無視されます。
OpenRouter の非同期 /videos API を使用します。OpenClaw は ジョブを送信し、polling_url をポーリングして、unsigned_urls または ドキュメント化されたジョブコンテンツエンドポイントのいずれかをダウンロードします。バンドルされた google/veo-3.1-fast デフォルトは 4/6/8 秒の長さ、720P/1080P の解像度、 16:9/9:16 のアスペクト比を公開しています。
Alibaba と同じ DashScope バックエンドです。参照入力はリモートの http(s) URL である必要があります。ローカルファイルは事前に拒否されます。
data URI 経由でローカルファイルをサポートします。動画から動画には runway/gen4_aleph が必要です。テキストのみの実行では 16:99:16 のアスペクト 比が公開されます。
単一の画像参照のみ。
認証が失われるリダイレクトを避けるため、https://www.vydra.ai/api/v1 を直接使用します。 veo3 はテキストから動画のみとしてバンドルされています。kling には リモート画像 URL が必要です。
テキストから動画、単一の先頭フレーム画像から動画、xAI reference_images 経由で最大 7 個の reference_image 入力、およびリモートの 動画編集/延長フローをサポートします。

プロバイダー機能モード

共有の動画生成契約は、単なるフラットな集約上限ではなく、モード固有の機能をサポートします。 新しいプロバイダー実装では 明示的なモードブロックを優先してください。
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 などのフラットな集約フィールドだけでは、 変換モード対応を示すには 不十分です。ライブテスト、契約テスト、共有 video_generate ツールが モード対応を決定的に検証できるように、プロバイダーは generateimageToVideovideoToVideo を明示的に宣言する必要があります。 プロバイダー内の 1 つのモデルが他よりも広い参照入力対応を持つ場合は、 モード全体の上限を引き上げるのではなく、maxInputImagesByModelmaxInputVideosByModel、または maxInputAudiosByModel を使用してください。

ライブテスト

共有バンドルプロバイダー向けのオプトインのライブカバレッジ:
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/video-generation-providers.live.test.ts
リポジトリラッパー:
pnpm test:live:media video
このライブファイルは、不足しているプロバイダー環境変数を ~/.profile から読み込み、デフォルトでは 保存済み認証プロファイルよりもライブ/環境 API キーを優先し、 デフォルトでリリースに安全なスモークを実行します。
  • スイープ内のすべての非 FAL プロバイダーに対する generate
  • 1 秒のロブスタープロンプト。
  • OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS からのプロバイダーごとの操作上限 (デフォルトは 180000)。
FAL はオプトインです。プロバイダー側のキュー待ち時間がリリース時間を支配することがあるためです。
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 設定でデフォルトの動画生成モデルを設定します。
{
  agents: {
    defaults: {
      videoGenerationModel: {
        primary: "qwen/wan2.6-t2v",
        fallbacks: ["qwen/wan2.6-r2v-flash"],
      },
    },
  },
}
または CLI 経由:
openclaw config set agents.defaults.videoGenerationModel.primary "qwen/wan2.6-t2v"

関連