mcpField
V
vox

vox

github.com/melvynx创意与媒体64316 次安装1 周前更新
代码仓库

关于 vox

vox 是视频创作技能,可将一张照片和一个想法制作成 6–15 秒的纸拼贴动画。它面向需要可编辑分层场景的创作者,修改时只需更新相关图层或动作。

主要功能

  1. 01规划拼贴画面与动作时间线
  2. 02将提供的照片用作主体
  3. 03使用 Codex 创建独立图层
  4. 04在浏览器中预览动画
  5. 05将成片捕获为 MP4

适用场景

  1. 01将照片和想法做成短篇解说动画
  2. 02更换场景同时保留原有动作
  3. 03调整时长而不重做未变图层

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/melvynx/video-agent-skills --skill vox

安装后在 Claude Code 中输入/vox确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
references/
animation.md
look.md

详细介绍

Vox

输入一张照片和一个创意,输出一段 6 到 15 秒、具有 Vox 解说纪录片风格的纸艺拼贴动画。之后每次修改都只需再给出一条提示词:换一个人、一个地方、一个物件,动画风格保持不变。

用对方的语言与他们交流。<dir> = 他们项目中的 video-agent/vox/<slug>/(slug:用 2 到 4 个词概括创意,并采用 kebab-case)。

video-agent/vox/<slug>/
├── photo.jpg        their photo, untouched
├── layers/          every layer of the collage (PNG with alpha, plates in JPG/PNG)
├── raw/             Codex renders before the chroma cut, and the job logs
├── shots.json       the layers asked to Codex (name, kind, ar, subject)
├── animation.html   the animation: window.setT(t), opens in any browser and plays
├── capture.mjs      frames -> MP4
└── <slug>.mp4

1. 工具(一次性)

codex --version && codex login status
ffmpeg -version | head -1
node --version
  • 缺少 Codex:运行 npm i -g @openai/codex(Node 20+)或 brew install codex。尚未登录:让他们自行运行 codex login(“Sign in with ChatGPT”)。绝不要在聊天中索要密钥或密码。
  • 缺少 ffmpeg:macOS 运行 brew install ffmpeg,Linux 运行 sudo apt install ffmpeg,Windows 运行 winget install Gyan.FFmpeg。
  • 然后在 <dir> 中运行:npm init -y >/dev/null && npm i puppeteer@24(用于捕获画面的无头 Chrome,只需下载一次)。

2. 规划(先发一条消息,然后等他们确认)

根据照片和创意,先像设计杂志页面一样规划拼贴,再规划动画动作:

  • 主角:使用他们的照片,始终使用真实照片(绝不由 AI 重新绘制:面孔会变样)。抠出主体(步骤 3),再由页面中的代码将其处理成半色调印刷效果。
  • 背景底图:一张铺满 9:16 画面的纸艺场景,用来设定地点和时间(天空、城市、地图、书桌或一张泛黄的纸)。
  • 3 到 6 个剪贴图层:故事中的物件(纪念碑、报纸、钞票、汽车、建筑、云、鸟)。每个物件都是独立图层,可以单独移动。
  • 动画动作(6 到 15 秒):镜头全程缓慢推进;图层每隔 0.5 到 1.5 秒依次进入(滑入、从下方升起、从上方落下,或用撕纸转场);安排某些元素持续活动(云朵飘动、用两个剪贴图让鸟拍翅、纸片飘落);如果创意需要,可在撕纸条上放置一个标题(地点和年份、姓名)。所有动画都以 12 fps 的定格动画节奏播放。

用编号列表展示各图层(名称、背景底图或剪贴图、展示内容),并用 4 到 6 行展示节拍时间线。等待对方确认:每个图层都对应其规划中的一张 Codex 图片。

3. 他们的照片:抠出主体,绝不重新绘制

mkdir -p <dir>/layers <dir>/raw
cp "<their photo>" <dir>/photo.jpg
uvx --from "rembg[cpu,cli]" rembg i <dir>/photo.jpg <dir>/layers/hero.png

uvx 随 uv 一起提供(curl -LsSf https://astral.sh/uv/install.sh | sh,或 pip install uv)。首次运行时会下载模型(约一分钟)。检查 PNG:轮廓应干净,不能残留背景碎块。然后:

  • 抠图效果不佳或没有 uv:改用矩形照片印刷效果,这种方式也很有 Vox 风格:将 layers/hero.jpg 作为带白色边框和撕裂边缘的印刷品放置(参见 references/animation.md 中的“The photo as a print”)。
  • 没有本人照片的人物(如拿破仑、画作):使用公有领域的版画或画作(Wikimedia Commons),并用相同方式抠出主体。
  • 只使用已同意的人物照片或公有领域图片。如果他们发送了他人的照片,要提醒一次。

半色调效果、白色剪纸边框和阴影都由页面添加(参见 references/animation.md),因此真实照片始终保持原样。

4. 用 Codex 制作图层

编写 <dir>/shots.json,并使用 references/look.md 为每个提示词构建内容:主体描述、剪贴图层的绿幕句子,以及风格句子。提示词中绝不出现“Vox”一词,绝不包含徽标、文字标识或任何可读文字(报纸和纸片上只能使用不可读的字体纹理)。

按照 references/look.md 中的命令运行任务,每次在后台运行 3 个,并始终以 < /dev/null 结尾。每个任务需要 1 到 3 分钟。然后对每个剪贴图层执行色度抠图:

ffmpeg -v error -y -i <dir>/raw/<name>.png -vf "colorkey=0x00FF00:0.30:0.10,despill=type=green:mix=0.6:expand=0,format=rgba" <dir>/layers/<name>.png

逐一目视检查每个图层:将其放在红色背景上,查看是否有绿色边缘(ffmpeg -v error -y -f lavfi -i color=red:s=1024x1536 -i <layer> -filter_complex "[1:v]scale=1024:-1[a];[0:v][a]overlay=0:0" -frames:v 1 <dir>/raw/check-<name>.png),并确认其中没有文字或字母。效果不佳时,修改主体描述,然后重新运行该图层。

5. 动画页面

根据 references/animation.md 中的模板编写 <dir>/animation.html(完整页面已在其中并经过测试),并根据计划进行调整:图层、尺寸和位置,以及 setT 中的时间线。让它看起来像 Vox 纪录片的规则也在同一文件中。确保 setT(t) 是纯函数:捕获过程会逐帧调用它。

在浏览器中打开页面进行预览(页面会自动播放):open <dir>/animation.html(macOS)、xdg-open(Linux)、start(Windows)。在捕获之前修复看起来不对的地方。

6. MP4

根据 references/animation.md 编写 <dir>/capture.mjs,然后:

cd <dir> && node capture.mjs animation.html <slug>.mp4

每秒视频约需 4 秒处理时间。展示之前先查看 3 帧(开头、中间、结尾):ffmpeg -v error -y -ss <t> -i <slug>.mp4 -frames:v 1 -vf scale=540:-1 raw/frame-<t>.jpg。交付 MP4 文件路径。音乐或旁白可在他们的编辑器中添加,也可使用 /short-editing。

7. 用另一个提示词修改

使用相同的 <dir> 和页面,只修改需要改变的内容:

  • 换另一个人(“用拿破仑来做”):换一个新的主角(步骤 3),图层和时间线保持不变:页面会替换 layers/hero.png,然后重新捕获。
  • 换另一个物体或地点:新增一个 Codex 图层(步骤 4),放入页面,其余保持不变。
  • 换另一个动作或时长:只改 setT。如需其他格式,请参阅 references/animation.md 中的“Formats”。

不要重新生成未发生变化的图层。

坦诚说明局限

  • Codex 的图像工具会自行决定细节:图层上可能带有文字,也可能出现绿色边缘。务必检查。
  • 从复杂照片中抠图可能会漏掉头发或手指:印刷版是稳妥的备用方案。
  • 每个图层都会计入其 ChatGPT 计划的 Codex 使用限额。
  • 视觉风格借鉴 Vox 纪录片:画面中绝不能出现其名称、徽标或文字标识。

评论

支持 Markdown