视频生成驱动说明
概述
图生视频驱动实现了调用第三方视频生成模型(异步 API,创建任务后轮询状态)的驱动逻辑。
支持的模型
| Task ID | 模型 | 驱动 | 支持的图片模式 | 支持参考音频/视频 |
|---|---|---|---|---|
| 21 | 第三方视频生成模型(首尾帧增强版) | 对应驱动 | first_last_frame | 不支持 |
| 22 | 第三方视频生成模型(快速版) | 对应驱动 | first_last_frame, multi_reference | 支持 |
| 23 | 第三方视频生成模型(标准版) | 对应驱动 | first_last_frame, multi_reference | 支持 |
特性
- 异步接口:提交任务后返回
project_id,通过轮询check_status获取结果 - 多帧支持:支持首帧(first_frame)、尾帧(last_frame)
- 多参考图:支持
multi_reference模式下多张参考图(role: reference_image) - 参考视频:支持传入参考视频(role: reference_video)
- 参考音频:支持传入参考音频(role: reference_audio)
- 图片压缩上传:本地图片自动压缩后上传至对象存储
Content 数组格式
视频生成 API 使用 content 数组传递输入:
{
"model": "模型标识(按 Task ID 选择)",
"content": [
{"type": "text", "text": "视频描述提示词"},
{"type": "image_url", "image_url": {"url": "首帧图URL"}, "role": "first_frame"},
{"type": "image_url", "image_url": {"url": "尾帧图URL"}, "role": "last_frame"},
{"type": "image_url", "image_url": {"url": "参考图1URL"}, "role": "reference_image"},
{"type": "image_url", "image_url": {"url": "参考图2URL"}, "role": "reference_image"},
{"type": "video_url", "video_url": {"url": "参考视频URL"}, "role": "reference_video"},
{"type": "audio_url", "audio_url": {"url": "参考音频URL"}, "role": "reference_audio"}
],
"duration": 5,
"ratio": "9:16",
"generate_audio": false,
"watermark": false
}
角色说明
| 角色 | 类型 | 说明 |
|---|---|---|
first_frame | image_url | 视频首帧图片 |
last_frame | image_url | 视频尾帧图片 |
reference_image | image_url | 参考图片(可多张) |
reference_video | video_url | 参考视频 |
reference_audio | audio_url | 参考音频 |
参考音频/视频数据来源
参考音频和参考视频优先从 ai_tool 模型字段读取,向后兼容 extra_config:
- 参考视频:优先读取
ai_tool.video_path,备选extra_config.reference_video - 参考音频:优先读取
ai_tool.audio_path,备选extra_config.reference_audio
配置
在配置中添加视频生成服务配置(驱动读取该服务配置节下的 api_key,数据库配置优先、YAML 配置兜底;配置节名称定义于 config/default_configs.py):
<视频生成服务配置节>:
api_key: "<your_api_key>"
文件列表
| 文件 | 说明 |
|---|---|
task/visual_drivers/(对应驱动) | 驱动实现 |
task/visual_drivers/base_video_driver.py | 驱动基类 |
config/unified_config.py | 驱动配置定义 |
model/ai_tools.py | AI 工具模型(含 audio_path、video_path 字段) |