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 – One‑continuous‑take motion video skill

What it is

  • A Claude (or other LLM) agent skill that lets you ask an AI to create a short product‑launch or demo video in a single, un‑cut take. The skill builds the whole animation from a description, not from screen‑recordings.

Why it matters

  • Most AI‑generated motion videos are a series of disconnected clips (title card → fade → UI shot → fade …) that feel like a slideshow. onetake flips the problem: every boundary between beats is designed so that something on screen survives and morphs into the next beat. This “carry” is measured automatically, giving a quantitative continuity score instead of a vague aesthetic judgment.

Key technical ideas

Feature How it works (as described in the repo)
UI reconstruction Screenshots are turned into an HTML replica of the product UI, placed on the camera’s plane so the virtual camera can fly into it at any zoom – no screen‑recording needed.
Move library ~38 pure‑function motion primitives (springs, entrances, collisions, fluid grounds, camera moves). Each is a time‑based function with a measured speed curve, so the animation is deterministic and repeatable.
Motion blur Every rendered frame samples the scene multiple times across an open 180° shutter and averages the results in linear light, producing realistic blur for fast moves.
Audio integration Foley and synthesized sounds are placed in the same virtual room as the visual events; music automatically ducks when a hit occurs.
Continuity oracle probe.py records objects in each frame, finds the boundaries, and checks whether an object “carries over”. A film gets a carry score (0‑1); only scores above a threshold pass the automatic check.
Deterministic rendering Same seed → identical frame at any timestamp. Drafts at 1080p 30 fps, final renders at 4K 60 fps.

Typical workflow

  1. Reference analysis – Decompose a reference video into numbers (still time, cut points, easing curves).
  2. Concept brainstorming – Generate a few one‑sentence visual concepts (e.g., “one dot becomes everything”).
  3. Beat sheet – Define beat lengths (varying by ≥ 4×) and explicitly name the object that survives each boundary.
  4. Compose & render – Write a single HTML file using the motion‑library, render with motion blur, add sound via the scripts.
  5. Verify – Run the continuity oracle; if it passes, show the human‑ready film.

Installation & usage

# For Claude agents
git clone https://github.com/feitangyuan/onetake.git ~/.claude/skills/onetake
# For other agents that read skills
git clone https://github.com/feitangyuan/onetake.git ~/.agents/skills/onetake

After cloning, you can ask the agent:

  • “Make a 15 s launch video for my app.”
  • “Create a feature demo from these screenshots, no screen‑recording.”
  • “My motion video feels like a slideshow – fix it.”

Dependencies – Python 3 (playwright + Chromium, numpy, scipy, Pillow, matplotlib, optional opencv‑python for reference analysis), ffmpeg, Node.js, plus faster‑whisper and Kokoro TTS for narration.

License – PolyForm Non‑commercial 1.0.0 (free for personal, educational, research use). Commercial use requires a paid “onetake Pro” license, which also provides the full source of each generated film.


Bottom line: onetake is a specialized AI‑agent skill that automates the creation of seamless, single‑take motion videos, enforcing continuity through a measurable oracle and a library of physically‑inspired motion primitives. It sits squarely in the AI‑generated content / LLM‑agent tooling space.

Related

  • Project
  • Project
  • Project
  • Project
  • Project