跳到主要内容
AI教程

使用异步视频生成客户端调用多个 AI 提供商生成视频

了解如何安装和使用 Video Gen Client:这是一个异步 Python 工具包,提供统一 CLI 和内置 FastAPI Web 界面,可通过 Seedance、Kling、MiniMax/Hailuo 和 Wan 提供商生成视频。

使用异步视频生成客户端调用多个 AI 提供商生成视频

Video Gen Client 的功能

Video Gen Client 为多个视频生成服务商提供统一的异步 Python 客户端:字节跳动的 Seedance、快手的 Kling、MiniMax/Hailuo,以及阿里的 Wan。无需分别对接不同服务商,你可以通过统一的命令行界面或 Web 应用发现可用模型、提交生成任务、检查任务状态并下载结果。

该项目定位为围绕服务商 API 编写的集成代码。由于这些 API 及其模型 ID 可以独立变化,服务商适配器可能需要随时间更新。

支持的服务商和模型

客户端目前列出以下服务商系列及 API 模型 ID:

  • Seedance:2.5 版本使用 doubao-seedance-2.5;2.0 版本使用 doubao-seedance-2-0-260128;2.0 Mini 和 2.0 Fast 版本分别使用 doubao-seedance-2-0-mini-260615 和 doubao-seedance-2-0-fast-260128。
  • Kling:Kling 3.0 和 3.0 Omni 分别使用 kling-v3 和 kling-v3-omni。其他列出的模型包括 kling-v2-6、kling-v2-5-turbo 和 kling-v2-1-master。
  • MiniMax/Hailuo:H3 使用 MiniMax-H3,2.3 版本使用 MiniMax-Hailuo-2.3 和 MiniMax-Hailuo-2.3-Fast。
  • Wan:Wan 3.0 使用 wan3.0。Wan 2.7、2.6 和 2.5 提供专用的文生视频、图生视频、参考生视频或预览模型 ID。

安装和配置客户端

  1. 克隆仓库:
    git clone https://github.com/letorig/video-generator-client
    cd video-generator-client
  2. 创建虚拟环境:
    python -m venv .venv
  3. 激活环境。在 Windows 上运行:
    .venv\Scripts\activate
    在 macOS 或 Linux 上运行:
    source .venv/bin/activate
  4. 安装带 Web 支持的软件包:
    pip install -e ".[web]"
  5. 添加服务商凭据:将 .env.example 复制为 .env,然后添加计划使用的服务商凭据。README 未规定统一的凭据组合,因此只需配置工作流所需的服务。

使用 CLI 时,生成的输出会保存到 output 文件夹。

使用命令行界面

安装完成后,video-gen 命令提供发现服务商、选择模型、启动生成任务和检查结果的主要工作流。

发现服务商和模型

首先查看可用的命令和服务商:

video-gen --help
video-gen providers

要查看某个服务商的模型,请将服务商名称传递给 models 命令:

video-gen models wan

生成视频

使用提示词、服务商、模型和时长提交文生视频请求:

video-gen generate wan --prompt "A snowy forest at dawn" --model 2.1 --duration 5

该命令会通过选定的服务商提交任务,并将生成的输出保存到 output 文件夹。构建自己的命令时,请使用项目公开的服务商和模型值,因为服务商支持的模型可能会发生变化。

检查任务状态

对于异步生成工作流,请使用服务商和任务 ID 查询任务:

video-gen status wan TASK_ID

将 TASK_ID 替换为生成工作流返回的标识符。

运行 Web 界面

该项目直接在 Python 软件包中包含 Web 界面。不需要 npm、Node.js 或单独的前端构建步骤。FastAPI 提供 HTML 界面,并为服务商发现、视频生成、任务轮询和 MP4 下载提供 JSON 端点。

使用默认主机和端口启动服务器:

video-gen serve

你也可以显式指定主机和端口:

video-gen serve --host 127.0.0.1 --port 8000

要启用自动重载运行服务器,请使用:

video-gen serve --host 0.0.0.0 --port 9000 --reload

Web UI 功能

该界面支持服务商和模型选择、文生视频和图生视频输入、负面提示词、时长、宽高比及分辨率控制。它还提供实时任务状态轮询、视频预览、MP4 下载,以及当前服务器会话中的内存任务历史记录。

实用工作流建议

  • 生成前先检查:选择服务商或模型前,运行 video-gen providers 和 video-gen models PROVIDER。
  • 限定凭据范围:只将当前工作流所需的服务商凭据添加到 .env 文件。
  • 使用异步任务跟踪:可以通过 status 命令和 Web 界面的实时轮询监控生成进度。
  • 选择适合工作流的界面:CLI 适合脚本和基于终端的任务,而 Web UI 提供交互式控件和预览功能。
  • 预期集成维护:服务商 API 和模型 ID 独立于此 SDK,可能会发生变化,因此服务商更新服务时,请核验适配器和模型目录。

项目结构

该仓库将客户端、命令行界面、Web 服务器、模型目录、服务商适配器、静态 Web 资源、示例、测试和工具代码分开组织:

src/video_gen/
├── client.py
├── cli.py
├── web.py
├── catalog.py
├── static/index.html
├── providers/
└── utils/

配置由 .env.example 表示,而打包和安装设置定义在 pyproject.toml 中。该代码库还包含 examples/、tests/ 以及可选的 mcp_server/ 目录。

结论

Video Gen Client 为 Python 开发者提供了统一的方式,用于处理多个视频生成服务提供商。在虚拟环境中安装它,配置所需的凭据,发现受支持的模型,然后通过 CLI 或随附的 FastAPI Web UI 提交任务。在生产环境中使用时,请关注服务提供商的变化,因为模型 ID 和 API 行为可能会独立于客户端发生变化。