An agentic video engine

Made for agents. They write video in TypeScript; Kinetograph renders every frame on the GPU, with no browser.

$npx kinetograph render index.tsx -o out.mp4

This film was rendered by Kinetograph: 1,184 frames in 26 seconds on a laptop. Everything in it, sound effects included, comes from one TypeScript project in the repo, examples/launch.

Showcase

928 frames, 1920×1080, 37 s of video

rendered in 13 s

3D scenes

180 frames, 1920×1080, 6 s of video

rendered in 2.3 s

Video overlay

180 frames, 1920×1080, 6 s of video

rendered in 1.9 s

Canvas

60 frames, 860×420, 2 s of video

rendered in 0.6 s

Rajz cards

125 frames, 1920×1080, 5 s of video

rendered in 5.1 s

Remotion compat test

150 frames, 1200×1000, 5 s of video

rendered in 2.3 s

Diorama scene (JSON)

90 frames, 1080×1920, 3 s of video

rendered in 2.2 s

Papercut card (JSON)

60 frames, 1080×1920, 2 s of video

rendered in 0.7 s

Basic scene (JSON)

60 frames, 640×360, 2 s of video

rendered in 0.5 s

Kinetograph runs the video you already write, in TypeScript with Remotion's API, CSS, SVG, Canvas 2D and Web Audio. Node runs the code and a Rust compositor draws every frame, so there is no browser anywhere in the path.

Every command takes --json, and kinetograph mcp serves them as tools. An agent writes the TSX, renders a still, reads the scene graph and fixes what it finds before anyone watches.

Give your agent the Kinetograph skills:

$npx skills add 0xS4N4TG/kinetograph

You need Node 22 or later and a GPU that wgpu supports, such as Metal on a Mac. It needs no display, so it runs on a server too. Rendering video needs FFmpeg.

  1. Install

    $npm install kinetograph
  2. Open the studio

    $npx kinetograph studio src/index.tsx
  3. Render

    $npx kinetograph render src/index.tsx -o out.mp4

Free for individuals and small companies under the PolyForm Small Business licence. See the known issues.