feitangyuan/onetake
Motion films that never cut to the next slide: every beat grows out of the one before, one continuous camera, continuity measured by an oracle. Product launch films and feature demos, made with a coding agent.
onetake – 单次连续拍摄的运动视频技能
它是什么
- 一个 Claude(或其他 LLM)代理技能,让你可以要求 AI 以 单次、不剪辑的拍摄 创建简短的产品发布或演示视频。该技能从描述中构建整个动画,而非屏幕录制。
为何重要
- 大多数 AI 生成的运动视频是一系列不连贯的片段(标题卡 → 淡出 → UI 镜头 → 淡出 …),感觉像幻灯片。onetake 翻转了这个问题:每个节拍之间的 边界 都被设计成 屏幕上的某些东西存活并变形为下一个节拍。这种“延续”会自动测量,提供量化的连续性分数,而非模糊的美学判断。
关键技术概念
| 功能 | 运作方式(如 repo 所述) |
|---|---|
| UI 重建 | 屏幕截图被转换为产品 UI 的 HTML 复制品,放置在相机平面上,使虚拟相机可以以任何缩放级别飞入 – 无需屏幕录制。 |
| 动作库 | 约 38 个纯函数运动原语(弹簧、入场、碰撞、流体地面、相机移动)。每个都是基于时间的函数,具有测量的速度曲线,因此动画是确定性和可重现的。 |
| 运动模糊 | 每个渲染帧在开放的 180° 快门下多次采样场景,并在线性光中平均结果,为快速移动产生逼真的模糊。 |
| 音频集成 | 拟音和合成声音放置在与视觉事件相同的虚拟房间中;音乐在撞击发生时自动闪避。 |
| 连续性 oracle | probe.py 记录每帧中的对象,找到边界,并检查对象是否“延续”。影片获得 延续分数(0-1);只有高于阈值的分数才能通过自动检查。 |
| 确定性渲染 | 相同的种子 → 在任何时间戳产生相同的帧。草稿为 1080p 30 fps,最终渲染为 4K 60 fps。 |
典型工作流程
- 参考分析 – 将参考视频分解为数字(静止时间、剪辑点、缓动曲线)。
- 概念头脑风暴 – 生成几个一句话的视觉概念(例如,“一个点变成一切”)。
- 节拍表 – 定义节拍长度(变化 ≥ 4×),并明确命名每个边界存活的对象。
- 作曲与渲染 – 使用动作库编写单一 HTML 文件,使用运动模糊渲染,通过脚本添加声音。
- 验证 – 执行连续性 oracle;如果通过,展示可供人类观看的影片。
安装与使用
# 对于 Claude 代理
git clone https://github.com/feitangyuan/onetake.git ~/.claude/skills/onetake
# 对于其他读取技能的代理
git clone https://github.com/feitangyuan/onetake.git ~/.agents/skills/onetake
克隆后,你可以要求代理:
- “为我的应用程序制作一个 15 秒的发布视频。”
- “从这些屏幕截图创建功能演示,无需屏幕录制。”
- “我的运动视频感觉像幻灯片 – 修复它。”
依赖项 – Python 3(playwright + Chromium、numpy、scipy、Pillow、matplotlib、可选的 opencv-python 用于参考分析)、ffmpeg、Node.js,以及 faster-whisper 和 Kokoro TTS 用于旁白。
许可证 – PolyForm 非商业 1.0.0(个人、教育、研究用途免费)。商业用途需付费的“onetake Pro”许可证,该许可证还提供每个生成视频的完整源代码。
底线:onetake 是一个专业的 AI 代理技能,用于自动化创建无缝、单次拍摄的运动视频,通过可测量的 oracle 和物理启发的运动原语库来强制连续性。它正好位于 AI 生成内容 / LLM 代理工具领域。
相关
- 项目
- 项目
- 项目
- 项目
- 项目