animonkey 是做什么的?
作者:Dustkey LLC
一套制作产品动态图形的工作室方法,让视频拥有最优秀初创公司作品的感觉:契合音乐的故事、独立成篇的标题、以变换替代剪辑的过渡、通过角色演绎产品解决的问题,以及真实的用户界面置于中心。它包含一个可编译的 Remotion 模板(template/)、用于音乐、配音、混音、质量控制和交付的脚本(scripts/),以及带有具体数据的参考文档(references/)。
工艺重复;外观不重复。 每一部影片都拥有自己独立的视觉线——调色板、字体、角色质感、光照、摄影机、动态性格、音乐——均根据客户品牌定义。本技能为你提供制作此类高质量视频的参数,而非重复某一部。切勿复制另一部影片的视觉线、音乐、文案或分镜。
开始之前
- 阅读
references/template.md(模板的构建方式及其 API),在编写 Remotion 代码前,请阅读已安装版本的文档(@remotion/media、@remotion/three和ConfigAPI 在不同版本间有变化)。 - 工具:Node ≥ 20、ffmpeg/ffprobe、
uv(Python 3.12)用于脚本;对于配音,需包含mlx-audio、faster-whisper、mlx-whisper、speechbrain和librosa的环境(Apple Silicon)。 - 磁盘:需 ≥ 5 GB 空闲空间用于渲染(
df -h /)。未经询问,切勿删除用户文件以释放空间。 - 新项目以复制方式启动:
cp -R <skill>/template <project>/video && cd <project>/video && npm install。
工作流程
每一步都必须产出可观看的成果。关卡(G0–G3)基于实际画面、联系表或视频进行审批,绝不能仅凭描述。
0 · 简报
收集(并一次性询问缺失的部分):产品当前能做什么以及不能做什么;目标用户;视频投放位置(落地页、应用商店、广告、活动);时长;格式(16:9、9:16、4:5);语言;是否配音及配音模式;音乐(需有商业授权);品牌(Logo、颜色、字体、语调);真实用户界面(截图、代码中的设计 token、图标)以及客户喜欢的参考。在计划中写下产品的真实情况:影片中的任何内容不得承诺应用不提供的功能。
1 · 视觉线 → G0
使用 references/art-direction.md 定义视觉线的十个维度,并与已使用的视觉线注册表(used-lines.md,私密;若不存在,则从 used-lines.example.md 创建)进行对比。将其写入 kit/palette.ts、style.ts、brand.ts(若字体变化,还需写入 scripts/font-metrics.py)和 project/cast.ts。使用 scripts/still.sh 渲染三帧视觉线画面(包含角色的问题场景、用户界面、结尾),并获取审批。
2 · 故事与标题
使用 references/storytelling.md:填充各个槽位(价值诞生之处、角色阵容、每个角色掉落的原始素材、损失、转折、旅行的品牌片段、一键操作、三角关系、证据、异议、标语)。将幕布布局于歌曲的波形之上,并按照 references/kinetic-typography.md 将标题规范写入 project/titles.ts。关闭声音通读一遍:标题必须能独立讲述整部影片。运行 npm run check,直到两种语言均通过。
3 · 音乐与网格
使用 references/audio-and-voice.md:为视觉线选择音轨,进行映射(scripts/mapear-musica.py),按小节切割(scripts/cortar-por-compases.py),并将 bpm 和 v0 放入 project/timeline.ts 中的 makeGrid。从此以后,每个事件都使用 bar()/beat() 编写。
4 · 动画草稿 → G1
真实标题动画,物体以剪影形式放在其位置上,以及地面布局,配合音乐(和临时配音)。审批的是时间节奏。此处通过的内容即为最终交付。
5 · 分块制作 → G2
从最高风险到最低风险(手持证据和设定与回报首先),每个块位于 project/blocks/ 和 registry.tsx 中:
- 角色、姿势、光照和3D摄影机:
references/characters-3d.md; - 与3D结合的产品UI(DOM中)、点击动作和可读的推近:
references/product-ui.md; - 曲线、摄影机配方、变换过渡、物理地面和交接:
references/motion-and-grounds.md。 通过联系表和100%裁切(references/production-and-qa.md)审查每个块。
6 · 集成、检查与母版 → G3
运行 npm run check,渲染(scripts/render.sh),对MP4执行 scripts/film-qa.py 和 scripts/hoja-contacto.py;配音(scripts/voz/)和混音(scripts/mezclar.py)经过测量。以不了解产品的人的身份观看静音母版。
7 · 变体与交付
语言、通过窗口的竖版、多种开头的6–15秒广告片段、无配音母版:
references/marketing-and-formats.md。使用 scripts/entregar.py 交付(名称永不覆盖、封面、联系表、清单)。
8 · 登记
将影片的视觉线添加至 used-lines.md,并将其签名添加至下一项目的 USED_LINES。用客户自己的话记录他们的决策:它们是下一部影片的品味参考(references/taste.md)。
不可妥协的规则
- 音乐主导一切。 所有内容均在网格帧内;事件位于节拍±2帧之内;移动配音,绝不移动网格。
- 一个标题 = 一行2–5个词居中,使用真实字体(非DOM)测量,仅有一个重音;若放不下,缩短文字而非字号。
- 没有任何内容通过透明度出现或通过交叉淡变变化:摄影机、物体或变换承载一切。
- 问题由角色演绎;他们在问题中掉落的东西在产品的结果中回归。
- UI是真实产品的,在DOM中重绘,并在阅读时清晰可辨(≥ 3.4 px/pt)。
- 品牌元素贯穿故事并回归Logo;结尾定格并显示域名。
- 竖版无需重做:通过窗口展示同一部影片;文字保持不变;在放不下的地方加宽窗口。
- 每个项目拥有独立的视觉线;工作室的两部影片外观不同(
art-direction.md中内置反相似性)。 - 检查必须能够失败,绿色的渲染结果证明不了什么:查看联系表和100%画面。
- 屏幕上不出现真实客户数据或虚构功能。
何时阅读什么
| 你需要…… | 阅读 |
|---|---|
| 开始、理解模板、命令 | references/template.md |
| 定义项目的视觉风格(调色板、字体、质感、光照、音乐) | references/art-direction.md |
| 结构、幕布、角色演绎流程、文案和配音 | references/storytelling.md |
| 标题规范、入场和出场、测量、其他字体或语言 | references/kinetic-typography.md |
| 曲线、摄影机、过渡、地面、节奏、运动指标 | references/motion-and-grounds.md |
| 设计角色阵容、姿势、IK、3D布景、手部、阴影 | references/characters-3d.md |
| 重建产品UI并动画化,与3D结合 | references/product-ui.md |
| 选择和切割音乐、AI配音、混音 | references/audio-and-voice.md |
| 广告片段、竖版、语言、交付物 | references/marketing-and-formats.md |
| 关卡、可测量规则、渲染、工具、操作 | references/production-and-qa.md |
| 在两个都可行的选项之间做决定 | references/taste.md |
脚本
| 脚本 | 用途 |
|---|---|
template/scripts/check.sh | 无需渲染即可检查(标题、同步、地面、对比度、剪辑、重复视觉线),支持两种语言 |
template/scripts/still.sh | 渲染单帧供审查和关卡使用 |
template/scripts/render.sh | 母版和变体:按块导出无声部分,带磁盘检查,并通过 ffmpeg 混合音频 |
template/scripts/proyecto-json.sh | 将时间线导出为 JSON,供 Python 脚本使用 |
template/scripts/font-metrics.py | 生成另一字体(静态或可变)的测量表 |
scripts/mapear-musica.py | 解析音轨的节拍、第一强拍、网格和段落 |
scripts/cortar-por-compases.py | 按网格段切割音乐,不产生爆音 |
scripts/mezclar.py | 音乐+配音混音,带闪避、低频保护及测量报告 |
scripts/voz/ | 从标题生成配音:设计→克隆→挑选→放置 |
scripts/film-qa.py | 对MP4进行剪辑、运动、地面和颜色检查 |
scripts/hoja-contacto.py | 生成联系表(PDF或PNG) |
scripts/comparar-videos.py | 对比两个渲染结果,带容差 |
scripts/entregar.py | 交付,包含封面、联系表和清单,永不覆盖 |
私密案例
如果存在 private-cases/ 文件夹(该文件夹永不公开),其中包含对真实工作室制作的完整分析:阅读它可理解方法为何如此设计,但绝不能复制其视觉线、音乐、文案或故事。