统一的视频生成命令行工具,支持文本生成视频 (T2V) 和图片生成视频 (I2V)。
- 文本生成视频 (T2V) - 从文本描述生成视频
- 图片生成视频 (I2V) - 从 1-2 张图片生成视频
- 单张图片:生成动态视频
- 双张图片:首尾帧过渡效果
- 智能模型选择 - 根据输入自动选择最佳模型
- 68+ 模型支持 - 支持 Google Veo 3.1 系列模型
- 流式下载 - 实时进度显示
- Python 3.10+
- Windows / Linux / macOS
# 克隆项目
git clone https://github.com/yourusername/GenerateVideo.git
cd GenerateVideo
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境 (Windows)
venv\Scripts\activate
# 激活虚拟环境 (Linux/macOS)
source venv/bin/activate
# 安装依赖
pip install -e .复制配置模板并填写您的 API 信息:
cp .env.example .env编辑 .env 文件:
GENVIDEO_API_ENDPOINT=http://your-api-server/v1/chat/completions
GENVIDEO_API_TOKEN=your_api_token# 基础用法
genvideo t2v -p "一只小猫在草地上追逐蝴蝶"
# 从文件读取提示词
genvideo t2v -p prompt.txt
# 指定模型
genvideo t2v -p "描述" -m veo_3_1_t2v_fast_landscape
# 指定输出目录
genvideo t2v -p "描述" -o ./videos/# 单张图片生成视频
genvideo i2v -i image.jpg -p "图片动起来"
# 双张图片(首尾帧过渡)
genvideo i2v -i start.jpg -i end.jpg -p "从第一张过渡到第二张"
# 指定模型
genvideo i2v -i img.jpg -p "描述" -m veo_3_1_i2v_s_fast_fl# 列出所有模型
genvideo models
# 筛选 I2V 模型
genvideo models --filter i2v
# JSON 格式输出
genvideo models --format json| 参数 | 简写 | 必需 | 说明 |
|---|---|---|---|
--prompt |
-p |
✓ | 文本提示词或 .txt 文件路径 |
--model |
-m |
✗ | 模型 ID(默认自动选择) |
--output |
-o |
✗ | 输出目录(默认 ./output/) |
| 参数 | 简写 | 必需 | 说明 |
|---|---|---|---|
--image |
-i |
✓ | 输入图片(1-2张) |
--prompt |
-p |
✓ | 文本提示词 |
--model |
-m |
✗ | 模型 ID(默认自动选择) |
--output |
-o |
✗ | 输出目录 |
| 参数 | 说明 |
|---|---|
--filter |
按类别筛选:t2v, i2v, r2v |
--format |
输出格式:table, json |
| 模式 | 图片数 | 自动选择模型 |
|---|---|---|
| T2V | 0 | veo_3_1_t2v_fast_landscape |
| I2V | 1 | veo_3_1_i2v_s_landscape |
| I2V | 2 | veo_3_1_i2v_s_fast_fl ⭐ |
GenerateVideo/
├── src/
│ ├── cli/ # CLI 命令
│ │ ├── main.py # 入口点
│ │ ├── t2v.py # 文本生成视频
│ │ ├── i2v.py # 图片生成视频
│ │ └── models.py # 模型列表
│ ├── models/ # 模型管理
│ │ ├── catalog.py # 模型目录
│ │ └── selector.py # 自动选择
│ ├── api_client.py # API 通信
│ ├── encoder.py # 图片编码
│ ├── video_saver.py # 视频保存
│ ├── config.py # 配置管理
│ └── errors.py # 异常定义
├── tests/ # 测试文件
├── output/ # 视频输出(已忽略)
├── .env.example # 配置模板
├── pyproject.toml # 项目配置
└── README.md
pytest tests/black src/MIT License
欢迎提交 Issue 和 Pull Request!