视频生成 (Video Generation)
通过当前 provider 的 video_generation 能力创建异步视频任务。需要配置 video_generation_model。
插件路径
plugins/video_generation/
注册工具
| 工具名 | 描述 |
|---|---|
video_generate |
创建文生视频、图生视频或视频生视频任务 |
video_status |
查询视频生成任务状态 |
video_download |
下载已完成任务的视频结果到本地 |
参数
video_generate
| 参数 | 类型 | 必需 | 默认值 | 说明 |
|---|---|---|---|---|
prompt |
string | 否 | "" |
视频描述或编辑要求 |
image |
string | 否 | "" |
图片路径、URL 或 data URL,用于图生视频 |
video |
string | 否 | "" |
视频路径、URL 或 data URL,用于视频生视频 |
duration |
integer | 否 | 0 | 可选视频时长 |
size |
string | 否 | "" |
可选视频尺寸 |
negative_prompt |
string | 否 | "" |
可选负向提示词 |
seed |
integer | 否 | 0 | 可选随机种子 |
model |
string | 否 | "" |
可选模型 ID;留空使用 provider.video_generation_model |
video_status
| 参数 | 类型 | 必需 | 默认值 | 说明 |
|---|---|---|---|---|
job_id |
string | 是 | — | 视频任务 ID |
video_download
| 参数 | 类型 | 必需 | 默认值 | 说明 |
|---|---|---|---|---|
job_id |
string | 是 | — | 视频任务 ID |
output_dir |
string | 否 | users/<user>/download/ |
输出目录 |
filename |
string | 否 | 自动生成 | 可选输出文件名 |
结果说明
video_generate
- 成功:返回 JSON,含
job_id和任务创建信息 - 失败:返回
ERROR:前缀的错误信息
video_status
- 成功:返回 JSON,含任务状态(pending/processing/completed/failed)和进度信息
- 失败:返回
ERROR:前缀的错误信息
video_download
- 成功:返回工具结果 JSON,含文件 artifact(下载路径)
- 失败:返回
ERROR:前缀的错误信息
前置条件
- 需要 provider 支持
video_generation能力 - 需配置
video_generation_model(config.json 专用配置) - 视频生成是异步任务,需先
generate→ 轮询status→ 完成后download
典型流程
1. video_generate(prompt=" cats playing in garden") → 返回 job_id
2. video_status(job_id="xxx") → 等待 completed
3. video_download(job_id="xxx") → 保存到 download/
常见规范
- 生成模式由传入参数决定:只传
prompt= 文生视频,传image= 图生视频,传video= 视频生视频 image和video参数支持本地路径、HTTP URL 和 data URL- 输出目录默认为
users/<user>/download/
常见处理办法
- 任务长时间 pending:视频生成耗时较长(通常 30-180 秒),耐心轮询
- 任务失败:检查
prompt是否合规、模型是否支持当前参数组合 - 下载失败:先用
video_status确认任务状态为completed再下载
常见教训
- 视频生成是异步任务,不能一步到位,需走 generate → status → download 三步流程
- 下载前必须确认任务状态为
completed,否则会下载失败 - 部分 provider 对
duration和size有严格限制,超范围参数可能被拒绝