Skip to main content

Documentation Index

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

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

OpenClaw 智能体可以根据文本 prompt、参考图片或现有视频生成视频。支持 16 个提供商后端,每个后端都有不同的模型选项、输入模式和功能集。智能体会根据你的配置和可用 API 密钥自动选择合适的提供商。
video_generate 工具只会在至少有一个视频生成提供商可用时出现。如果你在智能体工具中看不到它,请设置提供商 API 密钥或配置 agents.defaults.videoGenerationModel
OpenClaw 将视频生成视为三种运行时模式:
  • generate - 没有参考媒体的文本转视频请求。
  • imageToVideo - 请求包含一个或多个参考图片。
  • videoToVideo - 请求包含一个或多个参考视频。
提供商可以支持这些模式的任意子集。该工具会在提交前验证当前模式,并在 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 调用会返回当前任务状态,而不是启动另一次生成。使用 openclaw tasks listopenclaw tasks show <taskId> 可从 CLI 检查进度。 在没有会话支撑的智能体运行之外(例如直接工具调用),该工具会回退到内联生成,并在同一轮中返回最终媒体路径。 当提供商返回字节数据时,生成的视频文件会保存在 OpenClaw 管理的媒体存储下。默认生成视频保存上限遵循视频媒体限制,agents.defaults.mediaMaxMb 可为更大的渲染提高上限。当提供商还返回托管输出 URL 时,如果本地持久化因文件过大而拒绝保存,OpenClaw 可以改为投递该 URL,而不是让任务失败。

任务生命周期

状态含义
queued任务已创建,正在等待提供商接受。
running提供商正在处理(通常需要 30 秒到几分钟,具体取决于提供商和分辨率)。
succeeded视频已就绪;智能体会被唤醒并将其发布到对话中。
failed提供商错误或超时;智能体会带着错误详情被唤醒。
从 CLI 检查状态:
openclaw tasks list
openclaw tasks show <taskId>
openclaw tasks cancel <taskId>
如果当前会话已有视频任务处于 queuedrunning 状态,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_KEYCOMFY_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当前共享实时通道
AlibabagenerateimageToVideo;跳过 videoToVideo,因为此提供商需要远程 http(s) 视频 URL
BytePlus-generateimageToVideo
ComfyUI-不在共享扫描中;特定于 workflow 的覆盖由 Comfy 测试维护
DeepInfra--generate;内置契约中的原生 DeepInfra 视频 schema 是文本转视频
falgenerateimageToVideo;仅在使用 Seedance reference-to-video 时支持 videoToVideo
GooglegenerateimageToVideo;跳过共享 videoToVideo,因为当前基于缓冲区的 Gemini/Veo 扫描不接受该输入
MiniMax-generateimageToVideo
OpenAIgenerateimageToVideo;跳过共享 videoToVideo,因为此组织/输入路径当前需要提供商侧 inpaint/remix 访问权限
OpenRouter-generateimageToVideo
QwengenerateimageToVideo;跳过 videoToVideo,因为此提供商需要远程 http(s) 视频 URL
RunwaygenerateimageToVideo;仅当所选模型是 runway/gen4_aleph 时运行 videoToVideo
Together-generateimageToVideo
Vydra-generate;跳过共享 imageToVideo,因为内置 veo3 仅支持文本,且内置 kling 需要远程图片 URL
xAIgenerateimageToVideo;跳过 videoToVideo,因为此提供商当前需要远程 MP4 URL

工具参数

必需

prompt
string
required
要生成的视频文本描述。action: "generate" 需要此参数。

内容输入

image
string
单个参考图像(路径或 URL)。
images
string[]
多个参考图像(最多 9 个)。
imageRoles
string[]
可选的逐位置角色提示,与合并后的图像列表并行。 规范值:first_framelast_framereference_image
video
string
单个参考视频(路径或 URL)。
videos
string[]
多个参考视频(最多 4 个)。
videoRoles
string[]
可选的逐位置角色提示,与合并后的视频列表并行。 规范值:reference_video
audioRef
string
单个参考音频(路径或 URL)。当提供商支持音频输入时,用于背景音乐或语音 参考。
audioRefs
string[]
多个参考音频(最多 3 个)。
audioRoles
string[]
可选的逐位置角色提示,与合并后的音频列表并行。 规范值:reference_audio
角色提示会原样转发给提供商。规范值来自 VideoGenerationAssetRole 联合类型,但提供商可能接受额外的 角色字符串。*Roles 数组的条目数不得多于 对应的参考列表;偏移一位错误会以明确错误失败。 使用空字符串可让某个槽位保持未设置。对于 xAI,将每个图像角色都设为 reference_image 以使用其 reference_images 生成模式;对于单图像的图像到视频, 省略角色或使用 first_frame

样式控制

aspectRatio
string
宽高比提示,例如 1:116:99:16adaptive,或提供商特定值。OpenClaw 会按提供商规范化或忽略不支持的值。
resolution
string
分辨率提示,例如 480P720P768P1080P4K,或提供商特定值。OpenClaw 会按提供商规范化或忽略不支持的值。
durationSeconds
number
目标时长(秒)(四舍五入到最接近的提供商支持值)。
size
string
当提供商支持时使用的尺寸提示。
audio
boolean
在支持时为输出启用生成的音频。不同于 audioRef*(输入)。
watermark
boolean
在支持时切换提供商水印。
adaptive 是提供商特定的哨兵值:它会原样转发给 在能力中声明 adaptive 的提供商(例如 BytePlus Seedance 使用它根据输入图像尺寸自动检测比例)。未声明它的提供商会通过 工具结果中的 details.ignoredOverrides 暴露该值,使丢弃行为可见。

高级

action
"generate" | "status" | "list"
default:"generate"
"status" 返回当前会话任务;"list" 检查提供商。
model
string
提供商/模型覆盖(例如 runway/gen4.5)。
filename
string
输出文件名提示。
timeoutMs
number
可选的提供商操作超时时间,单位为毫秒。省略时,如果已配置,OpenClaw 会使用 agents.defaults.videoGenerationModel.timeoutMs
providerOptions
object
JSON 对象形式的提供商特定选项(例如 {"seed": 42, "draft": true})。 声明了类型化 schema 的提供商会验证键和类型;未知 键或不匹配会在回退期间跳过该候选。没有 声明 schema 的提供商会原样接收这些选项。运行 video_generate action=list 查看每个提供商接受的内容。
并非所有提供商都支持所有参数。OpenClaw 会将时长规范化为 最接近的提供商支持值,并在回退提供商暴露不同 控制面时重新映射已转换的几何提示,例如从尺寸到宽高比。 真正不支持的覆盖会尽力忽略, 并在工具结果中作为警告报告。硬性能力限制 (例如参考输入过多)会在提交前失败。工具结果 会报告已应用的设置;details.normalization 会捕获任何 从请求到应用的转换。
参考输入会选择运行时模式:
  • 无参考媒体 → generate
  • 任意图像参考 → imageToVideo
  • 任意视频参考 → videoToVideo
  • 参考音频输入不会改变解析出的模式;它们会应用在 图像/视频参考所选择模式之上,并且只适用于 声明 maxInputAudios 的提供商。
混合使用图像和视频参考不是稳定的共享能力面。 建议每次请求只使用一种参考类型。

回退和类型化选项

某些能力检查会在回退层而不是 工具边界应用,因此超过主提供商限制的请求 仍可在有能力的回退上运行:
  • 当请求包含音频参考时,声明没有 maxInputAudios(或为 0)的活动候选 会被跳过;会尝试下一个候选。
  • 活动候选的 maxDurationSeconds 低于请求的 durationSeconds, 且未声明 supportedDurationSeconds 列表 → 跳过。
  • 请求包含 providerOptions,并且活动候选显式 声明了类型化 providerOptions schema → 如果提供的键 不在 schema 中或值类型不匹配,则跳过。没有 声明 schema 的提供商会原样接收选项(向后兼容的 透传)。提供商可以通过 声明空 schema(capabilities.providerOptions: {})选择退出所有提供商选项,这 会导致与类型不匹配相同的跳过行为。
请求中的第一个跳过原因会以 warn 记录,以便操作员看到 其主提供商何时被跳过;后续跳过会以 debug 记录, 以保持长回退链安静。如果每个候选都被跳过, 聚合错误会包含每个候选的跳过原因。

操作

操作作用
generate默认值。根据给定提示和可选参考输入创建视频。
status在不启动另一次生成的情况下,检查当前会话中正在进行的视频任务状态。
list显示可用的提供商、模型及其能力。

模型选择

OpenClaw 按以下顺序解析模型:
  1. model 工具参数 - 如果智能体在调用中指定了它。
  2. 配置中的 videoGenerationModel.primary
  3. 按顺序使用 videoGenerationModel.fallbacks
  4. 自动检测 - 拥有有效凭证的提供商,从 当前默认提供商开始,然后按字母顺序使用 剩余提供商。
如果某个提供商失败,会自动尝试下一个候选。如果所有 候选都失败,错误会包含每次尝试的详情。 设置 agents.defaults.mediaGenerationAutoProviderFallback: false,即可只使用 显式的 modelprimaryfallbacks 条目。
{
  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(数字)、draft(布尔值 - 强制 480p)、camera_fixed(布尔值)。
需要 @openclaw/byteplus-modelark 插件。提供商 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: true 映射到 generate_audioproviderOptions.seed (数字)会被转发。
需要 @openclaw/byteplus-modelark 插件。提供商 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: true 映射到 generate_audioproviderOptions.seed (数字)会被转发。
由工作流驱动的本地或云端执行。通过已配置的图支持文本转视频和 图像转视频。
对长时间运行的任务使用队列支持的流程。默认情况下,OpenClaw 最多等待 20 分钟,然后才会将进行中的 fal 队列任务视为超时。大多数 fal 视频模型 接受单个图像引用。Seedance 2.0 引用转视频模型最多接受 9 张图像、3 个视频和 3 个音频引用,并且总引用文件数最多为 12 个。
支持一个图像或一个视频引用。生成音频请求在 Gemini API 路径上会被忽略并发出警告, 因为该 API 会拒绝当前 Veo 视频生成的 generateAudio 参数。
仅支持单个图像引用。MiniMax 接受 768P1080P 分辨率;诸如 720P 之类的请求会在提交前规范化为最接近的 支持值。
仅转发 size 覆盖项。其他样式覆盖项 (aspectRatioresolutionaudiowatermark)会被忽略并 发出警告。
使用 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;本地文件会被预先拒绝。
通过数据 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 之类的扁平聚合字段 不足以声明支持转换模式。提供商应显式声明 generateimageToVideovideoToVideo,以便实时测试、契约测试 以及共享的 video_generate 工具能够确定性地验证 模式支持。 当某个提供商中的一个模型拥有比其他模型更宽的引用输入支持时, 请使用 maxInputImagesByModelmaxInputVideosByModelmaxInputAudiosByModel,而不是提高整个模式的限制。

实时测试

共享内置提供商的可选实时覆盖:
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/video-generation-providers.live.test.ts
仓库包装器:
pnpm test:live:media video
这个实时文件会从 ~/.profile 加载缺失的提供商环境变量, 默认优先使用实时/环境 API 密钥,而不是已存储的身份验证配置文件,并且默认运行 发布安全的冒烟测试:
  • 对扫描中的每个非 FAL 提供商运行 generate
  • 一秒龙虾提示词。
  • 每个提供商的操作上限来自 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 且 提供商/模型在共享扫描中接受缓冲区支持的本地视频输入时运行 videoToVideo
目前,只有在你选择 runway/gen4_aleph 时,共享的 videoToVideo 实时通道才覆盖 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"

相关