Video Gen Client
一个统一的异步 Python 客户端,支持多家视频生成服务商:Seedance、Kling、MiniMax/Hailuo 和 Wan。
支持的模型
| 服务商 | 版本 | API 模型 ID | 说明 |
|---|---|---|---|
| Seedance(字节跳动) | 2.5 | doubao-seedance-2.5 | 30 秒一镜到底,原生音频 |
| Seedance | 2.0 | doubao-seedance-2-0-260128 | 完整 2.0 版本,多模态输入 |
| Seedance | 2.0 Mini | doubao-seedance-2-0-mini-260615 | 入门档位,480p/720p,4–15 秒 |
| Seedance | 2.0 Fast | doubao-seedance-2-0-fast-260128 | 更快的 2.0 版本,画质略低 |
| Kling(快手) | 3.0 / 3.0 Omni | kling-v3 / kling-v3-omni | 旗舰版,多镜头,原生音频 |
| Kling | 2.6 | kling-v2-6 | 首个支持音视频同步的版本 |
| Kling | 2.5 Turbo | kling-v2-5-turbo | 1080p,大批量生成成本低 |
| Kling | 2.1 | kling-v2-1-master | 电影级镜头控制,语义理解更佳 |
| MiniMax / Hailuo | H3 | MiniMax-H3 | 4K、60fps、30 秒、原生音频 |
| MiniMax | 2.3 | MiniMax-Hailuo-2.3 | 1080p,文生视频 + 图生视频 |
| MiniMax | 2.3 Fast | MiniMax-Hailuo-2.3-Fast | 更快的 2.3 版本,仅图生视频 |
| Wan(阿里巴巴) | 3.0 | wan3.0 | 一体化,30 秒,最高 1080p |
| Wan | 2.7 | wan2.7-t2v / wan2.7-i2v / wan2.7-r2v | 专项模型 |
| Wan | 2.6 | wan2.6-t2v / wan2.6-i2v | 多镜头,更长片段 |
| Wan | 2.5 | wan2.5-t2v-preview | 1080p,支持音频 |
安装
git clone https://github.com/letorig/video-generator-client
cd video-generator-client
python -m venv .venv
# Windows:
.venv\\Scripts\\activate
# macOS/Linux:
source .venv/bin/activate
pip install -e ".[web]"
将 .env.example 复制为 .env,并填入你所使用服务商的凭证。
CLI
输出会保存到 output 文件夹中。
video-gen --help
video-gen providers
video-gen models wan
video-gen generate wan --prompt "A snowy forest at dawn" --model 2.1 --duration 5
video-gen status wan TASK_ID
video-gen serve
Web 服务器选项:
video-gen serve --host 127.0.0.1 --port 8000
video-gen serve --host 0.0.0.0 --port 9000 --reload
Web UI
Web 界面直接内置于 Python 包中,无需 npm、Node.js 或任何前端构建步骤。FastAPI 负责 HTML 页面服务,并暴露用于服务商发现、生成、任务轮询和 MP4 下载的 JSON 接口。
该 UI 提供:
- 服务商/模型选择
- 文生视频与图生视频输入
- 负面提示词
- 时长、宽高比与分辨率设置
- 实时任务状态轮询
- 视频预览与 MP4 下载
- 当前服务器会话的内存任务历史
项目结构
unified-video-gen/
├── src/video_gen/
│ ├── client.py
│ ├── cli.py
│ ├── web.py
│ ├── catalog.py
│ ├── static/index.html
│ ├── providers/
│ └── utils/
├── examples/
├── tests/
├── mcp_server/
├── .env.example
├── .gitignore
├── LICENSE
└── pyproject.toml
重要提示
各服务商的 API 和模型 ID 会独立于本 SDK 自行变化。请将服务商适配器视为集成代码,当服务商变更其 API 时可能需要相应更新。
许可证
MIT。