A coding agent writes title.ts, checks a grid of frames, moves the .mp4 tag off the headline, checks again and renders title.mp4.

Video your coding agent can write, check and ship.

00:00:00:00 Drag to scrub

Motion graphics, image editing, type, charts, 3D and audio, written in TypeScript and rendered on the GPU straight to MP4 or PNG.

Prompt your agent Navigate to https://framefields.dev/docs and learn how to install framefields
Add to your agent npx skills add gatewai-dev/framefields
0
00:00:00:00 Before the first frame

255 frames at 1920×1080, rendered from film.ts in 2.6 seconds on an Apple M1 Pro with framefields@2.1.1 from npm. Download the MP4.

What's in the package

One WebGPU engine for video production, image editing and motion graphics. Driven with TypeScript, rendered straight to pixels.

Why not record a headless browser?

How a frame is captured

framefields: Rendered straight to a GPU texture

Headless ChromiumLay out the DOM, then take a screenshot

Timing

framefields: The frame number

Headless ChromiumWall-clock timers that can drift

Text

framefields: Curves evaluated per pixel

Headless ChromiumRasterised on the CPU

Memory per worker

framefields: 200-400 MB

Headless Chromium2-4 GB

Image editing, 3D, VFX

framefields: In the package

Headless ChromiumBring your own

Longer films made with it

Each one is a folder in the repository's examples. They play on YouTube.

AI Gateway

More than 100 image, video and audio models behind one API key, billed from one prepaid balance.

Generated stills, clips and voice, straight onto the timeline

Call image, video and audio models from the same TypeScript that composes your film, without a separate SDK or account for each provider.

  • One key. Seedance, H3, ElevenLabs, Nano Banana and the rest.
  • Prepaid. Each generation is charged at provider cost plus a small margin.
composition.ts TypeScript
import { ai, Layer } from "framefields";

ai.config({ apiKey: "ff_live_..." });

const { data } = await ai.subscribe("flux/schnell", {
  input: { prompt: "Neon monolith rotating in mist, 35mm film" },
});

const hero = Layer.image(data.images[0].url);

Give your coding agent the skills

Video, image editing and motion graphics — driven in TypeScript and rendered natively on the GPU.

Prompt your agent Navigate to https://framefields.dev/docs and learn how to install framefields
Add to your agent npx skills add gatewai-dev/framefields