关于 video-generation
用于通过 Google Veo 和 OpenAI Sora 生成 AI 视频的技能,涵盖提示词整理、静图动画、音频、视频延长和并行批量生成。
主要功能
- 01文本生成视频与图像转视频
- 02Veo 音频生成
- 03Veo 3.1 参考图引导
- 04延长视频以保持连续性
- 05并行批量生成
适用场景
- 01根据场景描述制作视频片段
- 02将静态图像转换为动态视频
- 03使用 Veo 生成对白和环境音
- 04并行生成多个场景片段
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ michaelboeding/ skills --skill video-generation安装后在 Claude Code 中输入/video-generation确认已加载。
附带文件scripts/sora.pyscripts/veo.py
详细介绍
视频生成技能
使用 AI(Google Veo 3.1、OpenAI Sora)生成视频。
功能:
- 🎬 文本生成视频:根据文本描述创建视频
- 🖼️ 图像生成视频:将图像作为首帧并使其动起来
- 🔊 音频生成:对话、音效、环境音(Veo 3+)
- 🎭 参考图像:使用最多 3 张参考图像引导视频内容(Veo 3.1)
前置条件
默认:Vertex AI(每分钟 10 个请求)⭐
Vertex AI 是默认后端,速率限制提高了 1400 倍:
# 1. Set your project
export GOOGLE_CLOUD_PROJECT=your-project-id
# 2. Authenticate (opens browser)
gcloud auth application-default login
# 3. Enable the API (one-time)
gcloud services enable aiplatform.googleapis.com
添加到你的 .env 文件中:
GOOGLE_CLOUD_PROJECT=your-project-id
GOOGLE_CLOUD_LOCATION=us-central1
回退选项:AI Studio(每天 10 个请求)
仅在没有 GCP 项目时使用:
GOOGLE_API_KEY- 从 https://aistudio.google.com/apikey 获取
Sora(OpenAI)
OPENAI_API_KEY- 用于 OpenAI Sora
可用模型
Google Veo 模型
| 模型 | 描述 | 最适合 |
|---|---|---|
veo-3.1 | 最高质量(默认) | 专业视频、对话、参考图像 |
veo-3.1-fast | 处理速度更快 | 快速迭代、批量生成 |
两个模型都包含:
- 720p/1080p 分辨率
- 4、6 或 8 秒时长
- 原生音频(对话、SFX、环境音)
- 图像生成视频(使图像动起来)
- 参考图像(最多 3 张)
- 视频扩展
- 批量/并行生成
OpenAI Sora
- 最适合:创意视频、电影级画质、复杂运动
- 分辨率:480p、720p、1080p
- 时长:5s、10s、15s、20s
- 功能:文本生成视频、图像生成视频
工作流
第 1 步:收集需求(必需)
⚠️ 使用交互式提问——每次只问一个问题。
提问流程
⚠️ 对以下每个问题都使用 AskUserQuestion 工具。 不要只在回复中打印问题——使用该工具创建包含所示选项的交互式提示。
Q1:图像
“我来为你生成视频!首先——你有要制作成动画的图像吗?
- 有(提供路径——我会将其用作首帧)
- 没有,从头生成”
等待回复。
Q2:音频
“你的音频偏好是什么?
- 带音频(默认)——Veo 3.1 会生成对话、SFX、环境音
- 静音视频——不含音频”
等待回复。
Q3:模型
“你想使用哪个模型?
veo-3.1——最新、最高质量,带音频(默认)veo-3.1-fast——处理速度更快,带音频veo-3/veo-3-fast——上一代模型,带音频sora——OpenAI,最长 20 秒,不含音频”
等待回复。
Q4:时长
“时长是多少?
- 4 秒
- 6 秒
- 8 秒(默认)”
等待回复。
Q5:格式
“宽高比和分辨率是什么?
- 16:9 横向,720p
- 16:9 横向,1080p
- 9:16 纵向,720p
- 9:16 纵向,1080p
- 或指定”
等待回复。
快速参考
| 问题 | 决定因素 |
|---|---|
| 图像 | 图像生成视频还是文本生成视频 |
| 音频 | 是否生成音频 |
| 模型 | 质量与速度之间的取舍 |
| 时长 | 片段长度 |
| 格式 | 宽高比和分辨率 |
第 2 步:撰写提示词
将用户请求转化为有效的视频提示词:
- 描述场景:设定视觉背景
- 指定动作:描述移动、变化和发生的事情
- 加入镜头运动:例如“慢速摇镜头”“跟踪镜头”“推轨镜头”
- 添加音频提示(Veo 3+):使用引号标注对话,并描述声音
- 设定氛围:光线、氛围、一天中的时间
带对话的示例(Veo 3.1):
- 用户:“一个人发现了宝藏”
- 优化后:“特写镜头:火把的光在寻宝者脸上闪烁。他一边拂去古老宝箱上的灰尘,一边低声说:‘一定就是这里……’。随着箱子打开,传来铰链吱呀作响的声音,金色光芒映照在他惊叹的脸上。电影质感,戏剧性的阴影。”
不带对话的示例:
- 用户:“一只狗在海滩上奔跑”
- 优化后:“电影感的慢动作镜头:夕阳下,一只金毛寻回犬欢快地沿着海滩奔跑,海浪轻轻拍岸,温暖的黄金时刻光线,浅景深”
第 3 步:选择模型
默认:veo-3.1(最高画质,带音频)
| 使用场景 | 推荐模型 | 原因 |
|---|---|---|
| 最佳画质 | veo-3.1(默认) | 最高画质,带音频 |
| 快速迭代 | veo-3.1-fast | 处理速度更快 |
| 批量生成 | veo-3.1-fast | 生成多个片段时,速度很重要 |
| 更长的视频(>8s) | sora | 最长支持 20s |
第 4 步:生成视频
执行 ${CLAUDE_PLUGIN_ROOT}/skills/video-generation/scripts/ 中相应的脚本:
使用 Google Veo 3.1(默认,带音频):
python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-generation/scripts/veo.py \
--prompt "your enhanced prompt with 'dialogue in quotes'" \
--model "veo-3.1" \
--duration 8 \
--aspect-ratio "16:9" \
--resolution "720p"
使用带图像输入的 Google Veo 3.1:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-generation/scripts/veo.py \
--prompt "The cat slowly opens its eyes and yawns" \
--image "/path/to/cat.jpg" \
--model "veo-3.1" \
--duration 8
更快地生成视频:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-generation/scripts/veo.py \
--prompt "your prompt" \
--model "veo-3.1-fast"
使用 OpenAI Sora(更长的视频):
python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-generation/scripts/sora.py \
--prompt "your enhanced prompt" \
--duration 20 \
--resolution "1080p"
列出可用模型:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-generation/scripts/veo.py --list-models
视频延长(保持长视频的连贯性)
--extend 标志可通过从之前 Veo 视频的结束位置继续,保持真正的视觉连贯性。 这是制作长视频的最佳方法。
基本延长:
# First, generate initial clip
python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-generation/scripts/veo.py \
--prompt "A person walks through a forest at sunrise" \
--duration 8
# Extend it with new content (adds ~7 seconds)
python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-generation/scripts/veo.py \
--extend veo_veo-3.1_20260104_120000.mp4 \
--prompt "Continue walking, discover a hidden stream"
多次延长(用于制作更长的视频):
# Extend 5 times (adds ~35 seconds of continuation)
python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-generation/scripts/veo.py \
--extend initial_clip.mp4 \
--prompt "Keep exploring the forest, encounter wildlife" \
--extend-times 5
延长与拼接:
| 方法 | 效果 | 使用场景 |
|---|---|---|
| 延长 | 真正连贯,角色/场景保持一致 | 连续长镜头 |
| 拼接 | 通过转场连接独立片段 | 场景切换、蒙太奇 |
延长限制:
- 输入视频必须由 Veo 生成(最长 141 秒)
- 每次延长增加约 7 秒
- 最多可延长 20 次(总计约 2.5 分钟)
- 输出分辨率为 720p
批量生成(并行)
同时生成多个视频,加快多场景工作流。与其等待 5 个视频依次生成(耗时 15 分钟以上),不如并行生成所有视频(总计约 3 分钟)。
创建 scenes.json 文件:
[
{"prompt": "Scene 1: Cinematic hero shot of wireless earbuds on dark surface", "duration": 6, "output": "scene1_hero.mp4"},
{"prompt": "Scene 2: Sound waves visualization, person enjoying music", "duration": 8, "output": "scene2_sound.mp4"},
{"prompt": "Scene 3: Close-up of earbud in ear, person exercising", "duration": 8, "output": "scene3_comfort.mp4"},
{"prompt": "Scene 4: Lifestyle montage, various settings", "duration": 8, "output": "scene4_lifestyle.mp4"},
{"prompt": "Scene 5: Product with logo on clean background", "duration": 4, "output": "scene5_cta.mp4"}
]
并行生成所有场景:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-generation/scripts/veo.py \
--batch scenes.json
自定义工作线程数量:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-generation/scripts/veo.py \
--batch scenes.json \
--max-workers 3
每个视频的批量配置选项:
| 选项 | 描述 | 默认值 |
|---|---|---|
prompt | 视频描述(必填) | - |
model | veo-3.1、veo-3.1-fast 等 | veo-3.1 |
duration | 4、6 或 8 秒 | 8 |
aspect_ratio | "16:9" 或 "9:16" | "16:9" |
resolution | "720p" 或 "1080p" | "720p" |
image | 图像转视频所用图像的路径 | - |
negative_prompt | 需要避免的内容 | - |
output | 自定义输出文件名 | 自动生成 |
速度对比:
| 场景数 | 依次生成 | 并行生成(5 个工作线程) | 加速比 |
|---|---|---|---|
| 3 | ~9 分钟 | ~3 分钟 | 3 倍 |
| 5 | ~15 分钟 | ~3 分钟 | 5 倍 |
| 10 | ~30 分钟 | ~6 分钟 | 5 倍 |
第 5 步:交付结果
- 提供生成的视频文件/URL
- 分享所使用的优化后提示词
- 说明生成设置(时长、分辨率)
- 提出以下选项:
- 生成不同版本
- 尝试不同风格/时长
- 使用不同的 API
- 延长视频
错误处理
缺少 API 密钥:告知用户需要哪个密钥:
违反内容政策:适当地改写提示词。
生成失败:使用简化的提示词或其他 API 重试。
超出配额:建议等待或尝试另一个提供商。
提示词工程技巧
音频(Veo 3.1)
- 对话:用引号标明说话内容:
"Hello!" she said excitedly - 音效:明确描述:
tires screeching, engine roaring - 环境音:描述声音环境:
birds chirping, distant traffic - 示例:
A man whispers "Did you hear that?" as footsteps echo in the dark hallway
电影质感
- 添加摄像机运动指示:“slow dolly”“tracking shot”“crane shot”
- 指定光线:“golden hour”“dramatic shadows”“soft diffused light”
- 添加电影风格参考:“Blade Runner style”“Wes Anderson aesthetic”
逼真的运动效果
- 描述物理效果:“natural movement”“realistic physics”
- 添加环境细节:“wind in hair”“leaves rustling”
- 指定速度:“slow motion”“real-time”“time-lapse”
图像转视频
- 描述起始图像中需要改变或移动的内容
- 明确说明动作:“the cat slowly opens its eyes”
- 添加环境运动:“leaves blow past”
负面提示词
- 描述不应包含的内容:
--negative-prompt "cartoon, low quality, blurry" - 不要使用“no”或“don't”,只需描述不想要的元素
API 对比
| 特性 | Veo 3.1(默认) | Veo 3.1 Fast | Sora |
|---|---|---|---|
| 提供商 | OpenAI | ||
| API 密钥 | GOOGLE_API_KEY | GOOGLE_API_KEY | OPENAI_API_KEY |
| 最长时长 | 8 秒 | 8 秒 | 20 秒 |
| 分辨率 | 720p、1080p | 720p、1080p | 最高 1080p |
| 宽高比 | 16:9、9:16 | 16:9、9:16 | 16:9、9:16、1:1 |
| 音频(对话、音效) | ✅ 是 | ✅ 是 | ❌ 否 |
| 图像转视频 | ✅ 是 | ✅ 是 | ✅ 是 |
| 参考图像 | ✅ 最多 3 张 | ✅ 最多 3 张 | ❌ 否 |
| 视频扩展 | ✅ 是 | ✅ 是 | ❌ 否 |
| 批量生成 | ✅ 是 | ✅ 是 | ❌ 否 |
| 速度 | 质量最佳 | 快约 2 倍 | 较慢 |
| 最适用于 | 专业用途 | 批量工作流 | 较长视频 |