Communitygithub.com

mohammadshoaib-786786/video-editor

制作一个 "Pixel Crew" 风格的竖屏解说短视频(Instagram Reels / TikTok / Shorts,9:16),包含像素机器人 AI 员工、粗体偏移阴影卡片、字幕同步、配音、芯片音乐背景和音效,并本地渲染为 MP4。

video-editor 是什么?

该技能专为生成竖屏短视频(如 Instagram Reels、TikTok、Shorts)而设计,采用独特的 "Pixel Crew" 像素风格——机器人 AI 员工、粗体偏移阴影卡片、与单词同步的实时字幕、配音、芯片音乐背景及音效。核心流程包括:1) 编写脚本(hook + 多个相同节拍 + 收尾 + 关键词 CTA),每部分约 3-5 秒,总时长 30-45 秒;2) 使用 Node.js 脚本创建项目脚手架并生成配音时序;3) 在 HTML/CSS/JS 中构建场景动画,通过 `R.pop`、`R.type` 等函数驱动名词动画;4) 通过 `build.mjs` 本地渲染 MP4 视频。该技能支持语音替换(如 `am_michael`)、自定义音乐(`music-override.wav`)以及自动化的卡通主持人头像。使用前需在 `CLAUDE.md` 中查看项目地图和规则,确保遵循像素风格约束,并参考示例项目 `projects/ai-delivery-team` 的 `docs/REFERENCE-BREAKDOWN.md`。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mohammadshoaib-786786/video-editor/tree/HEAD/.claude/skills/pixel-crew-reel

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Pixel Crew 短片

要模仿的示例是 projects/ai-delivery-team 项目(请阅读 docs/REFERENCE-BREAKDOWN.md 了解其成功的原因)。阅读 CLAUDE.md 获取项目地图及我们曾踩过的坑。

1 · 先写脚本(script.json)

适用的结构:吸引钩子(≤5 秒)→ N 个相同节拍(每个约 3.5 秒)→ 收尾 → 关键词行动号召。

  • 钩子:一个令人惊讶的数字 + 一帧展示整个系统(例如:“7 名员工,没有一个是人类”)。
  • 每个节拍:“角色做 a、b 和 c。” —— 三个可以动画化的具体名词。
  • 收尾:人类唯一的工作(批准、决定、审核)。
  • 行动号召:“评论 KEYWORD,我会给你发送……”(keyword 位于 brand.keyword)。
  • 将 lines 写成 2-4 个单词的标题短语;每一行对应一个字幕。
  • 目标总时长为 30-45 秒;配音速度 1.3-1.4 可使 Kokoro 接近每秒 3.5 个单词。
  • 如果不确定用户品牌、审批人名称或关键词,请直接询问用户;否则保留 @yourhandle 占位符并说明。

2 · 搭建脚手架

node scripts/new.mjs reel <项目名称>
python3 scripts/voice.py projects/<项目名称>          # 先确定时间,然后根据时间进行设计

3 · 场景(index.html + style.css + scenes.js)

  • 每个脚本场景对应一个 <section class="scene">,顺序一致(R.cuts() 将它们映射到 TIMING.scenes)。
  • 每个员工场景:.head 包含 .step[data-step][data-label] + .title(尺寸需确保在 ≤ 980 px 内显示完整),然后是一个或两个表现其工作的 .card。
  • 为每个场景设置独特的强调色(--accent: var(--rN))并交替背景(is-paper、is-peri、is-lav、is-cobalt)。
  • 对每个配音名词进行动画处理:R.pop(el, R.word(scene, line, "noun"))、R.tick、R.type、R.grow、R.slam(用于印章)。
  • 使用 data-icon、data-bot、data-burst、data-face、data-presenter 占位符;Sprites.hydrate() 会自动填充它们。
  • 以 R.captions(...) 和 R.register() 结尾;保留内联的 window.__timelines["main"] 行。

4 · 检查,然后渲染

node scripts/build.mjs projects/<项目名称> --no-voice --no-render --snap <每场景一张快照>
# 查看 projects/<项目名称>/build/snaps/contact-sheet*.jpg,修复问题,重复
node scripts/hf.mjs lint projects/<项目名称>
node scripts/build.mjs projects/<项目名称> --no-voice      # → renders/<项目名称>.mp4

验证 MP4 自身:ffmpeg -i renders/<项目名称>.mp4 -vf fps=1,scale=180:-1,tile=8x5 sheet.jpg 以及 -af ebur128(目标 ≈ −14 LUFS)。检查:首帧是否为空白、文本是否触碰边缘、元素是否在 Instagram UI 下方、字幕是否不同步。

可选替换

  • 语音:script.json 中的 voice.voice 字段(am_michael、am_puck、am_fenrir、af_heart、bf_emma 等),或录制你自己的音频到 build/voice.wav 并使用 voice.py --from-wav。
  • 音乐:将音轨放入 build/music-override.wav。
  • 主持人:所有者的卡通形象(kit/brand.js、kit/avatars/)会被 [data-presenter] 和 [data-face] 自动使用;通过宽度(.is-img)控制图像尺寸,显示上半身。除非用户要求,否则不要绘制其他角色。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相关技能