The video runtime
for agents.
A GPU-rendered video runtime that turns a JSON timeline into a finished MP4. Built for LLMs, agents, and the apps that ship them. Powered by the open Clipkit Protocol.
Built for a different problem than Remotion.
Remotion is React for video. You write components, manage frame math, deploy headless Chromium, and end up with a beautiful pipeline — ideal when the video you want is an app or UI you've already built in React.
Clipkit is JSON for video. You describe a timeline. The runtime renders it on the GPU. There's nothing to bundle, no Chromium to deploy, and no useCurrentFrame to debug.
If the video you want is your React app — rendering components you've already built — Remotion is great. If it's described by an agent, an end user in your app, or a JSON template — with no React app in the loop — that's what Clipkit is for.
One schema. One runtime. Three reasons it works.
Describe the video.
Render the video.
A Clipkit project is a JSON document that conforms to the open Clipkit Protocol. Elements live on tracks, positioned in space and time. Animations, captions, transitions, and effects are first-class.
No build step. No Lambda. No Chromium. Render in the browser with the runtime, or POST the JSON to our hosted render API and get back an MP4.
{ "output_format": "mp4", "width": 1080, "height": 1920, "duration": 12, "elements": [ { "id": "bg", "type": "video", "source": "https://cdn.example.com/clip.mp4", "time": 0, "duration": 12, "fit": "cover" }, { "id": "title", "type": "text", "text": "Built for the AI era.", "font_family": "Inter", "font_weight": 700, "x": "50%", "y": "20%", "animations": [{ "type": "slide-up-in", "duration": 0.6 }] }, { "id": "captions", "type": "caption", "style": "tiktok_bounce", "words": [ { "text": "Built", "start": 0.2, "end": 0.6 }, { "text": "for", "start": 0.6, "end": 0.85 }, { "text": "the", "start": 0.85, "end": 1.1 }, { "text": "AI", "start": 1.1, "end": 1.4 }, { "text": "era.", "start": 1.4, "end": 1.9 } ] } ] }
Plug Clipkit into Claude, Cursor & any MCP agent.
Clipkit ships a hosted MCP connector — add one URL, no install or sign-in. Your agent gets a schema-typed video toolbox: create and edit elements, preview a still to see its own work, validate, then render — all over the same Source a human edits.
# No install — add the hosted connector by URL. # Streamable HTTP, open: no sign-in, no key. # Claude Code: $ claude mcp add --transport http clipkit https://www.clipkit.dev/mcp # Or any MCP client — add a remote server: { "mcpServers": { "clipkit": { "type": "http", "url": "https://www.clipkit.dev/mcp" } } }
What's in the box.
JSON in, WebGPU video out
A Clipkit Source is plain JSON. The runtime composites it on the GPU — real-time in the browser (WebGPU, with a WebGL2 fallback) and deterministically headless for the final render. The same Source previews and ships.
Open-source runtime
The full rendering engine is open source under Apache-2.0, built on the open Clipkit Protocol (CKP/1.0) — self-host, audit, contribute. The format your videos are written in is documented and versioned, not owned.
A real editor, also open
The Clipkit editor is a timeline over that same schema — drag, trim, keyframe, preview, and export MP4 right in the browser. Apache-2.0, and embeddable in your own app through pluggable storage adapters.
Built for agents (MCP)
A hosted MCP server hands Claude, Codex, Cursor, and friends a video toolbox — preview a still, validate the Source, kick off a render — all over the same schema a human edits. Connect once, build by conversation.
Scriptable CLI
Drive Clipkit from the terminal or CI: validate, explain, preview, render, and pull a still. The local-first way to wire video into a pipeline without opening the UI.
Pay only for hosted renders
Use the open-source runtime for free. Pay per second of output for hosted rendering — no editor session fees, no monthly minimums.
Need a video editor inside your app?
Add one in a line.
import { Editor, ADVANCED_CONFIGURATION } from '@clipkit/editor' <Editor initialSource={project} configuration={ADVANCED_CONFIGURATION} onSourceChange={(json) => save(json)} />
The same JSON that AI authors is what powers our embeddable editor.
One schema. Two surfaces. AI drives. Humans tune. Both write to the same file.
When Clipkit fits. When it doesn't.
use clipkit when
Your video is described as data — not built as a React app.
- You're generating videos from AI output, transcripts, templates, or any structured source.
- You're embedding a video editor inside your application.
- Your stack isn't React, or you don't want a React app in the pipeline.
- You want real-time preview and fast renders without managing Chromium or Lambda.
- You want an open, portable format that isn't tied to one company's API.
use remotion when
Your video is a React app — you're rendering it to film.
- You're making a video of an app or UI you've already built in React — animating your real components.
- You need the full expressive ceiling of arbitrary React, CSS, SVG, and npm packages.
- Your video's source of truth is React code — and you want that code rendered frame-by-frame (whether you or an agent wrote it).
- You need a behavior our schema doesn't model yet, and you're not willing to extend it.
Both are good tools. They start from different sources — React code, or structured data.
Open runtime. Hosted convenience.
The Clipkit runtime is open source under Apache-2.0. Powered by the open Clipkit Protocol — the format your videos are written in is documented and versioned, not owned. You can self-host renders, fork the engine, and build on it without ever paying us a cent.
The hosted render service is how we keep the lights on. POST a project, get an MP4 URL back, no GPUs to manage. Same model that worked for Vercel + Next.js, Supabase + Postgres, Tailwind + Tailwind UI. The runtime is the standard; the hosting is the product.
Questions, answered straight.
Is Clipkit really open source?
Can I render locally without your servers?
How is this different from Remotion?
What is the Clipkit Protocol?
Does the AI authoring actually work?
What can I render?
What about complex one-off videos?
What does it cost?
Ship video at the
speed of JSON.
Open source runtime. Hosted rendering when you want it. An MCP server for your agents. A schema that's actually nice to write.