ClipKit
The video infra for agents. ClipKit turns a JSON timeline — the open ClipKit Protocol — into rendered video on the GPU. Describe a video as structured data; get an MP4. Built for AI agents and the developers shipping them.
clipkit.dev · Docs · Protocol · Agent quickstarts
https://github.com/user-attachments/assets/ff4b7e9b-2e0a-40f4-a6a1-042e981fc65f
↑ Made with ClipKit. Every frame of this promo was rendered from a ClipKit Protocol document — no editor, no timeline UI, just structured data. ▶ Play if it doesn't load inline.
Quick start
npm install -g @clipkit/cli
clipkit new my-video.json # scaffold a Source
clipkit render my-video.json -o out.mp4 # render locally (headless Chrome)
…or from code:
import { render } from '@clipkit/renderer';
import { writeFile } from 'node:fs/promises';
const { buffer } = await render({ source }); // source = a ClipKit Protocol document
await writeFile('out.mp4', buffer);
Local rendering uses your installed Google Chrome (for WebCodecs). For GPU-accelerated
and pro-format (ProRes / AV1 / transparent) output, render on the hosted service with
clipkit render --cloud.
What's here
A monorepo; each package publishes to npm under the @clipkit scope.
| Package | What it is |
|---|---|
@clipkit/protocol | the ClipKit Protocol — schema, types, validation |
@clipkit/runtime | the engine — WebGPU/WebGL2 compositor + WebCodecs encoder |
@clipkit/renderer | render a Source to MP4 locally (headless Chrome) |
@clipkit/editor | a configurable, embeddable editor over the schema |
@clipkit/editor-core | the editor's UI-free data layer |
@clipkit/playback | browser playback engine |
@clipkit/patterns | composable motion-graphics units |
@clipkit/sfx | procedural sound-effects synthesis |
@clipkit/music-analysis | beat / tempo analysis for authoring |
@clipkit/speech-to-text | transcription → captions |
@clipkit/lint | protocol-aware validation + plain-language summaries |
@clipkit/mcp-server | an MCP server so agents can author + render video |
@clipkit/cli | the local-first CLI |
For AI agents
ClipKit ships an MCP server — point your agent at it and it can build, validate, preview, and render ClipKit videos:
npx -y @clipkit/cli mcp # stdio MCP server
See the agent quickstarts for Claude, Cursor, and more.
License
Apache-2.0 — except @clipkit/runtime, which is under the
Business Source License 1.1 and converts to Apache-2.0 four years after
each release. In plain terms: use it, embed it, build your own product on it, and render
for your own customers — all free. The one thing you can't do is offer a competing
hosted ClipKit-rendering service. See LICENSING.md and
TRADEMARK.md.