不出镜,用文案或录音把想法做成视频。Script- or voice-driven motion graphics with Codex and Remotion: real footage, captions, editable projects and 96 motion studies.
# Add to your Claude Code skills
git clone https://github.com/derek-zhuolin/motion-skillSee how motion-skill compares with popular alternatives.
motion-skill is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by derek-zhuolin. 不出镜,用文案或录音把想法做成视频。Script- or voice-driven motion graphics with Codex and Remotion: real footage, captions, editable projects and 96 motion studies. It has 76 GitHub stars.
motion-skill's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/derek-zhuolin/motion-skill" and add it to your Claude Code skills directory (see the Installation section above). motion-skill ships a SKILL.md manifest, so compatible agents can discover and load it automatically.
motion-skill is primarily written in TypeScript. It is open-source under derek-zhuolin on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh motion-skill against similar tools.
No comments yet. Be the first to share your thoughts!
Available after the catalog security scan passes.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
只在用户点名本Skill或明确要求复用本工作流时执行。先读取项目AGENTS、当前brief与最新要求。新run保留原件;不要擅自加速原声、发布、上传或调用付费模型。
先看到一个短结论 → 留时间读懂关系 → 本句讲完、动作落定 → 提前铺垫下一步。 铺垫可以早于下一句话,但下一步答案不能抢走当前阅读焦点。
优先级:语义清楚、可读性、人声韵律、动作接触、音乐。微动作可以快;新结论和证据必须有理解时间。不要靠把整条片子减速解决信息过载,也不要为了凑目标时长加速人声。
读 导演与可读性,由当前Agent理解原话,填写 assets/story.example.json 的同结构草稿,字段含义见 story契约。脚本负责时间计算,不负责理解人说了什么。
每个语义镜头写:短结论、语音起止/语义完成时间、信息关系、一个主焦点、可见标签、最后一批信息可读时间、证据、机位用途、入出对象与交接原因。允许一个画面承接多句话。先给结论,细节渐进揭示;标题优先居中、重点清楚,按品牌与画面再调整,不能每段都重置同一个“标题+中央物体”布局。
motion.py plan 计算阅读预算,保持原声1×。预算参数是可调整的初始假设,必须用实际观看校准;不是通用行业标准。主标题汉字逐字计,英文/数字逐词计,二者分开记录。阅读从 content_ready_at 开始,不从入场第一帧开始。若 NEEDS_SIMPLIFY,先减字、减少同时出现的信息、让一个视觉跨多句话;仍不够才按用户授权延长/改剪辑,不能悄悄把后段人声推迟。
从 动效目录 按信息关系选机制。96项是可浏览研究,非96种独立发明;每片只取实际有用的几项。共享对象必须在像素里可追踪:保留身份、位置/方向与动作因果。静态JSON校验只能查声明,不证明真实连续。机位读字时稳、交接时动;不无故转圈、闪白或反复重启ease。
voice 模式默认补底部同步字幕,不用主标题代替字幕。Agent核对文字与断句,把帧级cues写入story.captions,或以new --captions传入。默认缺字幕会被plan拦截;只有用户明确不要字幕才写captions.enabled=false。字幕不抢主视觉,实际复看深色画面、实拍和片尾。字段见入门。
用户要求混剪时,具体场景用有来源的实拍,抽象关系用动效。用户明确授权联网获取素材、但未提供实拍时,可由Codex使用可用搜索与下载工具,按口播场景自行寻找有明确使用许可的公开照片和短视频,不逐张索取确认;记录作者、原始页面和许可证。搜索/下载受限时报告缺口,不自动购买,不把示意图或生成画面标成实拍。真实素材获取与镜头编排由Agent按已授权能力完成,不把源码中的示意图当实拍;示范工程见examples/voice-to-video。下载来源与作者保留,原件不自动打包。
在本Skill目录调用,所有输出须新路径,脚本不覆盖原件,不发网络请求或模型请求:
python3 scripts/motion.py doctor --deps /absolute/compatible-node_modules
python3 scripts/motion.py catalog --relation cause --limit 6
python3 scripts/motion.py probe /absolute/voice-or-video --out /absolute/new-run/media-probe.json
python3 scripts/motion.py plan /absolute/story.json --out /absolute/compiled-plan.json
python3 scripts/motion.py new --dest /absolute/new-project --deps /absolute/compatible-node_modules --story /absolute/story.json --media /absolute/voice-or-video --transcript /absolute/verified-transcript.json
没有新素材时,new省略media、transcript、story会生成明确标注的静音结构示例。真实媒体缺转写时生成 needs_revision 状态,不能称已成片。工程内 npm run check && npm run build && npm run verify:frames,python3 serve.py --port 4341 仅本地预览。要看旧单项机制打开 studies.html;这是参考库,不代表新片已使用全部机制。
首次新题材优先用连续15–25秒验证声画关系,按完整句意选片段并保存源时间;用户指定整片时按其范围完成,不硬塞固定片长。
用户未指定画幅时,默认16:9横屏(示例成片1920×1080)。用户在提示词中明确要求9:16(如1080×1920)、3:4(如1080×1440)或其他宽:高时,以其要求为目标;Codex须相应调整Composition、Player、画布/坐标及标题、实拍、字幕、ending排版,并实际检查。不要只改尺寸数字或直接裁切横屏后声称已适配。
默认运行模板为横屏16:9,支持 collect/connect/compare/evidence/conclusion 五类二维语义结构、原声与固定真人窗;竖屏须按内容另排版。新的复杂机位要按本片内容编辑源码。人脸自动追踪、自动韵律/节拍识别、任意语义全自动导演并未内置。不要把替换JSON说成已解决一切导演问题。
用户要求导出时,在同一工程运行 npm run render;使用已有Chrome和依赖,H.264/AAC,音源与画面共用帧时钟。缺依赖先报告,不自行下载。读 验收 完成真实文件检查,不以构建成功代替成片验收。
Spec Kit用来固定constitution、spec、plan、tasks和检查记录。详细适配、已核验版本和官方链接见 Spec Kit适配。它不自带语义导演、机位或读懂检测。本包是独立领域适配,不是官方影视扩展。日常出片无需重跑完整软件开发工作流。
品牌默认使用研究示例蓝#0070DB、黑#141414、白和灰;可在story.brand配置。粘土只用于有叙事任务的对象,原Logo不变形;真实照片/数字有来源,未知不编。个人音视频、密钥、联系人不进入Skill安装包。公开reference另放demo,只有获得明确发布授权才纳入;来源与许可见ATTRIBUTION.md及LICENSE_SCOPE.md。
交付工程、媒体来源、语义镜头/阅读预算/声画落点、实际预览和检查;按请求导出MP4。分别报告完成、待接入和待素材;用户观感/听感未确认就保留pending。用户要求自动完成时,在已授权的本地范围推进,不每一步索取确认。
不主张96项技法原创;逐项参考见ATTRIBUTION。早期1–64项出处未完整留存,历史研究档案不新授MIT。不要把参考组件或上游作品说成本仓库发明。配色可按自己的品牌调整,见换色。
给有想法、想表达,但不想出镜的人:用文案或录音,让观点通过画面与动效被看见。
Motion Skill 是给 Codex / Agent 使用的 voice-to-video Skill 与可编辑 Remotion 工程,支持按文稿编排无口播动效,也支持将已有录音编排成视频。默认 16:9,当前为 Beta 内测版。
English overview · 快速开始 · 提示词 · 常见问题 · 内测反馈 / 参与贡献
上方是48秒循环动图预览(静音)。
视频发布页 · 仓库内的MP4原文件 · 可编辑reference工程
96 项动效机制研究 · 19 个分类 · 5 类语义结构 · 48 秒有声 reference
这是一套给 Codex / Agent 使用的 Skill 和 Remotion 工程。它组织原声、实拍素材、字幕与 Motion Graphics;由 Agent 理解内容并编排镜头,Python 负责时间与约束检查,Remotion 负责预览和导出。
本 reference 在 Codex + GPT-6.1 Sol 中完成(模型名称按作者提供的标注),本地 Whisper 负责转写,Remotion 负责画面渲染。作者参与了视觉方向、实拍补充、ending 与字幕的反馈。它是一个真实迭代案例,不是“一条 prompt 保证任意音频全自动成片”的能力承诺。
你可能有很多想法,也愿意分享自己的观察,却总卡在“要不要露脸、怎么拍、怎么剪”这一步。可以先拿手机把话说出来,再让 Codex 配合 Motion Skill 把声音组织成画面。
你负责内容、判断与最终确认,Agent 协助编排和实现。无需拍摄自己的脸;已有录音是最直接的起点。不出镜不等于匿名,声音及讲述内容仍可能识别身份;公开前请确认发布范围。
只看效果可以直接下载视频;制作自己的片子需要 Codex 或其他能读写工程、运行命令的 Agent,以及下方列出的本地环境。
录音不是必填项。已有 script 文稿模式可按文案、目标时长与阅读预算编排文字、图形、流程和片尾;没有音源时输出静音画面。example 是另一个模式,用于明确标注的结构演示,不代表完成了你的内容。
| 内容选择 | 当前工程的实际状态 |
|---|---|
| 只有文案,不录音 | 支持 script 模式,需 Agent 编排镜头与布局 |
| 录音+动效 | 支持 voice 模式,原声1×,默认要求同步字幕 |
| 动效音效(点击、滑动、落定等) | 可作为制作要求;当前无内置音效库、独立开关或自动配音效管线,需另行接入有权使用的音源与时间轴 |
| 背景音乐 | 可作为制作要求;需另行选曲、确认许可并混音,当前不自动添加 |
不录口播 ≠ 必须无声,录了口播 ≠ 不能加音效。 口播、动效音效、背景音乐是三个可分别选择的声音层。当前默认不自动添加音效或音乐;有需要请在提示词中明确,实际工程仍需实现与听检。
本次48秒reference只接入口播,实拍视频静音,没有额外添加音效或背景音乐。播放器的“原声开/关”只控制口播,不是音效选择器;首页GIF本身也不含声音。详见声音说明。

上图是机制的单帧示意;在本地打开 studies.html 可逐项播放 96 项研究。它们是二维/SVG/CSS 研究和近似效果,不是 96 项全新发明,也不是本片用了 96 个效果。
/motion-video 我不想出镜,但想分享这段录音里的观点。把这段音频做成“实拍素材混剪+MG 动效”:具体场景用实拍,抽象关系用动效。保留原声 1×,补上同步底部字幕。没有实拍素材时,请 Codex 按口播场景联网寻找并下载有明确使用许可的公开素材,保留作者与来源。片尾放大 [名称],配 [收尾文案],稳定停留至少三秒。完成后导出有声 MP4 和可编辑工程。
更完整的输入、素材与 ending 模板见 PROMPTS。尽量给出受众、唯一带走的结论、画幅和想要的片尾。没有仓库链接就不编造链接。
不写比例时,默认横屏16:9。 需要其他画幅时,在提示词中明确写出目标比例;也可以同时给出成片像素尺寸。
| 提示词中的要求 | 示例成片尺寸 | 排版方向 |
|---|---|---|
| 未指定比例,或“使用16:9横屏” | 1920×1080 | 横向展开 |
| “改成9:16竖屏” | 1080×1920 | 标题、画面与字幕上下重排 |
| “改成3:4竖版” | 1080×1440 | 收紧纵向留白,保留独立字幕区 |
可直接追加:
这条改成 9:16竖屏,1080×1920。请按竖屏重新排标题、实拍、动效、字幕和ending,保留原声1×。
或:
这条改成 3:4竖版,1080×1440,按这个比例重新组织构图与字幕安全区。
当前通用运行模板仍固定为16:9;9:16、3:4等是交给Codex的目标画幅要求,需要相应调整工程与布局后验证,不是只改比例数字就自动适配的现成开关。其他比例也请写清宽:高,必要时给出像素尺寸。详见画幅与版式。
可以在提示词里直接说:
我没有现成的实拍素材。请你根据口播里的具体场景,联网搜索并下载有明确使用许可的真实照片和短视频,优先使用可用的公开素材库。自行选取合适片段并静音,记录作者、原始页面和许可证,再接入工程。不需要我逐张挑选。
Codex需要有可用的联网搜索/下载能力;Skill本身没有内置素材搜索API。来源不清、付费或下载受限时,说明缺口,不把示意图或AI生成画面标成实拍,也不自动购买。本reference就采用了从公开来源获取的工作台照片和手机实拍视频,详见制作记录。
| 内容 | 核对后的数量 / 状态 |
|---|---|
| 机制研究 | 96 项,19 类,目录按 ID 对应源码 |
| 通用语义 renderer | 5 类:collect / connect / compare / evidence / conclusion |
| 导演与工程能力 | 12 项能力矩阵,逐项标明通用模板 / reference / 限制 |
| 本 reference | 7 段语义镜头、25 条字幕、1 张实拍照片、5.4 秒实拍视频 |
| 原声与输出 | 原声 48.064s、1×;1920×1080、30fps、H.264/AAC |
| 历史组合 | 目录保留历史组合记录;当前研究 UI 不开放它们,不计入可用模板数 |
准备 Node.js 22+、Python 3、FFmpeg 与已有 Chrome/Chromium。没有内置 ASR、模型、密钥或浏览器下载器。
npm ci --ignore-scripts
python3 scripts/prepare-reference.py --fetch-stock
npm run check
npm run build
npm run verify:frames
npm run preview
打开 http://127.0.0.1:4341/ 查看可编辑时间轴;/studies.html 浏览机制。--fetch-stock 会从已署名的 Unsplash / Pixabay 来源下载素材,并准备静音 B-roll。下载文件只留在本机,不进 Git。原始录音未分发;参考工程从已公开、已获发布授权的示范片提取配音副本。
导出:
npm run render
输出在 examples/voice-to-video/outputs/。如浏览器未找到,设置 REMOTION_BROWSER_EXECUTABLE 为本机 Chrome/Chromium 的路径。首次浏览器渲染仍受平台、字体和资源可用性影响。
将整个仓库放到你的 Agent 可读取的 Skill 目录,保持文件结构,显式调用 /motion-video 或 $motion-video。Codex 的常见安装位置是 ~/.codex/skills/motion-video;也可以从任何本地目录读取 SKILL.md。此步骤不修改 Agent 的全局配置。
python3 scripts/motion.py doctor --deps "$PWD/node_modules"
python3 scripts/motion.py new --dest /tmp/my-motion-film --deps "$PWD/node_modules"
第二条先生成明确标注的静音结构示例。真实口播需要已核对的 transcript、story 和字幕数据,再带 --media、--story、--transcript、可选 --captions 创建新工程。见 GETTING_STARTED。
欢迎改成自己的视觉语言:
examples/voice-to-video/src/theme.jsonstory.json → brand.blue / brand.ink / brand.paperassets/runtime/src/studies/palette.json仓库附蓝、紫、珊瑚三组起点;材质高光、灰阶和第三方实拍不会被一键自动重着色。配置示例、适用范围和对比度检查见 CUSTOMIZATION。
本案例还有两处轻量 ASR 文字修正,未隐藏为“机器逐字零误差”;见 reference 制作记录。
不主张所有技法原创。 已记录的参考包括 Oreo UI、Paper Shaders、Juan Mora Romero、Jérémie Nallet / Atelier UI、Noor Mtir / Paperlab、Codrops、Kimi 视频参考集、Camera Controls、Theatre.js。逐项对应见 ATTRIBUTION。
工具、模板编排层和 reference 工程中由本仓库贡献者持有版权的代码采用 MIT,历史研究档案、字体、依赖、实拍素材与示范片有明确排除范围,见 LICENSE_SCOPE。早期 1–64 项逐项出处记录不完整,因此不把研究档案重新授予 MIT,也不把相关技法说成本仓库发明。
欢迎按许可范围 Fork、改配色、优化字幕、改进机位、补来源记录和提交 PR。提交新效果时请附来源、使用范围和实际预览;计数按有独立 ID 的可运行机制记录,不用配色变化凑数。
内测遇到问题或想贡献配色、竖屏版式、来源记录,请先看 贡献与反馈指南。关于搜索可发现性、AI 引用信息及本轮检查范围,见 文档维护记录。