Framefields
A code-first video engine for coding agents: author compositing, motion graphics and 3D in TypeScript and render natively on the GPU via WebGPU — no headless browser.
- Source repo
- gatewai-dev/framefields
- Stars
- ★ 499
- Last updated
- today
- License
- Apache-2.0
- Primary language
- TypeScript
- FA score
- 59/100 · Major gaps
At a glance
- How it runs
- Works with
- Universal · cross-platformCodex · Claude Code
- Cost
- Free tier plus a paid hosted plan
- Setup effort
- Medium · a few setup steps
- You'll need
- Typical use
- Developers who want Claude Code or Codex to generate product demos and API explainer videos as version-controlled, reproducibly rendered code rather than manual timeline work.
- Not a fit if
- Teams needing fast headless rendering on machines with no GPU outside Linux/Windows (CPU fallback is ~10–12x slower)
- Creators who want GUI timeline software rather than writing TypeScript
- Production projects not ready to accept beta-status software
- Source review
- 59/100 · Major gaps
What does this agent do, and when should you use it?
Framefields is an npm package that packs capabilities normally split across three desktop creative suites — Photoshop-style compositing & VFX, After Effects-style typography & motion graphics, and Blender-style 3D scenes & cameras — into a single package driven by coding agents. It skips Chromium, Puppeteer and screenshot pipelines entirely, rendering directly on native GPU hardware via Dawn/WebGPU (Metal on macOS, Vulkan on Linux, D3D12 on Windows) and exporting hardware-encoded MP4s. Rendering is deterministic and frame-accurate, using discrete sample points, absolute frame clocks and audio BeatGrids. Agents write TypeScript, inspect rendered frame grids and export headlessly; ready-made components like mouse pointers, terminals and lower thirds are copied into your project shadcn-style via framefields add, so every curve, glyph and layout is yours to edit. The repository is in beta, Apache-2.0 licensed, and includes an optional AI Gateway for generating images, video, music and voiceovers from hosted models.
After installation, agents author compositions in TypeScript: create a Composition (e.g. 1080p60), assemble layouts with Layer.box/Layer.flex/Layer.text, define eased animations with LayerAnimation.create() (e.g. back.out(1.5), fadeIn), then call comp.renderVideo({ outputPath, quality }) to export a hardware-encoded MP4. On the CLI, framefields init my-film --install scaffolds a complete project (film.ts, render.ts, assets/ with Git LFS, plus fonts), pnpm frames -- 0 30 60 renders the first frames, and npx framefields list / npx framefields add mouse-pointer focus-zoom copy component source into src/components/. Optionally, with a FRAMEFIELDS_API_KEY, the AI Gateway calls hundreds of hosted models to generate video, images, music and voiceovers from code. The repository also documents 50+ WebGPU 2D shaders, glTF/GLB 3D scenes, procedural SFX and BeatGrids, and Apache-2.0 ONNX vision models for tracking and cutouts.
- Developers who want Claude Code or Codex to generate product demos and API explainer videos as version-controlled, reproducibly rendered code rather than manual timeline work.
- Content teams batch-rendering frame-accurate tutorial videos with text animations and code blocks, run headlessly in CI.
- Indie creators building a reusable, fully editable library of motion components (e.g.
MousePointer,focus-zoom) without depending on closed suites. - Users with an AI Gateway API key who want to generate imagery, music or voiceover from hosted models inside the same TypeScript project and merge it into the film.
- CI machines without a dedicated GPU (Linux/Windows) rendering test frames via the Mesa lavapipe/WARP CPU fallback.
How do you install or deploy this agent?
Requires Node.js >= 22; native GPU acceleration on macOS (Metal), Linux (Vulkan) and Windows (D3D12). Machines without a dedicated GPU can render on CPU via Mesa lavapipe (Linux) or WARP (Windows), roughly 10–12x slower — suitable for headless CI and test frames.
Start a new project:
pnpm dlx framefields init my-film --install
# or: npx framefields init my-film --install
cd my-film && pnpm frames -- 0 30 60Install into an existing project:
pnpm add framefieldsAdd the skill to your agent:
npx skills add gatewai-dev/framefieldsOptional: to use the AI Gateway, create a key at framefields.dev/dashboard, copy .env.example to .env and set FRAMEFIELDS_API_KEY.
How do you use this agent?
Write a composition, then render it. Full runnable example:
import { Composition, Layer, LayerAnimation } from "framefields";
const comp = new Composition({
width: 1920,
height: 1080,
fps: 60,
durationFrames: 180,
backgroundColor: "#090a0f",
fonts: ["assets/fonts/Inter.ttf", "assets/fonts/SpaceGrotesk.ttf"],
});
const entrance = LayerAnimation.create()
.fadeIn(0, 20, "power2.out")
.fromTo("y", 60, 0, { start: 0, end: 35, ease: "back.out(1.5)" });
const heroCard = Layer.box({
width: 760,
height: 380,
background: "#141721",
borderRadius: 24,
children: [
Layer.flex({
dir: "column",
gap: 16,
children: [
Layer.text("FRAMEFIELDS ENGINE", { fontSize: 16, fill: "#6366f1" }),
Layer.text("Code-First Video", { fontSize: 48, fill: "#f8fafc" }),
],
}),
],
}).animate(entrance);
comp.add(heroCard);
const { filePath } = await comp.renderVideo({
outputPath: "output/hero.mp4",
quality: "high",
});
console.log(`Rendered to: ${filePath}`);
process.exit(0);Common CLI commands:
npx framefields list
npx framefields add mouse-pointer focus-zoomAdded components import only framefields and are fully yours to edit; edited files are never overwritten unless you pass --overwrite. Every component event is a cue — e.g. pointer.cues.clicks[0].frame lets you key a sound or animation to a click.
What are this agent's strengths and limitations?
- Zero headless-browser overhead: renders directly through Dawn/WebGPU/Metal/Vulkan with no Chromium launch, DOM reflows or screenshot pipeline.
- Deterministic and frame-accurate: discrete sample points, absolute frame clocks and audio BeatGrids — no floating timers or drift, ideal for reproducible CI renders.
- Components are copied into your project shadcn-style (
framefields add), so every curve, glyph and layout is modifiable with no black box. - Consolidates compositing/typography/motion/3D into one lightweight npm package, Apache-2.0 licensed, with skill onboarding for 70+ coding agents.
- The repository is marked beta; APIs may change and production adoption carries risk.
- Requires Node.js >= 22 and native WebGPU/Dawn GPU support; without a GPU you fall back to CPU rendering (~10–12x slower), and the documented fallback covers only Linux and Windows.
- The AI Gateway requires creating an account and key at framefields.dev (FRAMEFIELDS_API_KEY) — a vendor-hosted paid path.
- The workflow is writing TypeScript, not using a GUI, so non-programming creatives face a real migration cost.
How does this agent compare with similar options?
The README explicitly positions itself against three desktop suites by capability: Photoshop-style compositing & VFX, After Effects-style typography & motion graphics, and Blender-style 3D scenes. Unlike those GUI tools, Framefields targets coding agents, ships as an npm package, and renders headlessly on native GPU without a browser.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| Framefields This agent | 59 · Major gaps | Library / SDKFreemium | ★ 499 | today | TypeScript | Codex · Claude Code |
| anything2explainer | 47 · Major gaps | Agent plugin / skillFree + model costs | ★ 2.8k | 1mo ago | TypeScript | Codex · Claude Code |
| Motion Graphics Skills | 39 · Major gaps | Agent plugin / skillFree | ★ 1.1k | 4d ago | HTML | Codex · Claude Code |
| GAIA UI Component Registry | 56 · Major gaps | CLIFree | ★ 223 | 1mo ago | TypeScript | — |
How does FollowAgents rate this agent?
Why each dimension lost points
The renderer-service shows solid least-privilege engineering: sandboxing, repo allowlists, RENDERER_API_KEY, non-root container user, minimal GitHub workflow permissions; the AI gateway is opt-in with the key in .env. Deducted for: unshown handling of key transmission/redaction in logs; data-flow transparency thin — result uploads to a remote render service appear only in a Docker image description; sensitive-data handling is one .env hint with no leakage guidance; rollback is limited to 'never overwrite edited files' with no version rollback mechanism. Attribution is fine (Apache-2.0, credited examples); unverified publisher is not itself penalized.
Real-process load/render/watchdog harnesses, RenderError with codes, zod-validated job schema give good internal consistency and error reporting. Dependency availability loses a point: the enormous, overlapping pnpm overrides list implies a fragile transitive tree, native modules (node-av, sharp, webgpu) are pinned, and no test-suite coverage statement is visible in evidence.
Audience is sharply defined (coding agents authoring TypeScript video), scenarios (CI, headless, CPU fallback, remote servers) documented; environment fit well specified (Node ≥22, per-OS GPU backends, ~10-12x CPU penalty). Deducted on trigger_precision: the 'npx skills add' / '70+ agents' distribution path has no manifest file in evidence showing what the agent is actually told to do.
Clear information architecture, complete install notes (init/list/add), stable naming, and examples mapped to numbered example dirs; version 2.8.1 with a changesets pipeline. Deducted: the LICENCE file itself is absent from evidence (badge only); known limitations are scattered, not a dedicated section; maintenance responsibility rests on community links with no contributing/governance file and an unverified publisher.
Output usability is good (MP4 path returned, components copied shadcn-style so users own the source), and 'no headless browser, frame-accurate, deterministic' is a genuine differentiator with reasonable cost/benefit for agent-driven video. Held at 2, not 3, because the headline performance claims carry no benchmark data inside the provided files.
Capability claims trace to numbered examples and docs links, which helps; but cross-source corroboration is weak — YouTube films, framefields.dev, and the '70+ agents' figure cannot be checked within this evidence set, and marketing assertions ('zero drift', 'frame-accurate') are blended with factual statements without separation, costing a point.
- Publisher identity is unverified in the FollowAgents registry; treat as unknown and verify before enterprise adoption.
- The AI Gateway requires an API key, and render results/assets may be uploaded to a remote service — review data-residency and privacy obligations.
- The large, overlapping pnpm overrides list signals elevated transitive-dependency risk; audit carefully on upgrades.
- The renderer service clones and executes user repository code; always set FF_REPO_ALLOWLIST and keep the non-root container setup in production.
- The LICENCE file is absent from the provided evidence (badge only); confirm the license text before legal reliance.
- This is a static review with no executed renders; performance and 'frame-accurate' claims are unverified by this assessment.
FAQ
Do I have to pay to use it?
Can I use it on a machine without a dedicated GPU?
How does it work with my coding agent?
npx skills add gatewai-dev/framefields, which teaches Claude Code, Cursor, Codex, Copilot, Hermes and 70+ others to author, animate and render compositions: the agent writes TypeScript, inspects rendered frame grids and exports MP4s headlessly.Will my edits to built-in components be overwritten?
framefields add copies component source into src/components/, and files you've edited are never overwritten unless you explicitly pass --overwrite.