首页龙虾技能列表 › Video Production — 视频制作全流程

Video Production — 视频制作全流程

v1.0.0

一键完成视频制作流程:从分镜(storyboard)到 Veo 3 大批量视频生成、浏览器预览、反馈循环,再到 ffmpeg 最终视频组装。适用于多场景视频制作、A/B 测试、预览编辑和最终剪辑组装。

1· 601·11 当前·11 累计
by @omerflo·MIT-0
下载技能包
License
MIT-0
最后更新
2026/4/12
安全扫描
VirusTotal
可疑
查看报告
OpenClaw
可疑
medium confidence
该技能基本如描述,但包元数据未列出必需 API 密钥。使用前应检查脚本和通知代码,确保不向外部端点发布 API 密钥或项目文件。
评估建议
["安装前检查:不信任 '无环境变量' 声称,确保提供的 API 密钥(GOOGLE_API_KEY 和 OPENAI_API_KEY)安全。","检查脚本和通知代码,避免泄露。","在隔离环境运行,review 网络流量。","预期脚本会创建/覆盖项目目录文件,提前备份。","验证 ffmpeg 安装来源和命令。","若授予自主代理,谨慎其网络 API 调用和文件生成/覆盖能力。"]...
详细分析 ▾
用途与能力
代码与描述匹配:脚本调用 Veo(Google GenAI)和 DALL·E,构建预览、接受反馈、并使用 ffmpeg 组装。该能力集与 '视频制作' 技能一致。
指令范围
运行指令和脚本操作预期文件,并对 Google GenAI 和 OpenAI 图像端点进行网络调用。
安装机制
注册表中无安装规格;SKILL.md 推荐创建 Python 虚拟环境并 pip 安装所需包。
凭证需求
该技能需要 API 密钥(GOOGLE_API_KEY 用于 Veo/GenAI,OPENAI_API_KEY 用于 DALL·E)。
持久化与权限
该技能在其项目目录内写入/读取文件,不请求 always:true 或系统范围的自动安装。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/2/25

初始发布:Veo 3 AI 视频管道 — 大批量生成、浏览器预览、A/B 测试和 ffmpeg 最终剪辑组装。

● 可疑

安装命令 点击复制

官方npx clawhub@latest install video-production
镜像加速npx clawhub@latest install video-production --registry https://cn.clawhub-mirror.com

技能文档

使用 Veo 3 生成电影级视频片段,在浏览器预览中审查,通过反馈进行迭代,并组装最终的 A/B 测试视频 — 所有操作都以最小的 token 消耗完成。

快速开始

cd ~/.openclaw/workspace/skills/video-production

# 1. 从故事板生成所有片段 .venv/bin/python3 scripts/batch_generate.py --storyboard /path/to/storyboard.json

# 2. 打开浏览器预览 .venv/bin/python3 scripts/generate_preview.py --storyboard /path/to/storyboard.json

# 3. (反馈后) 仅重新生成修订场景 .venv/bin/python3 scripts/apply_feedback.py --storyboard storyboard.json --feedback feedback.json

# 4. 组装最终视频 .venv/bin/python3 scripts/ffmpeg_assembler.py --storyboard storyboard.json

A/B 视频架构

目标:15秒视频,3个片段 × 每个5秒

[HOOK: 5s] → [CORE: 5s] → [CTA/PAYOFF: 5s]
     ↑                           ↑
 swap for A/B               swap for A/B

经济性:

  • 5个 Veo 提示 → 4个独特的 A/B 视频(2个钩子 × 1个核心 × 2个 CTA)
  • 7个提示 → 9个视频 | 9个提示 → 16+个视频
  • 在 5秒和 10秒处过渡 — 便于分析

流程概述

storyboard.json
      ↓
batch_generate.py     → clips/scene_01.mp4 ... scene_05.mp4
      ↓
generate_preview.py   → preview.html (在浏览器中打开,零 token)
      ↓
[审查 + 将反馈 JSON 粘贴到 Muffin]
      ↓
[Muffin 建议修订提示,更新 storyboard.json]
      ↓
apply_feedback.py     → 仅重新生成 'revise' 场景
      ↓
ffmpeg_assembler.py   → final_AA.mp4, final_BA.mp4, final_AB.mp4, final_BB.mp4

Token 成本: 仅在编写故事板 + 解释反馈时产生。预览、生成和组装都是零 token。

故事板格式

{
  "project": "my-video",
  "output_dir": "clips",
  "final_output": "final.mp4",
  "scenes": [
    {
      "id": "scene_01",
      "role": "hook_a",
      "label": "Hook A",
      "order": 1,
      "duration": 5,
      "aspect_ratio": "16:9",
      "prompt": "..."
    }
  ],
  "_ab_combinations": {
    "video_1_AA": ["scene_01", "scene_03", "scene_04"],
    "video_2_BA": ["scene_02", "scene_03", "scene_04"],
    "video_3_AB": ["scene_01", "scene_03", "scene_05"],
    "video_4_BB": ["scene_02", "scene_03", "scene_05"]
  }
}

完整模板见 scripts/storyboard_template.json

反馈格式

审查 preview.html 后将此 JSON 粘贴到 Muffin:

{
  "scenes": [
    { "id": "scene_01", "action": "approve", "notes": "" },
    { "id": "scene_02", "action": "revise", "notes": "slower camera, warmer light" }
  ]
}

Veo 3 API — 当前限制(Gemini API,2026-02-23 验证)

参数支持
aspect_ratio
number_of_videos
negative_prompt
duration_seconds❌ 损坏(即使值有效也抛出 400)
fps❌ 仅 Vertex AI
compression_quality❌ 仅 Vertex AI
enhance_prompt❌ 仅 Vertex AI
模型: veo-3.1-generate-preview(最佳)| veo-3.1-fast-generate-preview | veo-3.0-generate-001

SDK: google-genai(不是 google-generativeai

提示词技巧

每句话都要有动作 — Veo 从静态提示词产生的输出会卡顿。每句话都应描述相机或主体的运动。

角色连续性 — Veo 无法在片段之间保持完全相同的角色。在包含同一角色的每个场景中显式描述物理细节。

✅ "与开场相同的客户角色 — 深色夹克,专业气质,30-40岁"

剪辑连续性 — 为实现无缝剪辑,每个提示词都应以前一个片段结束时的颜色/光线状态开头。

✅ "温暖的琥珀色光线,与后期制作室的直接视觉延续..."

单一连续镜头 — 每个提示词都是一个连续的片段。设计为一个揭示多个元素的相机移动 — 而不是蒙太奇描述。

内容政策 — 环境/道具场景生成可靠。打电话的紧张人物可能会无声返回无视频。让人物保持冷静或改为描述环境。

配额管理

达到每日限制(429 RESOURCE_EXHAUSTED)时,使用配额监视器:

# 设置每 30 分钟重试一次的 cron,完成时发送短信给 Master
chmod +x scripts/quota_watcher.sh

# 添加到 crontab: (crontab -l 2>/dev/null | grep -v quota_watcher; \ echo "/30 * /path/to/quota_watcher.sh >> /tmp/quota_watcher.log 2>&1") | crontab -

通用模式见 api-quota-watcher 技能。

脚本

脚本用途
scripts/batch_generate.py从故事板生成所有场景,跳过已存在的
scripts/generate_preview.py构建带有视频播放器 + 反馈表单的 preview.html
scripts/apply_feedback.py仅重新生成标记为 'revise' 的场景
scripts/ffmpeg_assembler.py将批准的片段拼接 → 最终 MP4(剪切或交叉淡入淡出)
scripts/quota_watcher.sh重试 + 通知 cron 以恢复配额
scripts/storyboard_template.json故事板模板起点

环境设置

cd ~/.openclaw/workspace/skills/video-production
uv venv .venv
uv pip install google-genai Pillow requests

# API 密钥必须在 ~/.zshenv 中: export GOOGLE_API_KEY="AIza..."

组装 A/B 组合

所有场景批准后,为每个组合运行组装器:

# 组装所有 4 个 A/B 视频
for combo in AA BA AB BB; do
  # 编辑故事板或直接传递场景列表
  .venv/bin/python3 scripts/ffmpeg_assembler.py \
    --storyboard storyboard.json \
    --output "final_${combo}.mp4"
done

或者在 storyboard.json 的 _ab_combinations 中硬编码 — 组装器会自动读取。

格式适配

格式注意事项
16:9(主格式)默认 — 所有脚本使用此格式
9:16(竖屏)在故事板中将 aspect_ratio 更改为 "9:16"
1:1(方形)aspect_ratio 更改为 "1:1"
为获得最佳效果,为每种格式生成单独的故事板。不要在后期将 16:9 裁剪为 9:16 — 使用正确的宽高比重新生成。

Veo 3 擅长的方面

  • 氛围/情绪镜头
  • 流畅的相机运动(推进、升降、跟踪)
  • 单个片段内的灯光过渡
  • 办公室/工作室/城市环境
  • 抽象美感(自然、空间、产品)

Veo 3 不擅长的方面

  • 屏幕上的精确文字(通过 After Effects/Resolve 在后期添加)
  • 在片段之间保持角色一致性
  • 单个生成中非常快速的蒙太奇
  • 复杂的多人场景
  • 特定的道具/品牌细节

角色注册表与学习系统

全新默认值

每个新活动从头开始。 没有继承的角色,没有假设的演员阵容,没有来自先前运行的提示词权重。如果您想从过去的活动保持连续性,请明确说明:
"使用 MMM 活动中的 HERO_01"

角色 ID(默认引导)

如果未定义演员阵容,使用这些占位符:
  • HERO_01 — 主要 UGC 创建者
  • FRIEND_01 — 经常性配角
  • HAND_MODEL_01 — 仅手部产品展示者

第一个批准的输出成为该活动的规范身份基准。

角色圣经(每活动)

定义角色后,在项目文件夹中维护 character_registry.json
{
  "HERO_01": {
    "identity": {
      "age_range": "28-35",
      "gender": "male",
      "skin_tone": "...",
      "hair": "...",
      "build": "..."
    },
    "wardrobe": {
      "preferred": [],
      "avoid": [],
      "signature": ""
    },
    "camera_rules": {
      "preferred_framing": "medium close-up",
      "avoid": []
    },
    "negative_constraints": [],
    "reference_frames": [],
    "phrase_weights": {}
  }
}

CAST 块注入

定义角色后,每个提示词必须包含:
CAST:
  • HERO: HERO_01 (identity locked; must match reference frames exactly)
Do not alter identity traits across frames or across future assets.

验证阈值

生成后,针对参考帧运行视觉模型一致性检查:
  • >= 85 → 自动通过
  • 75–84 → 升级到 Master(Telegram),不自动重新生成
  • <= 74 → 自动失败,应用稳定补丁,重试一次 → 如果仍然失败则升级

学习循环

每次人工审查决策后,更新:
  • 批准 → 增加产生良好一致性的短语权重;将最佳帧添加到批准的参考集
  • 拒绝 → 识别漂移属性;降低或禁止导致漂移的短语;添加负面约束
  • 边界 → 对该引擎+角色+场景组合应用稳定补丁

生成日志

每次尝试追加到 generation_log.jsonl(永不删除):
{
  "timestamp": "...",
  "campaign": "...",
  "scene_id": "...",
  "engine": "veo-3.1-generate-preview",
  "attempt": 1,
  "characters": ["HERO_01"],
  "prompt": "...",
  "output": "clips/scene_01.mp4",
  "verification_score": 88,
  "drift_notes": "",
  "decision": "auto_pass",
  "human_outcome": "approved",
  "worked_phrases": [],
  "failed_phrases": []
}

升级策略 — 猜测前先询问

通过 Telegram 升级到 Master(从不静默循环)当:
  • 验证分数处于边界(75–84)
  • 角色首次在新引擎上
  • 场景类型对于该角色+引擎组合是新的
  • 相同提示词连续失败 2+ 次

升级消息必须包含:场景 ID、引擎、分数、漂移注释和 2-3 个选项。

存档(跨活动持久)

尽管每个活动都从头开始,但这些在技能文件夹中持久存在:
  • generation_log.jsonl — 完整审计跟踪
  • approved_references/ — 按活动分类的规范帧,可应请求加载
  • campaign_phrase_weights/ — 每活动权重存档,可加载以保持连续性
数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制

免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制

了解定制服务