chore(i18n): refresh zh-CN translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-06 22:52:41 +00:00
parent 35e990fbe3
commit ca4d7760e3
3 changed files with 206 additions and 209 deletions

View File

@ -6,17 +6,17 @@ read_when:
summary: 使用已配置的提供商OpenAI、Google Gemini、fal、MiniMax、ComfyUI、Vydra生成和编辑图像
title: 图像生成
x-i18n:
generated_at: "2026-04-06T22:24:48Z"
generated_at: "2026-04-06T22:52:16Z"
model: gpt-5.4
provider: openai
source_hash: 359ee3d697658cf783891c615e2901b6edaf160aa17dc8e6ffac326ccab76060
source_hash: 8f7303c199d46e63e88f5f9567478a1025631afb03cb35f44344c12370365e57
source_path: tools/image-generation.md
workflow: 15
---
# 图像生成
`image_generate` 工具让智能体能够使用你已配置的提供商创建和编辑图像。生成的图像会自动作为媒体附件附加在智能体的回复中
`image_generate` 工具让智能体能够使用你已配置的提供商创建和编辑图像。生成的图像会自动作为媒体附件随智能体的回复一并发送
<Note>
只有在至少有一个图像生成提供商可用时,此工具才会显示。如果你在智能体的工具中看不到 `image_generate`,请配置 `agents.defaults.imageGenerationModel` 或设置提供商 API 密钥。
@ -39,20 +39,20 @@ x-i18n:
}
```
3. 向智能体提出请求_“生成一张友好的龙虾吉祥物图像。”_
3. 向智能体提_“生成一张友好的龙虾吉祥物图像。”_
智能体会自动调用 `image_generate`。无需将其加入工具允许列表 —— 只要提供商可用,它默认启用。
智能体会自动调用 `image_generate`。无需将工具加入允许列表——当有可用提供商时,它默认启用。
## 支持的提供商
| 提供商 | 默认模型 | 编辑支持 | API 密钥 |
| ------ | -------------------------------- | ---------------------------------- | ------------------------------------------------------- |
| OpenAI | `gpt-image-1` | 是(最多 5 张图像) | `OPENAI_API_KEY` |
| Google | `gemini-3.1-flash-image-preview` | 是 | `GEMINI_API_KEY``GOOGLE_API_KEY` |
| fal | `fal-ai/flux/dev` | 是 | `FAL_KEY` |
| MiniMax| `image-01` | 是(主体参考) | `MINIMAX_API_KEY` 或 MiniMax OAuth`minimax-portal` |
| ComfyUI| `workflow` | 是1 张图像,由工作流配置) | 云端使用 `COMFY_API_KEY``COMFY_CLOUD_API_KEY` |
| Vydra | `grok-imagine` | 否 | `VYDRA_API_KEY` |
| 提供商 | 默认模型 | 编辑支持 | API 密钥 |
| ------ | -------------------------------- | ---------------------------------- | ------------------------------------------------------ |
| OpenAI | `gpt-image-1` | 是(最多 5 张图像) | `OPENAI_API_KEY` |
| Google | `gemini-3.1-flash-image-preview` | 是 | `GEMINI_API_KEY``GOOGLE_API_KEY` |
| fal | `fal-ai/flux/dev` | 是 | `FAL_KEY` |
| MiniMax | `image-01` | 是(主体参考) | `MINIMAX_API_KEY` 或 MiniMax OAuth`minimax-portal` |
| ComfyUI | `workflow` | 是1 张图像,由工作流配置) | 云端使用 `COMFY_API_KEY``COMFY_CLOUD_API_KEY` |
| Vydra | `grok-imagine` | 否 | `VYDRA_API_KEY` |
使用 `action: "list"` 可在运行时查看可用的提供商和模型:
@ -75,7 +75,9 @@ x-i18n:
| `count` | number | 要生成的图像数量14 |
| `filename` | string | 输出文件名提示 |
并非所有提供商都支持全部参数。当回退提供商支持的是接近的几何选项而不是你精确请求的选项时OpenClaw 会在提交前重映射到最接近的受支持尺寸、宽高比或分辨率。真正不受支持的覆盖项仍会在工具结果中报告。
并非所有提供商都支持全部参数。当回退提供商支持的是接近的几何选项而不是精确请求的选项时OpenClaw 会在提交前重新映射到最接近的受支持尺寸、宽高比或分辨率。确实不受支持的覆盖项仍会在工具结果中报告。
工具结果会报告实际应用的设置。当 OpenClaw 在提供商回退期间重新映射几何参数时,返回的 `size`、`aspectRatio` 和 `resolution` 值会反映实际发送的内容,而 `details.normalization` 会记录从请求值到应用值的转换。
## 配置
@ -101,29 +103,33 @@ x-i18n:
1. 工具调用中的 **`model` 参数**(如果智能体指定了)
2. 配置中的 **`imageGenerationModel.primary`**
3. 按顺序使用 **`imageGenerationModel.fallbacks`**
4. **自动检测** —— 仅使用有凭证支持的提供商默认值:
- 当前默认提供商优先
- 其余已注册的图像生成提供商,按 provider-id 顺序
4. **自动检测** —— 仅使用基于认证的提供商默认值:
- 先使用当前默认提供商
- 然后按提供商 ID 顺序使用其余已注册的图像生成提供商
如果某个提供商失败(凭证错误、速率限制等),会自动尝试下一个候选项。如果全部失败,错误中会包含每次尝试的详细信息。
如果某个提供商失败(认证错误、速率限制等),系统会自动尝试下一个候选项。如果全部失败,错误中会包含每次尝试的详细信息。
说明:
- 自动检测会感知凭证状态。只有当 OpenClaw 实际能够验证该提供商时,该提供商默认值才会进入候选列表。
- 自动检测默认启用。如果你希望图像生成只使用显式的 `model`、`primary` 和 `fallbacks` 条目,请设置 `agents.defaults.mediaGenerationAutoProviderFallback: false`
- 使用 `action: "list"` 查看当前已注册的提供商、它们的默认模型以及凭证环境变量提示。
- 自动检测会感知认证状态。只有当 OpenClaw 实际能够验证该提供商时,
该提供商默认值才会进入候选列表。
- 自动检测默认启用。如果你希望图像生成仅使用显式的 `model`、`primary` 和 `fallbacks`
条目,请设置
`agents.defaults.mediaGenerationAutoProviderFallback: false`
- 使用 `action: "list"` 可查看当前已注册的提供商、它们的
默认模型以及认证环境变量提示。
### 图像编辑
OpenAI、Google、fal、MiniMax 和 ComfyUI 支持编辑参考图像。传入参考图像路径或 URL
```
"Generate a watercolor version of this photo" + image: "/path/to/photo.jpg"
"把这张照片生成为水彩风格版本" + image: "/path/to/photo.jpg"
```
OpenAI 和 Google 通过 `images` 参数最多支持 5 张参考图像。fal、MiniMax 和 ComfyUI 支持 1 张。
MiniMax 图像生成可通过两种内置的 MiniMax 证路径使用:
MiniMax 图像生成可通过两种内置的 MiniMax 证路径使用:
- `minimax/image-01`,用于 API 密钥配置
- `minimax-portal/image-01`,用于 OAuth 配置
@ -132,7 +138,7 @@ MiniMax 图像生成可通过两种内置的 MiniMax 凭证路径使用:
| 能力 | OpenAI | Google | fal | MiniMax | ComfyUI | Vydra |
| --------------------- | -------------------- | -------------------- | ------------------- | -------------------------- | ---------------------------------- | ------- |
| 生成 | 是(最多 4 张) | 是(最多 4 张) | 是(最多 4 张) | 是(最多 9 张) | 是(由工作流定义输出 | 是1 张) |
| 生成 | 是(最多 4 张) | 是(最多 4 张) | 是(最多 4 张) | 是(最多 9 张) | 是(输出由工作流定义) | 是1 张) |
| 编辑/参考 | 是(最多 5 张图像) | 是(最多 5 张图像) | 是1 张图像) | 是1 张图像,主体参考) | 是1 张图像,由工作流配置) | 否 |
| 尺寸控制 | 是 | 是 | 是 | 否 | 否 | 否 |
| 宽高比 | 否 | 是 | 是(仅生成) | 是 | 否 | 否 |
@ -140,12 +146,12 @@ MiniMax 图像生成可通过两种内置的 MiniMax 凭证路径使用:
## 相关内容
- [工具概览](/zh-CN/tools) — 所有可用的智能体工具
- [fal](/zh-CN/providers/fal) — fal 图像和视频提供商设置
- [ComfyUI](/zh-CN/providers/comfy) — 本地 ComfyUI 和 Comfy Cloud 工作流设置
- [Google (Gemini)](/zh-CN/providers/google) — Gemini 图像提供商设置
- [MiniMax](/zh-CN/providers/minimax) — MiniMax 图像提供商设置
- [OpenAI](/zh-CN/providers/openai) — OpenAI Images 提供商设置
- [Vydra](/zh-CN/providers/vydra) — Vydra 图像、视频和语音设置
- [配置参考](/zh-CN/gateway/configuration-reference#agent-defaults) — `imageGenerationModel` 配置
- [模型](/zh-CN/concepts/models) —— 模型配置和故障切换
- [工具概览](/zh-CN/tools) — 所有可用的智能体工具
- [fal](/zh-CN/providers/fal) — fal 图像和视频提供商设置
- [ComfyUI](/zh-CN/providers/comfy) — 本地 ComfyUI 和 Comfy Cloud 工作流设置
- [Google (Gemini)](/zh-CN/providers/google) — Gemini 图像提供商设置
- [MiniMax](/zh-CN/providers/minimax) — MiniMax 图像提供商设置
- [OpenAI](/zh-CN/providers/openai) — OpenAI Images 提供商设置
- [Vydra](/zh-CN/providers/vydra) — Vydra 图像、视频和语音设置
- [配置参考](/zh-CN/gateway/configuration-reference#agent-defaults) — `imageGenerationModel` 配置
- [模型](/zh-CN/concepts/models) — 模型配置和故障转移

View File

@ -1,27 +1,27 @@
---
read_when:
- 通过智能体生成音乐或音频
- 配置音乐生成提供商和模型
- 了解 `music_generate` 工具参数
- 通过智能体生成音乐或音频
- 配置音乐生成提供商和模型
- 了解 `music_generate` 工具参数
summary: 通过共享提供商生成音乐,包括基于工作流的插件
title: 音乐生成
x-i18n:
generated_at: "2026-04-06T22:24:58Z"
generated_at: "2026-04-06T22:52:28Z"
model: gpt-5.4
provider: openai
source_hash: 3b45ce03388e26e2e332851d2460bdf88661bf584d156f5f0b25aac4cde4d059
source_hash: ce8da8dfc188efe8593ca5cbec0927dd1d18d2861a1a828df89c8541ccf1cb25
source_path: tools/music-generation.md
workflow: 15
---
# 音乐生成
`music_generate` 工具让智能体能够通过共享音乐生成能力,借助已配置的提供商(例如 Google、MiniMax 和通过工作流配置的 ComfyUI创建音乐或音频。
`music_generate` 工具允许智能体通过共享音乐生成功能,使用已配置的提供商(例如 Google、MiniMax 和通过工作流配置的 ComfyUI创建音乐或音频。
对于由共享提供商支持的智能体会话OpenClaw 会将音乐生成作为后台任务启动,在任务台账中跟踪它,然后在音轨准备就绪后再次唤醒智能体,以便智能体将完成的音频发回原始渠道。
对于由共享提供商支持的智能体会话OpenClaw 会将音乐生成作为后台任务启动,在任务账本中跟踪它,然后在音轨准备好后再次唤醒智能体,以便智能体将完成的音频发回原始渠道。
<Note>
只有在至少有一个音乐生成提供商可用时,内置共享工具才会出现。如果你在智能体工具中看不到 `music_generate`,请配置 `agents.defaults.musicGenerationModel` 或设置提供商 API 密钥。
只有当至少有一个音乐生成提供商可用时,内置共享工具才会显示。如果你在智能体工具中看不到 `music_generate`,请配置 `agents.defaults.musicGenerationModel` 或设置提供商 API 密钥。
</Note>
## 快速开始
@ -43,9 +43,9 @@ x-i18n:
}
```
3. 向智能体提问_“生成一段关于夜晚驾驶穿过霓虹都市的欢快 synthpop 音轨。”_
3. 向智能体提问_“生成一首关于夜间驾车穿越霓虹城市的欢快 synthpop 音轨。”_
智能体会自动调用 `music_generate`不需要工具允许列表。
智能体会自动调用 `music_generate`无需工具允许列表。
对于没有会话支持的智能体运行的直接同步上下文,内置工具仍会回退为内联生成,并在工具结果中返回最终媒体路径。
@ -59,13 +59,13 @@ Generate a cinematic piano track with soft strings and no vocals.
Generate an energetic chiptune loop about launching a rocket at sunrise.
```
### 工作流驱动的 Comfy 生成
### 工作流驱动的 Comfy 生成
内置的 `comfy` 插件通过音乐生成提供商注册表接入共享 `music_generate` 工具。
内置的 `comfy` 插件通过音乐生成提供商注册表接入共享 `music_generate` 工具。
1. 使用工作流 JSON 以及提示词/输出节点配置 `models.providers.comfy.music`
2. 如果你使用 Comfy Cloud请设置 `COMFY_API_KEY``COMFY_CLOUD_API_KEY`
3. 向智能体请求生成音乐,或直接调用该工具。
3. 请求智能体生成音乐,或直接调用该工具。
示例:
@ -78,26 +78,26 @@ Generate an energetic chiptune loop about launching a rocket at sunrise.
| 提供商 | 默认模型 | 参考输入 | 支持的控制项 | API 密钥 |
| ------ | ---------------------- | ------------- | --------------------------------------------------------- | -------------------------------------- |
| ComfyUI | `workflow` | 最多 1 张图片 | 由工作流定义的音乐或音频 | `COMFY_API_KEY`, `COMFY_CLOUD_API_KEY` |
| Google | `lyria-3-clip-preview` | 最多 10 张图片 | `lyrics`、`instrumental`、`format` | `GEMINI_API_KEY`, `GOOGLE_API_KEY` |
| MiniMax | `music-2.5+` | 无 | `lyrics`、`instrumental`、`durationSeconds`、`format=mp3` | `MINIMAX_API_KEY` |
| Google | `lyria-3-clip-preview` | 最多 10 张图片 | `lyrics`, `instrumental`, `format` | `GEMINI_API_KEY`, `GOOGLE_API_KEY` |
| MiniMax | `music-2.5+` | 无 | `lyrics`, `instrumental`, `durationSeconds`, `format=mp3` | `MINIMAX_API_KEY` |
### 已声明的能力矩阵
这是 `music_generate`、契约测试共享实时扫描所使用的显式模式契约。
这是 `music_generate`、契约测试以及共享实时扫描所使用的显式模式契约。
| 提供商 | `generate` | `edit` | 编辑上限 | 共享实时测试通道 |
| ------ | ---------- | ------ | ---------- | ---------------------------------------------------------------------- |
| ComfyUI | 是 | 是 | 1 张图片 | 不在共享扫描中;由 `extensions/comfy/comfy.live.test.ts` 覆盖 |
| Google | 是 | 是 | 10 张图片 | `generate`、`edit` |
| MiniMax | 是 | 否 | 无 | `generate` |
| 提供商 | `generate` | `edit` | 编辑上限 | 共享实时通道 |
| ------ | ---------- | ------ | ---------- | ------------------------------------------------------------------------ |
| ComfyUI | 是 | 是 | 1 张图片 | 不在共享扫描中;由 `extensions/comfy/comfy.live.test.ts` 覆盖 |
| Google | 是 | 是 | 10 张图片 | `generate`, `edit` |
| MiniMax | 是 | 否 | 无 | `generate` |
使用 `action: "list"` 可在运行时查可用的共享提供商和模型:
使用 `action: "list"` 可在运行时查可用的共享提供商和模型:
```text
/tool music_generate action=list
```
使用 `action: "status"`查当前由会话支持的活动音乐任务:
使用 `action: "status"` 可查当前由会话支持的活动音乐任务:
```text
/tool music_generate action=status
@ -111,39 +111,41 @@ Generate an energetic chiptune loop about launching a rocket at sunrise.
## 内置工具参数
| 参数 | 类型 | 描述 |
| ----------------- | -------- | ------------------------------------------------------------------------------------------------ |
| `prompt` | string | 音乐生成提示词(`action: "generate"` 时必填) |
| `action` | string | `"generate"`(默认)、当前会话任务的 `"status"`,或用于查提供商的 `"list"` |
| `model` | string | 提供商/模型覆盖,例如 `google/lyria-3-pro-preview``comfy/workflow` |
| `lyrics` | string | 当提供商支持显式歌词输入时,可选的歌词 |
| `instrumental` | boolean | 当提供商支持时,请求仅器乐输出 |
| `image` | string | 单个参考图片路径或 URL |
| `images` | string[] | 多个参考图片(最多 10 张) |
| `durationSeconds` | number | 当提供商支持时长提示时,以秒为单位的目标时长 |
| `format` | string | 当提供商支持时,输出格式提示(`mp3` 或 `wav` |
| `filename` | string | 输出文件名提示 |
| 参数 | 类型 | 描述 |
| ----------------- | -------- | ---------------------------------------------------------------------------------------------- |
| `prompt` | string | 音乐生成提示词(`action: "generate"` 时必填) |
| `action` | string | `"generate"`(默认)、当前会话任务的 `"status"`,或用于查提供商的 `"list"` |
| `model` | string | 提供商/模型覆盖,例如 `google/lyria-3-pro-preview``comfy/workflow` |
| `lyrics` | string | 当提供商支持显式歌词输入时,可选的歌词 |
| `instrumental` | boolean | 当提供商支持时,请求仅器乐输出 |
| `image` | string | 单个参考图片路径或 URL |
| `images` | string[] | 多个参考图片(最多 10 张) |
| `durationSeconds` | number | 当提供商支持时,以秒为单位的目标时长提示 |
| `format` | string | 当提供商支持时的输出格式提示(`mp3` 或 `wav` |
| `filename` | string | 输出文件名提示 |
并非所有提供商都支持所有参数。OpenClaw 仍会在提交前验证硬性限制例如输入数量。当提供商支持时长但其最大值短于请求值时OpenClaw 会自动限制到最接近的受支持时长。对于真正不支持的可选提示,如果所选提供商或模型无法满足,会在给出警告后忽略。
并非所有提供商都支持所有参数。OpenClaw 仍会在提交前验证输入数量等硬性限制。当提供商支持时长但其最大值短于请求值时OpenClaw 会自动限制到最接近的受支持时长。对于真正不受支持的可选提示,当所选提供商或模型无法处理时,会忽略这些提示并给出警告。
工具结果会报告实际应用的设置。当 OpenClaw 在提供商回退期间限制时长时,返回的 `durationSeconds` 反映的是已提交的值,而 `details.normalization.durationSeconds` 会显示从请求值到实际应用值的映射。
## 共享提供商支持路径的异步行为
- 由会话支持的智能体运行:`music_generate` 会创建一个后台任务,立即返回 started/task 响应,并稍后在后续智能体消息中发布完成的音轨。
- 防止重复:当该后台任务仍处于 `queued``running` 状态时,同一会话中后续的 `music_generate` 调用会返回任务状态,而不是启动另一次生成。
- 状态查询:使用 `action: "status"`查当前由会话支持的活动音乐任务,而不会启动新任务。
- 任务跟踪:使用 `openclaw tasks list``openclaw tasks show <taskId>` 检查生成任务的排队、运行中和终态状态。
- 完成唤醒OpenClaw 会将内部完成事件注入回同一会话,让模型自行写出面向用户的后续回复
- 提示词提醒:当某个音乐任务已经在处理中时,同一会话中的后续用户/手动轮次会收到一个小型运行时提示,这样模型就不会盲目再次调用 `music_generate`
- 无会话回退:没有真实智能体会话的直接/本地上下文仍会以内联方式运行,并在同一轮中返回最终音频结果。
- 由会话支持的智能体运行:`music_generate` 会创建一个后台任务,立即返回 started/task 响应,并在稍后的后续智能体消息中发布完成的音轨。
- 防重复:当该后台任务仍为 `queued``running` 时,同一会话中后续的 `music_generate` 调用会返回任务状态,而不是启动新的生成。
- 状态查询:使用 `action: "status"` 可查当前由会话支持的活动音乐任务,而不会启动新任务。
- 任务跟踪:使用 `openclaw tasks list``openclaw tasks show <taskId>` 可查看该生成任务的排队、运行中和终态状态。
- 完成唤醒OpenClaw 会将一个内部完成事件注入回同一会话,以便模型自行编写面向用户的后续消息
- 提示词提示:当同一会话中已经有音乐任务在进行时,后续用户/手动轮次会收到一个小型运行时提示,这样模型就不会盲目再次调用 `music_generate`
- 无会话回退:没有真实智能体会话的直接/本地上下文中,仍会以内联方式运行,并在同一轮中返回最终音频结果。
### 任务生命周期
每个 `music_generate` 请求都会经历四状态:
每个 `music_generate` 请求都会经历四状态:
1. **queued** -- 任务已创建,等待提供商接受。
1. **queued** -- 任务已创建,正在等待提供商接受。
2. **running** -- 提供商正在处理(通常为 30 秒到 3 分钟,取决于提供商和时长)。
3. **succeeded** -- 音轨已就绪;智能体被唤醒并将其发布到对话中。
4. **failed** -- 提供商错误或超时;智能体会带着错误详情被唤醒
4. **failed** -- 提供商错误或超时;智能体被唤醒并附带错误详情
从 CLI 检查状态:
@ -153,7 +155,7 @@ openclaw tasks show <taskId>
openclaw tasks cancel <taskId>
```
重复:如果当前会话的音乐任务已处于 `queued``running` 状态,`music_generate` 会返回现有任务状态,而不是启动新任务。使用 `action: "status"`以显式检查,而不触发新的生成
防重复:如果当前会话的音乐任务已处于 `queued``running` 状态,`music_generate` 会返回现有任务状态,而不是启动新任务。使用 `action: "status"`在不触发新生成的情况下显式检查
## 配置
@ -176,31 +178,31 @@ openclaw tasks cancel <taskId>
生成音乐时OpenClaw 会按以下顺序尝试提供商:
1. 工具调用中的 `model` 参数(如果智能体指定了该参数
1. 工具调用中的 `model` 参数(如果智能体指定了)
2. 配置中的 `musicGenerationModel.primary`
3. 按顺序使用 `musicGenerationModel.fallbacks`
4. 仅使用基于凭证的提供商默认值进行自动检测:
- 当前默认提供商优先
- 剩余已注册的音乐生成提供商,按 provider-id 顺序
- 其余已注册的音乐生成提供商按 provider-id 顺序
如果某个提供商失败,会自动尝试下一个候选项。如果全部失败,错误信息会包含每次尝试的详情。
如果某个提供商失败,会自动尝试下一个候选项。如果全部失败,错误会包含每次尝试的详情。
如果你希望音乐生成使用显式的 `model`、`primary` 和 `fallbacks` 条目,请设置 `agents.defaults.mediaGenerationAutoProviderFallback: false`
如果你希望音乐生成使用显式的 `model`、`primary` 和 `fallbacks` 条目,请设置 `agents.defaults.mediaGenerationAutoProviderFallback: false`
## 提供商说明
- Google 使用 Lyria 3 批量生成。当前内置流程支持提示词、可选歌词文本和可选参考图片。
- MiniMax 使用批量 `music_generation` 端点。当前内置流程支持提示词、可选歌词、器乐模式、时长控制和 mp3 输出。
- ComfyUI 支持由工作流驱动,并取决于已配置的图以及提示词/输出字段的节点映射。
- MiniMax 使用批量 `music_generation` 端点。当前内置流程支持提示词、可选歌词、器乐模式、时长引导和 mp3 输出。
- ComfyUI 支持由工作流驱动,并依赖已配置的图以及提示词/输出字段的节点映射。
## 提供商能力模式
共享音乐生成契约现在支持显式模式声明:
- `generate` 用于仅基于提示词的生成
- 当请求包含一个或多个参考图片时使用 `edit`
- 当请求包含一个或多个参考图片时使用 `edit`
新的提供商实现应优先使用显式模式块:
新的提供商实现应优先用显式模式块:
```typescript
capabilities: {
@ -218,17 +220,17 @@ capabilities: {
}
```
`maxInputImages`、`supportsLyrics` 和 `supportsFormat` 这样的旧版平面字段,不足以声明编辑支持。提供商应显式声明 `generate``edit`,以便实时测试、契约测试以及共享 `music_generate` 工具能够以确定性方式验证模式支持。
旧版平面字段(例如 `maxInputImages`、`supportsLyrics` 和 `supportsFormat`不足以声明编辑支持。提供商应显式声明 `generate``edit`,以便实时测试、契约测试以及共享 `music_generate` 工具能够以确定性方式验证模式支持。
## 选择合适的路径
- 当你需要模型选择、提供商故障切换以及内置异步任务/状态流时,请使用共享提供商支持路径。
- 当你需要自定义工作流图,或需要使用不属于共享内置音乐能力的提供商时,请使用插件路径,例如 ComfyUI。
- 如果你在调试 ComfyUI 特定行为,请参阅 [ComfyUI](/zh-CN/providers/comfy)。如果你在调试共享提供商行为,请从 [Google (Gemini)](/zh-CN/providers/google) 或 [MiniMax](/zh-CN/providers/minimax) 开始。
- 当你需要模型选择、提供商故障转移以及内置异步任务/状态流程时,请使用共享提供商支持路径。
- 当你需要自定义工作流图,或需要不属于共享内置音乐能力的提供商时,请使用插件路径,例如 ComfyUI。
- 如果你在调试 ComfyUI 特定行为,请参阅 [ComfyUI](/zh-CN/providers/comfy)。如果你在调试共享提供商行为,请从 [Google (Gemini)](/zh-CN/providers/google) 或 [MiniMax](/zh-CN/providers/minimax) 开始。
## 实时测试
共享内置提供商的选实时覆盖:
共享内置提供商的选择加入式实时覆盖:
```bash
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/music-generation-providers.live.test.ts
@ -240,7 +242,7 @@ OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/music-generation-providers.liv
pnpm test:live:media music
```
该实时测试文件会从 `~/.profile` 加载缺失的提供商环境变量,默认优先使用实时/环境 API 密钥而不是已存储的认证配置文件,并在提供商启用编辑模式时运行 `generate` 和已声明的 `edit` 覆盖。
此实时文件会从 `~/.profile` 加载缺失的提供商环境变量,默认优先使用实时/环境 API 密钥而不是存储的凭证配置文件,并在提供商启用编辑模式时同时运行 `generate` 和已声明的 `edit` 覆盖。
当前这意味着:
@ -248,20 +250,20 @@ pnpm test:live:media music
- `minimax`:仅 `generate`
- `comfy`:单独的 Comfy 实时覆盖,不属于共享提供商扫描
内置 ComfyUI 音乐路径的选实时覆盖:
内置 ComfyUI 音乐路径的选择加入式实时覆盖:
```bash
OPENCLAW_LIVE_TEST=1 COMFY_LIVE_TEST=1 pnpm test:live -- extensions/comfy/comfy.live.test.ts
```
如果相关部分已配置Comfy 实时测试文件还会覆盖 comfy 图片和视频工作流。
当这些部分已配置时Comfy 实时文件还会覆盖 comfy 图片和视频工作流。
## 相关内容
- [后台任务](/zh-CN/automation/tasks) - 分离式 `music_generate` 运行的任务跟踪
- [后台任务](/zh-CN/automation/tasks) - 用于分离式 `music_generate` 运行的任务跟踪
- [配置参考](/zh-CN/gateway/configuration-reference#agent-defaults) - `musicGenerationModel` 配置
- [ComfyUI](/zh-CN/providers/comfy)
- [Google (Gemini)](/zh-CN/providers/google)
- [MiniMax](/zh-CN/providers/minimax)
- [模型](/zh-CN/concepts/models) - 模型配置和故障切换
- [模型](/zh-CN/concepts/models) - 模型配置和故障转移
- [工具概览](/zh-CN/tools)

View File

@ -3,33 +3,32 @@ read_when:
- 通过智能体生成视频
- 配置视频生成提供商和模型
- 了解 `video_generate` 工具参数
summary: 使用 12 个提供商后端,文本、图片或现有视频生成视频
summary: 使用 12 个提供商后端,通过文本、图片或现有视频生成视频
title: 视频生成
x-i18n:
generated_at: "2026-04-06T22:25:20Z"
generated_at: "2026-04-06T22:52:40Z"
model: gpt-5.4
provider: openai
source_hash: 59f65bf406cbf2b858523f94461251ee93c1f270cdd63dbe796e55f620574951
source_hash: bf1224c59a5f1217f56cf2001870aca710a09268677dcd12aad2efbe476e47b7
source_path: tools/video-generation.md
workflow: 15
---
# 视频生成
OpenClaw 智能体可以根据文本提示、参考图片或现有视频生成视频。支持 12 个提供商后端,每个后端有不同的模型选项、输入模式和功能集。智能体会根据你的配置和可用的 API 密钥自动选择合适的提供商。
OpenClaw 智能体可以根据文本提示、参考图片或现有视频生成视频。支持 12 个提供商后端,每个后端有不同的模型选项、输入模式和功能集。智能体会根据你的配置和可用的 API 密钥自动选择合适的提供商。
<Note>
仅当至少有一个视频生成提供商可用时,`video_generate` 工具才会显示。如果你在智能体工具中看到它,请设置提供商 API 密钥或配置 `agents.defaults.videoGenerationModel`
只有在至少有一个视频生成提供商可用时,`video_generate` 工具才会显示。如果你没有在智能体工具中看到它,请设置提供商 API 密钥或配置 `agents.defaults.videoGenerationModel`
</Note>
OpenClaw 将视频生成视为三种运行时模式:
- `generate` 用于没有参考媒体的文生视频请求
- `imageToVideo` 用于请求包含一个或多个参考图片时
- `videoToVideo` 用于请求包含一个或多个参考视频时
- `generate`用于没有参考媒体的文生视频请求
- `imageToVideo`:当请求包含一个或多个参考图片时使用
- `videoToVideo`:当请求包含一个或多个参考视频时使用
提供商可以支持这些模式中的任意子集。该工具会在提交前验证当前
模式,并在 `action=list` 中报告支持的模式。
提供商可以支持这些模式中的任意子集。工具会在提交前验证当前模式,并在 `action=list` 中报告支持的模式。
## 快速开始
@ -47,31 +46,31 @@ openclaw config set agents.defaults.videoGenerationModel.primary "google/veo-3.1
3. 向智能体发出请求:
> 生成一个 5 秒钟的电影感视频,内容是一只友好的龙虾在日落时分冲浪。
> 生成一段 5 秒钟的电影感视频,内容是一只友善的龙虾在夕阳下冲浪。
智能体会自动调用 `video_generate`。无需配置工具 allowlist
智能体会自动调用 `video_generate`。无需对工具进行 allowlist 配置
## 生成视频时会发生什么
## 当你生成视频时会发生什么
视频生成是异步的。当智能体在一个会话中调用 `video_generate` 时:
视频生成是异步的。当智能体在会话中调用 `video_generate` 时:
1. OpenClaw 会将请求提交给提供商,并立即返回一个任务 ID。
2. 提供商会在后台处理该任务(通常需要 30 秒到 5 分钟,具体取决于提供商和分辨率)。
3. 当视频准备就绪时OpenClaw 会通过内部完成事件唤醒同一会话。
4. 智能体会将生成完成的视频发回原始对话中。
3. 当视频准备好后OpenClaw 会通过内部完成事件唤醒同一会话。
4. 智能体会将生成完成的视频发回原始对话中。
当任务正在进行时,同一会话中的重复 `video_generate` 调用不会启动新的生成,而是返回当前任务状态。使用 `openclaw tasks list``openclaw tasks show <taskId>` 可以通过 CLI 查看进度。
当任务正在处理中时,在同一会话中重复调用 `video_generate` 不会启动新的生成任务,而是返回当前任务状态。你可以使用 `openclaw tasks list``openclaw tasks show <taskId>` 在 CLI 中检查进度。
在没有会话支持的智能体运行场景之外(例如直接调用工具),该工具会回退为内联生成,并在同一轮中返回最终媒体路径。
在没有会话支撑的智能体运行之外(例如直接调用工具),该工具会回退为内联生成,并在同一轮中返回最终媒体路径。
### 任务生命周期
每个 `video_generate` 请求会经历四种状态:
每个 `video_generate` 请求都会经过四个状态:
1. **queued** -- 任务已创建,正在等待提供商接受。
1. **queued** -- 任务已创建,等待提供商接受。
2. **running** -- 提供商正在处理(通常需要 30 秒到 5 分钟,具体取决于提供商和分辨率)。
3. **succeeded** -- 视频已就绪;智能体会被唤醒并将其发布到对话中。
4. **failed** -- 提供商错误或超时;智能体会被唤醒并附带错误详情。
4. **failed** -- 提供商错误或超时;智能体会带错误详情被唤醒
通过 CLI 检查状态:
@ -81,62 +80,60 @@ openclaw tasks show <taskId>
openclaw tasks cancel <taskId>
```
防止重复:如果当前会话已有视频任务处于 `queued``running` 状态,`video_generate` 会返回现有任务状态,而不是启动新任务。使用 `action: "status"` 可以显式查状态,而不会触发新的生成。
防止重复:如果当前会话已有视频任务处于 `queued``running` 状态,`video_generate` 会返回现有任务状态,而不是启动新任务。使用 `action: "status"` 可以显式查状态,而不会触发新的生成。
## 支持的提供商
| 提供商 | 默认模型 | 文本 | 图片参考 | 视频参考 | API 密钥 |
| ------ | ------------------------------- | ---- | ----------------- | ---------------- | ---------------------------------------- |
| Alibaba | `wan2.6-t2v` | 是 | 是(远程 URL | 是(远程 URL | `MODELSTUDIO_API_KEY` |
| BytePlus(国际版) | `seedance-1-0-lite-t2v-250428` | 是 | 1 张图片 | 否 | `BYTEPLUS_API_KEY` |
| ComfyUI | `workflow` | 是 | 1 张图片 | 否 | `COMFY_API_KEY``COMFY_CLOUD_API_KEY` |
| fal | `fal-ai/minimax/video-01-live` | 是 | 1 张图片 | 否 | `FAL_KEY` |
| Google | `veo-3.1-fast-generate-preview` | 是 | 1 张图片 | 1 个视频 | `GEMINI_API_KEY` |
| MiniMax | `MiniMax-Hailuo-2.3` | 是 | 1 张图片 | 否 | `MINIMAX_API_KEY` |
| OpenAI | `sora-2` | 是 | 1 张图片 | 1 个视频 | `OPENAI_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` | 是 | 1 张图片 | 否 | `TOGETHER_API_KEY` |
| Vydra | `veo3` | 是 | 1 张图片(`kling` | 否 | `VYDRA_API_KEY` |
| xAI | `grok-imagine-video` | 是 | 1 张图片 | 1 个视频 | `XAI_API_KEY` |
| ------ | ------------------------------- | ---- | ----------------- | ---------------- | ----------------------------------------- |
| Alibaba | `wan2.6-t2v` | 是 | 是(远程 URL | 是(远程 URL | `MODELSTUDIO_API_KEY` |
| BytePlus | `seedance-1-0-lite-t2v-250428` | 是 | 1 张图片 | 否 | `BYTEPLUS_API_KEY` |
| ComfyUI | `workflow` | 是 | 1 张图片 | 否 | `COMFY_API_KEY``COMFY_CLOUD_API_KEY` |
| fal | `fal-ai/minimax/video-01-live` | 是 | 1 张图片 | 否 | `FAL_KEY` |
| Google | `veo-3.1-fast-generate-preview` | 是 | 1 张图片 | 1 个视频 | `GEMINI_API_KEY` |
| MiniMax | `MiniMax-Hailuo-2.3` | 是 | 1 张图片 | 否 | `MINIMAX_API_KEY` |
| OpenAI | `sora-2` | 是 | 1 张图片 | 1 个视频 | `OPENAI_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` | 是 | 1 张图片 | 否 | `TOGETHER_API_KEY` |
| Vydra | `veo3` | 是 | 1 张图片(`kling` | 否 | `VYDRA_API_KEY` |
| xAI | `grok-imagine-video` | 是 | 1 张图片 | 1 个视频 | `XAI_API_KEY` |
某些提供商接受额外或替代的 API 密钥环境变量。详情请参各个[提供商页面](#related)。
某些提供商接受额外或替代的 API 密钥环境变量。详情请参各个[提供商页面](#related)。
运行 `video_generate action=list` 可在运行时检查可用的提供商、模型和
运行时模式。
运行 `video_generate action=list` 可在运行时检查可用的提供商、模型和运行时模式。
### 声明能力矩阵
### 声明能力矩阵
这是 `video_generate`、契约测试
以及共享 live sweep 使用的显式模式契约。
这是 `video_generate`、契约测试和共享实时扫描所使用的显式模式契约。
| 提供商 | `generate` | `imageToVideo` | `videoToVideo` | 当前共享 live 通道 |
| ------ | ---------- | -------------- | -------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| Alibaba | 是 | 是 | 是 | `generate`、`imageToVideo``videoToVideo` 被跳过,因为该提供商需要远程 `http(s)` 视频 URL |
| BytePlus(国际版) | 是 | 是 | 否 | `generate`、`imageToVideo` |
| ComfyUI | 是 | 是 | 否 | 不在共享 sweep 中;特定于 workflow 的覆盖位于 Comfy 测试中 |
| fal | 是 | 是 | 否 | `generate`、`imageToVideo` |
| Google | 是 | 是 | 是 | `generate`、`imageToVideo`;共享 `videoToVideo` 被跳过,因为当前基于 buffer 的 Gemini/Veo sweep 不接受该输入 |
| MiniMax | 是 | 是 | 否 | `generate`、`imageToVideo` |
| OpenAI | 是 | 是 | 是 | `generate`、`imageToVideo`;共享 `videoToVideo` 被跳过,因为此组织/输入路径当前需要提供商侧 inpaint/remix 访问 |
| Qwen | 是 | 是 | 是 | `generate`、`imageToVideo``videoToVideo` 被跳过,因为该提供商需要远程 `http(s)` 视频 URL |
| Runway | 是 | 是 | 是 | `generate`、`imageToVideo`;仅当所选模型为 `runway/gen4_aleph` 时才运行 `videoToVideo` |
| Together | 是 | 是 | 否 | `generate`、`imageToVideo` |
| Vydra | 是 | 是 | 否 | `generate`;共享 `imageToVideo` 跳过,因为内置 `veo3` 仅支持文本,而内置 `kling` 需要远程图片 URL |
| xAI | 是 | 是 | 是 | `generate`、`imageToVideo``videoToVideo` 被跳过,因为该提供商当前需要远程 MP4 URL |
| 提供商 | `generate` | `imageToVideo` | `videoToVideo` | 当前共享实时通道 |
| ------ | ---------- | -------------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| Alibaba | 是 | 是 | 是 | `generate`、`imageToVideo`跳过 `videoToVideo`,因为该提供商需要远程 `http(s)` 视频 URL |
| BytePlus | 是 | 是 | 否 | `generate`、`imageToVideo` |
| ComfyUI | 是 | 是 | 否 | 不在共享扫描中;特定于工作流的覆盖由 Comfy 测试负责 |
| fal | 是 | 是 | 否 | `generate`、`imageToVideo` |
| Google | 是 | 是 | 是 | `generate`、`imageToVideo`;共享 `videoToVideo` 已跳过,因为当前基于缓冲区的 Gemini/Veo 扫描不接受该输入 |
| MiniMax | 是 | 是 | 否 | `generate`、`imageToVideo` |
| OpenAI | 是 | 是 | 是 | `generate`、`imageToVideo`;共享 `videoToVideo` 已跳过,因为当前此组织/输入路径需要提供商侧的 inpaint/remix 访问权限 |
| Qwen | 是 | 是 | 是 | `generate`、`imageToVideo`跳过 `videoToVideo`,因为该提供商需要远程 `http(s)` 视频 URL |
| Runway | 是 | 是 | 是 | `generate`、`imageToVideo`;仅当所选模型为 `runway/gen4_aleph` 时才运行 `videoToVideo` |
| Together | 是 | 是 | 否 | `generate`、`imageToVideo` |
| Vydra | 是 | 是 | 否 | `generate`;共享 `imageToVideo` 跳过,因为内置 `veo3` 仅支持文本,而内置 `kling` 需要远程图片 URL |
| xAI | 是 | 是 | 是 | `generate`、`imageToVideo`跳过 `videoToVideo`,因为该提供商目前需要远程 MP4 URL |
## 工具参数
### 必填
| 参数 | 类型 | 说明 |
| ---- | ------ | ---------------------------------------------------------------------------- |
| `prompt` | string | 要生成的视频文本描述(`action: "generate"` 时必填) |
| 参数 | 类型 | 描述 |
| --------- | ------ | ------------------------------------------------------------------------- |
| `prompt` | string | 要生成的视频文本描述(`action: "generate"` 时必填) |
### 内容输入
| 参数 | 类型 | 说明 |
| ---- | -------- | ---------------------------- |
| 参数 | 类型 | 描述 |
| --------- | -------- | ---------------------------- |
| `image` | string | 单个参考图片(路径或 URL |
| `images` | string[] | 多个参考图片(最多 5 张) |
| `video` | string | 单个参考视频(路径或 URL |
@ -144,53 +141,54 @@ openclaw tasks cancel <taskId>
### 样式控制
| 参数 | 类型 | 说明 |
| ---- | ------- | ------------------------------------------------------------------------ |
| 参数 | 类型 | 描述 |
| ----------------- | ------- | ------------------------------------------------------------------------ |
| `aspectRatio` | string | `1:1`、`2:3`、`3:2`、`3:4`、`4:3`、`4:5`、`5:4`、`9:16`、`16:9`、`21:9` |
| `resolution` | string | `480P`、`720P`、`768P` 或 `1080P` |
| `durationSeconds` | number | 目标时长(秒)(会四舍五入到最接近的提供商支持值) |
| `resolution` | string | `480P`、`720P`、`768P` 或 `1080P` |
| `durationSeconds` | number | 目标时长(秒,四舍五入到最接近的提供商支持值) |
| `size` | string | 当提供商支持时使用的尺寸提示 |
| `audio` | boolean | 在支持时启用生成音频 |
| `watermark` | boolean | 在支持时切换提供商水印 |
### 高级
| 参数 | 类型 | 说明 |
| ---- | ------ | ----------------------------------------------- |
| `action` | string | `"generate"`(默认)、`"status"` 或 `"list"` |
| `model` | string | 提供商/模型覆盖(例如 `runway/gen4.5` |
| `filename` | string | 输出文件名提示 |
| 参数 | 类型 | 描述 |
| ---------- | ------ | ----------------------------------------------- |
| `action` | string | `"generate"`(默认)、`"status"` 或 `"list"` |
| `model` | string | 提供商/模型覆盖(例如 `runway/gen4.5` |
| `filename` | string | 输出文件名提示 |
并非所有提供商都支持所有参数。OpenClaw 已经会将时长规范化到最接近的提供商支持值,并且当回退提供商暴露出不同的控制面时,它也会重新映射已转换的几何提示,例如从 size 到 aspect-ratio。真正不受支持的覆盖项会尽力忽略并在工具结果中作为警告报告。硬性能力限制(例如参考输入过多)会在提交前失败。
并非所有提供商都支持所有参数。OpenClaw 已经会将时长规范化到最接近的提供商支持值,也会在回退提供商暴露不同控制面时,重映射诸如尺寸到宽高比之类的几何提示。真正不受支持的覆盖项会尽力忽略,并在工具结果中报告为警告。硬性能力限制(例如参考输入过多)会在提交前直接失败。
参考输入还会选择运行时模式:
工具结果会报告实际应用的设置。当 OpenClaw 在提供商回退期间重映射时长或几何参数时,返回的 `durationSeconds`、`size`、`aspectRatio` 和 `resolution` 值反映的是实际提交的内容,而 `details.normalization` 会记录从请求值到应用值的转换。
- 无参考媒体:`generate`
参考输入还会决定运行时模式:
- 没有参考媒体:`generate`
- 任意图片参考:`imageToVideo`
- 任意视频参考:`videoToVideo`
混合图片和视频参考并不是稳定的共享能力面。
每次请求最好仅使用一种参考类型。
混合图片和视频参考并不是稳定的共享能力面。
建议每次请求只使用一种参考类型。
## 操作
- **generate**(默认)-- 根据给定提示和可选参考输入生成视频。
- **generate**(默认)-- 根据给定提示和可选参考输入创建视频。
- **status** -- 检查当前会话中正在进行的视频任务状态,而不启动新的生成。
- **list** -- 显示可用提供商、模型及其能力。
- **list** -- 显示可用提供商、模型及其能力。
## 模型选择
生成视频时OpenClaw 会按以下顺序解析模型:
1. **`model` 工具参数** -- 如果智能体在调用中指定了该参数
1. **`model` 工具参数** -- 如果智能体在调用中指定了
2. **`videoGenerationModel.primary`** -- 来自配置。
3. **`videoGenerationModel.fallbacks`** -- 按顺序尝试。
4. **自动检测** -- 使用具有有效身份验证的提供商,从当前默认提供商开始,然后按字母顺序尝试其余提供商。
4. **自动检测** -- 使用具有有效证的提供商,从当前默认提供商开始,然后按字母顺序尝试其余提供商。
如果某个提供商失败,会自动尝试下一个候选项。如果所有候选项都失败,错误中会包含每次尝试的详细信息
如果某个提供商失败,会自动尝试下一个候选项。如果所有候选项都失败,错误中会包含每次尝试的详
如果你希望视频生成仅使用显式的 `model`、`primary` 和 `fallbacks`
条目,请设置 `agents.defaults.mediaGenerationAutoProviderFallback: false`
如果你希望视频生成只使用显式的 `model`、`primary` 和 `fallbacks` 条目,请设置 `agents.defaults.mediaGenerationAutoProviderFallback: false`
```json5
{
@ -209,24 +207,22 @@ openclaw tasks cancel <taskId>
| 提供商 | 说明 |
| ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Alibaba | 使用 DashScope/Model Studio 异步端点。参考图片和视频必须是远程 `http(s)` URL。 |
| BytePlus(国际版) | 仅支持单张参考图片。 |
| ComfyUI | 由 workflow 驱动的本地或云端执行。通过已配置的图支持文生视频和图生视频。 |
| fal | 对长时间运行的任务使用基于队列的流程。仅支持单张参考图片。 |
| Google | 使用 Gemini/Veo。支持一个图片参考或一个视频参考。 |
| MiniMax | 仅支持单张参考图片。 |
| OpenAI | 仅转发 `size` 覆盖项。其他样式覆盖`aspectRatio`、`resolution`、`audio`、`watermark`)会被忽略并给出警告。 |
| Qwen | 与 Alibaba 使用相同的 DashScope 后端。参考输入必须是远程 `http(s)` URL本地文件会在前期直接被拒绝。 |
| Runway | 通过 data URI 支持本地文件。视频转视频需要 `runway/gen4_aleph`。纯文本运行暴露 `16:9``9:16` 长宽比。 |
| Together | 仅支持单张参考图片。 |
| Vydra | 直接使用 `https://www.vydra.ai/api/v1` 以避免身份验证丢失的重定向。`veo3` 内置为仅文生视频;`kling` 需要远程图片 URL。 |
| xAI | 支持文生视频、图生视频以及基于远程视频编辑/扩展流程。 |
| Alibaba | 使用 DashScope/Model Studio 异步端点。参考图片和视频必须是远程 `http(s)` URL。 |
| BytePlus | 仅支持单张参考图片。 |
| ComfyUI | 由工作流驱动的本地或云端执行。通过已配置的图支持文生视频和图生视频。 |
| fal | 对长时间运行的任务使用基于队列的流程。仅支持单张参考图片。 |
| Google | 使用 Gemini/Veo。支持一个图片参考或一个视频参考。 |
| MiniMax | 仅支持单张参考图片。 |
| OpenAI | 仅转发 `size` 覆盖项。其他样式覆盖(`aspectRatio`、`resolution`、`audio`、`watermark`)会被忽略,并附带警告。 |
| Qwen | 与 Alibaba 使用相同的 DashScope 后端。参考输入必须是远程 `http(s)` URL本地文件会在前置检查时被拒绝。 |
| Runway | 通过数据 URI 支持本地文件。视频到视频需要 `runway/gen4_aleph`。纯文本运行公开 `16:9``9:16` 宽高比。 |
| Together | 仅支持单张参考图片。 |
| Vydra | 直接使用 `https://www.vydra.ai/api/v1`,以避免认证在重定向时丢失。内置 `veo3` 仅支持文生视频;`kling` 需要远程图片 URL。 |
| xAI | 支持文生视频、图生视频以及远程视频编辑/扩展流程。 |
## 提供商能力模式
共享视频生成契约现在允许提供商声明特定于模式的
能力,而不只是扁平的聚合限制。新的提供商
实现应优先使用显式模式块:
共享视频生成契约现在允许提供商声明特定模式的能力,而不仅仅是扁平的聚合限制。新的提供商实现应优先使用显式模式块:
```typescript
capabilities: {
@ -250,15 +246,11 @@ capabilities: {
}
```
`maxInputImages``maxInputVideos` 这样的扁平聚合字段
不足以声明变换模式支持。提供商应显式声明
`generate`、`imageToVideo` 和 `videoToVideo`,以便 live 测试、
契约测试以及共享 `video_generate` 工具能够以确定性的方式
验证模式支持。
`maxInputImages``maxInputVideos` 这样的扁平聚合字段不足以声明变换模式支持。提供商应显式声明 `generate`、`imageToVideo` 和 `videoToVideo`,这样实时测试、契约测试以及共享 `video_generate` 工具才能以确定性的方式验证模式支持。
## Live 测试
## 实时测试
为共享内置提供商启用可选的 live 覆盖:
为共享内置提供商启用自选实时覆盖:
```bash
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/video-generation-providers.live.test.ts
@ -270,18 +262,15 @@ OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/video-generation-providers.liv
pnpm test:live:media video
```
这个 live 文件会从 `~/.profile` 加载缺失的提供商环境变量,默认优先使用
live/env API 密钥,而不是已存储的身份验证配置文件,并运行它能够使用本地媒体安全执行的
声明模式:
该实时测试文件会从 `~/.profile` 加载缺失的提供商环境变量,默认优先使用实时/环境 API 密钥而不是已存储的认证配置文件,并运行它能够使用本地媒体安全覆盖的声明模式:
- 为 sweep 中的每个提供商运行 `generate`
- 为扫描中的每个提供商运行 `generate`
- 当 `capabilities.imageToVideo.enabled` 时运行 `imageToVideo`
- 当 `capabilities.videoToVideo.enabled` 且提供商/模型
在共享 sweep 中接受基于 buffer 的本地视频输入时运行 `videoToVideo`
- 当 `capabilities.videoToVideo.enabled` 且提供商/模型在共享扫描中接受基于缓冲区的本地视频输入时运行 `videoToVideo`
目前共享 `videoToVideo` live 通道涵盖:
目前共享 `videoToVideo` 实时通道覆盖:
- `runway`,且仅当你选择 `runway/gen4_aleph`
- `runway`,且仅当你选择 `runway/gen4_aleph`
## 配置