☰
onetake 完全指南:用一镜到底动效技能,5 步做出不再像 PPT 的产品发布视频
2026/10/1 15:27:50 网站建设 项目流程

onetake 完全指南:用一镜到底动效技能,5 步做出不再像 PPT 的产品发布视频

【免费下载链接】onetakeMotion films that never cut to the next slide: every beat grows out of the one before, one continuous camera, continuity measured by an oracle. A Claude Agent Skill for product launch films and feature demos.项目地址: https://gitcode.com/gh_mirrors/on/onetake

onetake 是一个一镜到底动效技能(Claude Agent Skill),专门用来制作产品发布视频、预告片和功能演示:每一个画面都从上一个画面里"长出来",由一个永不剪断的镜头贯穿始终,连贯性不是靠感觉,而是由自动验收"神谕"(oracle)逐帧测量。用它做的发布视频不再是标题卡、淡出、功能卡的翻页轮播,而是一条连续的镜头。

为什么你的 AI 动效视频像 PPT?

大多数 AI 动效视频和模板工具的输出都是散的:

  • 标题卡 → 淡出 → 界面镜头 → 淡出 → 功能卡片 → 淡出 → Logo
  • 每一镜单看都不错,合起来像在翻 PPT

问题出在两处,onetake 把它们拆成了两个可测量的维度:

维度病症onetake 的判据
节奏镜头等长、节拍器式推进镜头长短相差 ≥ 4 倍,静止帧占比 ≥ 25%
连贯(carry)后一个场景把前一个"替换"掉每个交接处都有东西活下来并变成下一个画面

来自 onetake 自己的发布片:提示词栏展开成它所要求的那条广告,下一条提示词压成一线划过桌面、展开成电影节银幕——全程无剪点。

一镜到底 = 设计"交接处"

onetake 把两个画面之间的边界当成设计的重点。在每一个交接处,画面里总有一个东西活下来,并看得见地变成下一个画面:

  • 输入框展开成App 窗口,窗口再重排成手机界面;
  • 卡片长成整个页面;镜头穿过一张卡片,穿过去就是下一个场景;
  • 结尾所有元素收拢成标志,光标一笔写出名字。

而连贯是量出来的。probe.py记录每一帧画面上有什么,找出每个交接处,判断是否有东西从这边带到那边。下面是项目公开的一组数据:

版本结果连贯度(carry score)
早期发布片 v1:节奏完美,仍然像 PPT被否0.00
同片 v2被否0.40
同片 v3:每个画面从上一个里长出来通过0.75
onetake 发布片通过0.83

5 步做出不翻 PPT 的发布视频

第 1 步:先把参考片拆成数字

动手之前,用 scripts/analyze_ref.py 对参考片做数字化解构——能量图、剪点位置、静止占比、动作缓动曲线(t80)。决定成败的数据往往"看一遍根本看不出来",比如 motion-web 那条片子的参考片34% 的画面是死静止的、7 个硬剪点集中在两次爆发——不测量就直接做,做了两次都是均匀节拍,两次被否。方法详见 references/reference-deconstruction.md。

第 2 步:出三个概念,选一个

概念是一句关于画面的话,不是三个故事换三种讲法,比如:

  • 🎯 "一个点变成一切"(caret → 菜单 → 加载环 → 弹簧曲线 → 标志上的点);
  • "一个镜头穿过所有尺度"(一年 → 一天 → 半小时 → 回到起点);
  • "连锁反应:每一拍都是引发下一拍的碰撞"。

每个概念要写明:钩子帧、每个边界由什么带过去、排除了什么(不许卡片?不许剪?)、以及它的视觉外观(从 looks/looks.json 的预设中选,或用from-shot从产品截图提取)。三者摆出来让用户选。

第 3 步:写节拍表——节奏和衔接都要写

把概念写成 beat sheet:时间 · 节拍 · 什么在动 · 什么是静止 · 什么带向下一拍。

zoomThrough衔接动作:镜头推入一张卡片直到它就是下一个场景,而不是切过去。

两条硬规则:镜头长短差 4 倍以上(0.25s 的字挨着 2.5s 的停留);每个边界都命名活下来的东西——容器变成下一场景、舞台从主体身上打开、镜头推进到卡片即场景。如果什么都没有活下来,那它就是换页,节奏再好也没用。规则出处见 references/rhythm.md。

第 4 步:合成、渲染、配声

  • 合成:整个片子是一个 HTML 文件,所有值都是时间 t 的纯函数,动作全部来自 lib/motion.js 动作库(约 38 个实测过的弹簧、入场、衔接、碰撞、物理模拟、镜头与流体光场动作,绝不用随手写的缓动)。需要演示真实功能时,用 lib/ui_kit.js按截图用 HTML 重建产品界面放在镜头平面上——相机推到多近都清晰,不需要录屏。
  • 渲染:scripts/render.py 先出 1080p30 草稿,验收通过才--final上 4K60;运动模糊是真实快门:运动帧在张开快门内多次采样、在线性光下平均,快动作拖残影而不闪格。
  • 配声:音效按片子里的事件摆放,五种合成材质共用同一个混响空间,打点处音乐自动让位,方法见 references/sound.md。

动作库每个动作都附六帧分解 + 速度曲线——曲线是实测的,不是拍脑袋的缓动。

第 5 步:过验收,再给人看

成片先交给 scripts/verify_promo.py 这套验收"神谕":

python3 scripts/verify_promo.py draft.mp4 --comp comp.html --ref ref.mp4
验收项判掉的典型问题
节奏镜头等长、没有静止段、音频爆音或从不安静
连贯(continuity)carry score < 0.5 的画面互相替换
曲线(curves)快动作(> 80 px/帧)没有快门模糊
构图(framing)声明过的主体出画

同一帧 seek 两次必须得到同一帧(完全确定性),这也是快门模糊能成立的前提。

装上它,直接开口下指令

git clone https://gitcode.com/gh_mirrors/on/onetake.git ~/.claude/skills/onetake

依赖:python3(playwright+ chromium、numpy、scipy、Pillow、matplotlib)、ffmpeg、node;配音另需faster-whisper和 Kokoro TTS;音乐默认免版权。

然后直接用自然语言下指令:

"给我的 App 做个 15 秒发布视频" "按这几张截图复刻界面做功能演示,不录屏" "我的动效视频像 PPT,帮我改"

gather:结尾时全场元素收拢成 lockup——发布视频最常用的收尾衔接。

更多动作可在 gallery/gallery.html 的在线演示里逐个试(如?demo=ribbon&play),每个案例的完整拆解(节拍表、数据、被否版本及原因)都在 cases/ 目录,例如 one-dot 拆解文档。

值得细读的资料

资料内容
SKILL.md完整协议与每条硬规则的来历(每条都赔掉过一次剪辑)
references/composition.mdf(t)架构、原语、手部路径、渲染与快门
references/product-demo.md不录屏的功能演示:复刻界面、配音、多语言时间轴
templates/comp.html合成骨架模板(motion-web 片)
scripts/test_motion.js动作库数值自检(node 运行)

📌 提醒:项目采用 PolyForm Noncommercial 1.0.0 许可——个人、学习、研究等非商业用途免费,不允许商用,详见 LICENSE。

掌握"节奏 + 衔接"这两个可测量的维度,再把 5 步协议跑一遍,你的下一条产品发布视频就不会再像 PPT 了。

【免费下载链接】onetakeMotion films that never cut to the next slide: every beat grows out of the one before, one continuous camera, continuity measured by an oracle. A Claude Agent Skill for product launch films and feature demos.项目地址: https://gitcode.com/gh_mirrors/on/onetake

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询