关于 tuzi-video-gen
通过 Tuzi API 生成视频的命令行技能,供需要从提示词或参考图制作片段的用户和 Agent 使用。它支持多个视频模型、可配置的输出设置,并可用连续片段生成较长视频。
主要功能
- 01根据提示词生成视频
- 02使用参考图像
- 03设置模型、时长和尺寸
- 04连续生成多个视频片段
- 05通过 EXTEND.md 设置默认值
- 06对部分生成错误重试
适用场景
- 01根据文本提示创建视频片段
- 02使用参考图像为场景制作动画
- 03用衔接片段构建较长视频
- 04设置项目专用的生成默认值
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ tuziapi/ tuzi-skills --skill tuzi-video-gen安装后在 Claude Code 中输入/tuzi-video-gen确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/config/first-time-setup.mdpreferences-schema.mdscripts/main.tstypes.tsscripts/providers/tuzi.ts详细介绍
视频生成(AI SDK)
Tuzi API 视频生成后端。默认模型:veo3.1。
脚本目录
Agent 执行:
SKILL_DIR= 此 SKILL.md 文件所在目录- 脚本路径 =
${SKILL_DIR}/scripts/main.ts
步骤 0:加载偏好设置 ⛔ 阻塞
重要:此步骤必须在生成任何视频之前完成。不得跳过或延后。
0.1 检查 API 密钥
echo "${TUZI_API_KEY:-not_set}"
grep -s TUZI_API_KEY .tuzi-skills/.env "$HOME/.tuzi-skills/.env"
| 结果 | 操作 |
|---|---|
| 找到密钥 | 继续步骤 0.2 |
| 未找到密钥 | ⛔ 运行 API 密钥设置(参见 references/config/first-time-setup.md)→ 保存密钥 → 然后继续 |
0.2 检查 EXTEND.md
test -f .tuzi-skills/tuzi-video-gen/EXTEND.md && echo "project"
test -f "$HOME/.tuzi-skills/tuzi-video-gen/EXTEND.md" && echo "user"
| 结果 | 操作 |
|---|---|
| 找到 | 加载、解析并应用设置 |
| 未找到 | ⛔ 运行首次设置(references/config/first-time-setup.md)→ 保存 EXTEND.md → 然后继续 |
| 路径 | 位置 |
|---|---|
.tuzi-skills/tuzi-video-gen/EXTEND.md | 项目目录 |
$HOME/.tuzi-skills/tuzi-video-gen/EXTEND.md | 用户主目录 |
EXTEND.md 支持:默认模型 | 默认秒数 | 默认尺寸
Schema:references/config/preferences-schema.md
用法
# Single video
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "A cat walking in a garden" --video cat.mp4
# With model and duration
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "城市夜景延时" --video city.mp4 --model veo3 --seconds 8
# With reference image
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "Animate this scene" --video out.mp4 --ref source.png
# From prompt file
npx -y bun ${SKILL_DIR}/scripts/main.ts --promptfiles prompt.md --video out.mp4
# Long video (multi-segment with ffmpeg concat)
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "A journey through seasons" --video long.mp4 --segments 3
# Long video with per-segment prompts
npx -y bun ${SKILL_DIR}/scripts/main.ts --video long.mp4 --segments 3 --segment-prompts seg1.md seg2.md seg3.md
选项
| 选项 | 描述 |
|---|---|
--prompt <text>、-p | 提示词文本 |
--promptfiles <files...> | 从文件读取提示词(拼接) |
--video <path> | 输出视频路径(必需) |
--model <id>、-m | 模型 ID(默认:veo3.1) |
--seconds <n>、-s | 时长(秒) |
--size <WxH> | 视频尺寸(例如,1280x720、16x9) |
--ref <files...> | 参考图像 |
--ref-mode reference|frames|components | 参考图像模式 |
--segments <n> | 长视频片段数(最少 2) |
--segment-prompts <files...> | 每个片段对应的提示词文件 |
--json | JSON 输出 |
模型
| 模型 | 提供商 | 时长 | 尺寸 | 图像模式 |
|---|---|---|---|---|
veo3 | Veo | 8s | 16:9、9:16 | reference |
veo3.1(默认) | Veo | 8s | 16:9、9:16 | frames |
veo3.1-4k | Veo | 8s | 4K | frames |
sora-2 | Sora | 10/15s | 16:9、9:16 | reference |
sora-2-pro | Sora | 10/15/25s | 16:9、9:16、HD | reference |
kling-v1-6 | Kling | 5/10s | 16:9、9:16、1:1 | reference |
seedance-1.5-pro | Seedance | 5/10s | 1080p、720p | frames |
长视频模式
指定 --segments N(N >= 2)时:
- 按顺序生成 N 个视频片段
- 每个片段生成后,通过 ffmpeg 提取最后一帧
- 最后一帧作为下一个片段的参考图像(保持连续性)
- 使用
ffmpeg -f concat拼接所有片段 - 清理临时文件
要求:必须安装 ffmpeg。
每段提示词:使用 --segment-prompts 为每个片段提供单独的提示词文件。如果文件数少于片段数,其余片段使用主 --prompt。
环境变量
| 变量 | 描述 |
|---|---|
TUZI_API_KEY | Tuzi API 密钥(https://api.tu-zi.com) |
TUZI_VIDEO_MODEL | 默认视频模型(默认:veo3.1) |
TUZI_BASE_URL | 自定义 Tuzi 端点(默认:https://api.tu-zi.com) |
加载优先级:CLI 参数 > EXTEND.md > 环境变量 > <cwd>/.tuzi-skills/.env > ~/.tuzi-skills/.env
模型解析
优先级(从高到低):
- CLI:
--model <id> - EXTEND.md:
default_model - 环境变量:
TUZI_VIDEO_MODEL - 内置默认值:
veo3.1
Agent 必须在每次生成前显示模型信息:
- 显示:
Using [model] - 显示切换提示:
Switch model: --model <id> | EXTEND.md default_model | env TUZI_VIDEO_MODEL
错误处理
- 缺少 API 密钥 → ⛔ 必须运行步骤 0.1 中的 API 密钥设置
- 生成失败 → 自动重试一次
- 业务失败(内容被拒绝)→ 不重试,报告错误
- 网络错误 → 指数退避(1.5 倍,最长 60s)
- 超时 → 90 分钟后报错
- 缺少 ffmpeg(长视频模式)→ 显示清晰的错误信息和安装说明
扩展支持
通过 EXTEND.md 自定义配置。路径和支持的选项请参阅 Step 0。
评论
支持 Markdown