OpenFilm Lets Coding Agents Build and Edit Videos With Plain HTML
OpenFilm turns Claude Code, Codex, and other coding agents into video makers by representing films as HTML pages and a single frame(t) function.
- OpenFilm turns Claude Code, Codex, Cursor and other coding agents into video makers using HTML and CSS.
- A film is a folder with
film.html; each shot is a page exposing aframe(t)function. - Install as a skill with
npx skills add openfilm/openfilm, or grab the Mac/Windows desktop app. - Studio editor runs locally in Chromium; edits are written back as overrides the agent respects.
- Exports MP4 up to 4K, alpha video, GIF, subtitles, and timelines for Final Cut, Premiere, Resolve.
- Free, MIT licensed, 1,250+ GitHub stars; generated media uses your own ElevenLabs/OpenAI/Google/fal keys.
OpenFilm is a new MIT-licensed open-source project that turns a film into a folder of web pages. Coding agents write shots with familiar browser technologies, while OpenFilm supplies the timeline, local editor, verification tools, and renderer. Its GitHub repository has 1.3k stars.
Developers can ask Claude Code, Codex, Cursor, Gemini CLI, or another shell-capable agent to create a video. The agent writes the source files, and a browser-based editor called Studio lets users select any generated element and revise it directly.
A timeline built from browser primitives
Every OpenFilm project contains a film.html file. Each section defines a track, and document order controls its top-to-bottom position on the timeline. Clips can contain web pages, videos, still images, or audio files.
- Media fragments such as
#t=12,18define clip timing. - CSS properties including
left,top,width, andheightcontrol placement. - Manual changes are stored as
overridesthat agents can preserve during later revisions.
Animated web-page shots expose a small JavaScript interface:
window.film = {
frame(t) { /* draw the complete picture at t seconds */ },
duration: 4,
ready: loadFonts(),
width: 480,
height: 320,
};Each call to frame(t) must draw the same complete image for the same timestamp, regardless of earlier calls. OpenFilm can request frames out of order, render several concurrently, and sample fractional timestamps for motion blur. Time-driven shots that follow this contract produce reproducible exports when the browser, fonts, and assets remain consistent.
This story is for Pro members
You've reached the end of the free preview. Upgrade to AlphaSignal Pro to read the full article - and everything else behind the paywall.