feitangyuan/onetake

★ 1,121⑂ 73

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.

About feitangyuan/onetake

feitangyuan/onetake is an open-source project on GitHub, mainly written in Python. 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. It currently holds 1,121 stars and 73 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).

Project Overview

AI Homed tracks it on the Today's Trending board.

GitHub Repository Details

Repository feitangyuan/onetake · default branch - · size 0 KB · watchers 0 · source: GitHub REST API and repository README

README

https://github.com/feitangyuan/onetake/blob/HEAD/onetake icon

https://github.com/feitangyuan/onetake/blob/HEAD/onetake

Motion films that never cut to the next slide. A Claude Agent Skill that makes product launch films, teasers and feature demos where every beat grows out of the one before — one continuous take, not a stack of scenes.
一镜到底的连贯动效。 做产品发布片、预告片、功能演示:每一个画面都从上一个画面里长出来,是一整条连续的镜头,而不是一张张轮流出场的"PPT"。

License: PolyForm Noncommercial Type Cases Continuity

onetake launch

From onetake's own launch film. A prompt bar opens into the ad it asked for; the next prompt collapses into a line that shoots across the desk and opens into a festival screen. No cut. Full film with sound →

---

English | 中文说明

---

English

The problem: motion that falls apart

Most motion videos an AI makes today — and most template tools — come out loose. Title card, fade, UI shot, fade, feature card, fade, logo. Each shot can look fine and the whole still reads like a slideshow, because nothing connects one beat to the next: scenes replace each other.

What onetake does differently: every beat is carried

onetake treats the boundary between two beats as the thing to design. At every boundary, something on screen survives and visibly becomes the next beat:

And one camera holds it all together. It never cuts: it follows the subject a beat ahead, whips to where the next thing will land, floats like a hand-held operator and shakes when something hits — then holds dead still, because rests are what make the moves land.

Continuity is measured, not hoped for

Every film is checked by an oracle before a human watches it. probe.py records what is on screen in every frame, finds each boundary, and asks what carried across it. A film whose beats replace each other fails.

| film | verdict | continuity (carry score) | |---|---|---| | an earlier launch film, v1 — perfect rhythm, still a slideshow | rejected | 0.00 | | the same film, v2 | rejected | 0.40 | | the same film, v3 — every beat grows out of the last | accepted | 0.75 | | onetake launch film | accepted | 0.83 |

The same oracle fails uniform cadence (shots all the same length), no stillness, clipped audio, fast moves without motion blur, and a subject that leaves the frame.

What makes it look finished

🌟 Films made with it

Every case ships the finished film and a breakdown (concept, beat sheet, numbers, what was rejected and why). The films' source code is not included.

onetake launch

Three prompts, three films, one take — each prompt visibly becomes its film
▶ Film | 📖 Breakdown
one-dot

One dot is the whole film: caret → menu → loading ring → spring curve → the dot on the i
▶ Film | 📖 Breakdown
knockon

A chain reaction: every beat is the collision that starts the next
▶ Film | 📖 Breakdown
clearing

One zoom from a year to a free half hour — 1× to 300× and back, never a cut
▶ Film | 📖 Breakdown
pith

The window grows out of one phosphor pixel: 440× → 0.52× in one move
▶ Film | 📖 Breakdown
ebb

A field of light carries the take through five places; each flood drains onto the next
▶ Film | 📖 Breakdown
overlap

Two print passes slide into register — and an & appears that was hidden in both
▶ Film | 📖 Breakdown
unbroken

One ink stroke that is never lifted: procedural brush, no textures
▶ Film | 📖 Breakdown
motion-web

Where the rhythm rules came from: small UI, big ground, rests, then a burst
▶ Film | 📖 Breakdown
skill-demo

An operation demo from nothing: the chosen menu row flies into the input as a chip, and on from there
▶ Film | 📖 Breakdown
one-dot and skill-demo were made when the skill was still called ohmymotion; the films show that name.

How a film is made

1. Deconstruct the reference in numbers: how much of it is still, where it cuts, how its moves ease. 2. Three concepts, pick one. Each is one sentence about the picture — "one dot becomes everything", "one zoom through scale" — not three stories told with the same cards. 3. **A beat sheet for rhythm and carry. Shot lengths vary by ≥ 4×, and every boundary names what survives it. 4. Compose one HTML file on the move library. Render with motion blur. Score the sound from the film's events. 5. Verify**, then show a human.

📦 Installation

# Claude Code
git clone https://github.com/feitangyuan/onetake.git ~/.claude/skills/onetake

Codex / other agents that read skills

git clone https://github.com/feitangyuan/onetake.git ~/.agents/skills/onetake

Then ask: "Make a 15 s launch video for my app", *"a feature demo rebuilt from these screenshots, no screen recording", "my motion video feels like a slideshow — fix it"*.

Requires python3 with playwright (chromium), numpy, scipy, Pillow, matplotlib (opencv-python for reference analysis), ffmpeg, node. Narration adds faster-whisper and Kokoro TTS. Music is royalty-free by default.

| | | |---|---| | SKILL.md | the protocol and the hard rules each rejected cut taught | | lib/motion.js · lib/ui_kit.js | the move library; the UI-rebuild kit | | scripts/ | render (motion blur, 4K60), verify (the oracle), probe, stills, reference analysis, footage, narration, sound | | gallery/ | one live demo and one six-frame sheet per move | | references/ | rhythm, carry, composition, camera, sound, product demos — the method with its numbers |

License

PolyForm Noncommercial 1.0.0: free for personal, educational, research and other noncommercial use. Commercial use is not permitted.

---

中文说明

问题:动效是散的

现在大多数 AI 做出来的动效视频,还有大多数模板工具做出来的,都是散的。 标题卡、淡出、界面镜头、淡出、功能卡片、淡出、Logo。每一镜单看也许都不错,合起来还是像在翻 PPT。 原因是画面和画面之间没有任何联系,后一个场景只是把前一个替换掉了。

onetake 不一样:每个画面都被"接住"

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

把这一切串起来的是同一个镜头。 它从不剪断:提前半拍跟着主体走,抢在下一个东西落地前甩过去,像手持一样轻微浮动,东西撞上来时跟着一震; 该停的时候又能完全静止,因为有停顿,动作才落得下来。

连贯是量出来的,不是靠感觉

每条片子给人看之前,先过一遍自动验收。probe.py 记录每一帧画面上有什么,找出每一个交接处,再判断有没有东西从这边带到那边。 画面互相替换的片子,直接判不合格。

| 片子 | 结果 | 连贯度(carry score) | |---|---|---| | 更早的一条发布片 v1:节奏完美,仍然像 PPT | 被否 | 0.00 | | the same film, v2 | 被否 | 0.40 | | 同一条片子 v3:每个画面从上一个里长出来 | 通过 | 0.75 | | onetake 发布片 | 通过 | 0.83 |

同一套验收还会判掉这些问题:镜头长度全都一样、没有静止段落、音频爆音、快动作没有运动模糊、主体出画。

为什么看起来像成品

案例

上面的表格里有 10 条用它做的片子,每条都附成片和拆解文档(概念、节拍表、数据、被否掉的版本和原因)。不包含片子的源代码。 其中 one-dot 和 skill-demo 做的时候 skill 还叫 ohmymotion,画面里是旧名字。

一条片子怎么做出来

1. 先把参考片拆成数字:静止占多少、在哪里剪、动作怎么缓动。 2. 出三个概念,选一个:每个概念是一句关于画面的话,比如"一个点变成一切""一个镜头穿过所有尺度",而不是同一套卡片换三种讲法。 3. 写节拍表,节奏和衔接都要写:镜头长短相差 4 倍以上,每个交接处都写明是什么东西活下来。 4. 合成、渲染、配音:在动作库上写一个 HTML 文件,带运动模糊渲染,按片子里的事件配声音。 5. 过验收,再给人看。

安装

# Claude Code
git clone https://github.com/feitangyuan/onetake.git ~/.claude/skills/onetake

Codex 等读取 skills 的 Agent

git clone https://github.com/feitangyuan/onetake.git ~/.agents/skills/onetake

然后直接说:「给我的 App 做个 15 秒发布视频」「按这几张截图复刻界面做功能演示,不录屏」「我的动效视频像 PPT,帮我改」。

依赖:python3(playwright + chromium、numpy、scipy、Pillow、matplotlib,分析参考片需要 opencv-python)、ffmpeg、node。 配音需要 faster-whisper 和 Kokoro TTS。音乐默认用免版权曲库。

许可证

PolyForm Noncommercial 1.0.0:个人、学习、研究等非商业用途免费使用,不允许商用。

GitHub Stars & Activity

1,121Stars
73Forks
0Open issues
PythonLanguage

GitHub Popularity

GitHub stars1,121
Forks73
Open issues0
Primary languagePython
License-
Stars gained today0
Created-
Last pushed-

Trending History

Weekly boardrank #85 · ▲ 0 stars

Related AI Projects

1

Shubhamsaboo / awesome-llm-apps

Python★ 140,502⑂ 20,640▲ 139 stars
→
2

harry0703 / MoneyPrinterTurbo

Python★ 127,914⑂ 20,013▲ 598 stars
→
3

ComposioHQ / awesome-claude-skills

Python★ 76,303⑂ 8,898▲ 345 stars
→
4

debpalash / VoiceStudio

Python★ 51,263⑂ 5,697▲ 1,395 stars
→
5

PostHog / posthog

Python★ 40,080⑂ 3,464▲ 31 stars
→
6

VectifyAI / PageIndex

Python★ 38,407⑂ 3,326▲ 543 stars
→
7

sgl-project / sglang

Python★ 36,699⑂ 9,254▲ 39 stars
→
8

alirezarezvani / claude-skills

Python★ 27,153⑂ 3,837▲ 138 stars
→

More AI Rankings