Stickman Shorts
使用 Remotion 和 SVG React 组件制作的平面 2D 动画视频,支持任意宽高比。
- 内置格式: 竖屏(1080×1920,30 fps)火柴人“你来决定”故事短片。每部分约 75–90 秒, 以第二人称(“你…”)叙述,结尾提供一个 A/B 选择供观众投票;下一部分以 “大多数人选择了…”开头,并跟随获胜路径。
- 其他格式: 给一个示例视频,它就会重建该格式(布局、节奏、字幕、音效)
并用原创内容填充。请参见
references/CLONE-ANY-VIDEO.md和references/FORMATS.md。
0. 找到或设置引擎
引擎是来自 https://github.com/SyedBahjat/claude-stickman-shorts 的 Remotion 项目。
- 如果工作目录包含
src/kit/Stick.tsx,则您已在引擎中。直接使用。 - 否则询问在哪里创建项目,然后执行:
git clone https://github.com/SyedBahjat/claude-stickman-shorts <文件夹> && cd <文件夹> && npm install - 需要 Node 18+、PATH 中的 ffmpeg、Python 3 并执行
pip install -r requirements.txt(numpy, scipy)用于音效和 参考分析器,以及一个 TTS(参见references/AUDIO.md;VoiceStudio 免费且本地运行)。 - 冒烟测试:
npx remotion still src/index.ts FreshCo-P2B out/test.png --frame=300,然后查看生成的 PNG。
1. 选择任务
| 用户想要… | 执行操作 |
|---|---|
| 根据想法创建新系列 | 提出 3 个梗概 → 在 stories/<story>/script.md 中编写整个分支季节(参见 references/STORY.md)→ 构建第 1 部分 |
| 下一部分(“人们选择了 B”) | 阅读 stories/<story>/script.md + continuity.md,为该路径构建第 N 部分,以 MostOfYouSaid 开头 |
| 复制示例视频(任意类型) | references/CLONE-ANY-VIDEO.md:分析它,分类它,匹配其外观和音效,编写原创内容 |
| 制作其他类型的视频(解说、Top-5、测验、聊天故事、横屏…) | references/FORMATS.md → 从 src/templates/Starter.tsx 开始(--props='{"format":"horizontal"}') |
| 更改声音/音效 | references/AUDIO.md |
2. 构建(详细信息见 references/WORKFLOW.md)
- 镜头表 + 台词 TSV → 用户批准脚本和 A/B 选项。
- 语音:
node scripts/voiceover.mjs <名称> "<台词>" --voice <ID> --trim --loud -16(或--from <wav>)。 转录每一句台词以检查文字。 - 复制
src/stories/中最近似的一集(从src/stories/freshco/FreshCoP2B.tsx开始),替换 时间线(LEN、SHOTS、CAPS、SFX),在src/Root.tsx中注册,执行npm run typecheck。 - 在每一个关键节拍处渲染静帧,并渲染每个运动镜头的帧条。在渲染之前查看它们。
npx remotion render src/index.ts <Id> out/raw.mp4 --concurrency=6,然后使用 loudnorm 标准化到 −17 LUFS。- 交付 MP4 以及标题、描述(包含 A/B 问题和“评论 A 或 B”)和标签, 用于 YouTube Shorts / TikTok / Reels。
3. 最重要的规则(针对本工作室风格;克隆格式则遵循参考)
- 外观: 严格遵循
references/STYLE.md:柔和的暗色调、墨水轮廓、点状眼睛、无嘴巴, 身份 = 身体颜色 + 一个配饰,观众角色YOU始终佩戴红色臂章。 - 故事: 第二人称、短句、编号规则、一次保留的揭秘、一个真正困难的 A/B 选择。
- 动作: 由距离驱动的平静直立行走(无脚部滑动),手通过
reach目标触及物体(目标会滑入), 道具使用holdF/holdB,硬切搭配缓慢推近。 - 语音: 绝不拉伸或压缩静音段(听起来会破碎),绝不使用“广播”效果, 角色声音必须明显区别于旁白。
- 混音: 语音 −16 LUFS,背景音使用
makeDuck闪避,最终 −17 LUFS。所有音效/音乐在scripts/audio/中合成,因此不会被版权索赔。 - 报告前: 查看静帧和帧条;绝不在用户机器上自动播放音频。
- 不要将“点赞和订阅”请求嵌入视频;将它们放在描述中。
参考资料
references/STYLE.md:调色板、角色、场景、HUD、字幕、卡片、镜头references/STORY.md:部分结构、写作规则、镜头表、分支references/AUDIO.md:TTS 选项、人声语音、音效列表、混音电平references/WORKFLOW.md:代码布局、角色绑定 API、运动规则、渲染 + 最终检查清单references/CLONE-ANY-VIDEO.md:重建任意示例视频的格式references/FORMATS.md:12 种常见视频格式的节拍结构和构建说明