v0.2.1 · closed betaProfessional video production API for agents

Give your AI agent a professional video production engine.

Your agent writes the plan, previews the result, and renders the video.
Scalable and on brand every time! Built with Rust. GPU native. Timeline as state. No browser.

No credit card required · API + MCP · Preview before render
POST /v1/renders
curl -X POST https://api.framelane.io/v1/renders \
  -H "Authorization: Bearer $FRAMELANE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
      "width": 3840,
      "height": 2160,
      "duration": 8,
      "elements": [
        {
          "type": "image",
          "id": "logo1",
          "source_url": "https://cdn-assets.framelane.io/shared/images/logo.png",
          "duration": 1,
          "z_index": 40,
          "motion": [
            {
              "type": "fade",
              "time": 0,
              "duration": 0.5,
              "reversed": true
            }
          ]
        },
        {
          "type": "text",
          "id": "t1",
          "text": "BOMB!",
          "font_family": "Poppins",
          "text_color": "#D9FF00",
          "stroke_color": "#000000",
          "stroke_width": 0.05,
          "shadow_color": "#000000",
          "shadow_x": "2%",
          "shadow_y": "4%",
          "font_size": 420,
          "x": "50%",
          "y": "30%",
          "time": 2,
          "duration": 6,
          "motion": [
            {
              "type": "fade",
              "time": 2,
              "duration": 1
            },
            {
              "type": "fade",
              "time": 5,
              "duration": 1,
              "reversed": true
            }
          ],
          "z_index": 10
        },
        {
          "type": "video",
          "id": "vid2",
          "source_url": "https://cdn-assets.framelane.io/shared/videos/clip4.mp4",
          "z_index": 0
        },
        {
          "type": "video",
          "id": "vid1",
          "source_url": "https://cdn-assets.framelane.io/shared/videos/clip4.webm",
          "volume": 0,
          "z_index": 20
        },
        {
          "type": "text",
          "id": "t2",
          "text": "I'm s— What? What are we all thinking? A bomb, Alvarez. A bomb.",
          "font_family": "Poppins",
          "text_color": "#FFFFFF",
          "stroke_color": "#000000",
          "background_color": "#D9FF00",
          "stroke_width": 0.1,
          "shadow_color": "#000000",
          "shadow_x": "5%",
          "shadow_y": "8%",
          "font_size": 120,
          "z_index": 30,
          "x": "50%",
          "y": "75%",
          "duration": 8,
          "word_animation": {
            "style": "color",
            "words": [
              { "text": "I'm", "start": 0.1, "end": 0.56, "confidence": 0.6805945, "speaker": "A" },
              { "text": "s—", "start": 0.56, "end": 0.78, "confidence": 0.35773265, "speaker": "A" },
              { "text": "What?", "start": 0.78, "end": 1.14, "confidence": 0.46733034, "speaker": "A" },
              { "text": "What", "start": 1.14, "end": 1.28, "confidence": 0.99298406, "speaker": "A" },
              { "text": "are", "start": 1.28, "end": 1.38, "confidence": 0.82208097, "speaker": "A" },
              { "text": "we", "start": 1.38, "end": 1.48, "confidence": 0.99767655, "speaker": "A" },
              { "text": "all", "start": 1.48, "end": 1.6, "confidence": 0.99792635, "speaker": "A" },
              { "text": "thinking?", "start": 1.6, "end": 1.9, "confidence": 0.97452897, "speaker": "A" },
              { "text": "A", "start": 3.08, "end": 3.18, "confidence": 0.8756745, "speaker": "A" },
              { "text": "bomb,", "start": 3.18, "end": 4.8, "confidence": 0.5277416, "speaker": "A" },
              { "text": "Alvarez.", "start": 4.8, "end": 6.68, "confidence": 0.817495, "speaker": "A" },
              { "text": "A", "start": 6.68, "end": 7.1, "confidence": 0.92032, "speaker": "A" },
              { "text": "bomb.", "start": 7.1, "end": 8, "confidence": 0.9752811, "speaker": "A" }
            ]
          }
        }
      ]
  }'

What agents can make
with FrameLane.

Start with real footage. Let your agent edit and preview a project. FrameLane renders the final video.

USE CASE

Personalized at scale

AGENT PROMPT

Pull this week's loyalty record per customer — first name, top-matched recipe, and their two best savings offers — drop them into the fixed Waitrose template on the text and image layers, keep every transition, price-tag reveal, and pacing cue identical, then queue a render per customer record.

Templated projectPer-customer swapRecipe personalizationDynamic offersBatch renders

One project, sent a thousand ways: each customer's name, recommended recipe, and savings offers change on every render while the branding, transitions, and pacing stay identical, driven by a single API call per customer record.

proj_01HX5DGdone ● total 18.2s

Everything an agent needs
to produce video.

A complete editing and rendering pipeline exposed through API, SDKs, and MCP.

Asset ingest

Reference media by URL or upload it, then point a video color grade at a .cube LUT. SVG assets rasterize in process, so a stroke icon can be a sticker or a watermark with no PNG step. FrameLane stores each asset and probes its metadata. Video sources must be MP4, MOV, or WebM.

{
  "source_url": "https://cdn.example.com/clip.mp4"
}

How FrameLane
works.

The rendering engine is written in Rust and built on wgpu. The same codebase compiles to a native binary that runs on Vulkan on GCP GPU instances, and to WebAssembly that runs against the browser's GPU API in your web application.

Rustmemory-safe core
wgpuGPU abstraction
WebGPUcheap validate + preview
VulkanLinux / GCP
GPU-accelerated effects on every platform
Preview runs the same engine as the final render
Edit, validate, and preview for free; pay only for a valid render
No "looked fine in the browser" surprises
Embed a WebGPU based video editor inside your application
INproject + ops{ edit → validate → preview }
FRAMELANE RENDERER
Rust · wgpu
fragment shaders

Integrated with leading models

Kling V3Kling AI
Seedance 2.5ByteDance
Veo 3.1Google
Eleven v3Eleven Labs
and more

Built for real video,
not just motion graphics.

  • GPUNo GPU on Lambda

    Lambda and Vercel Sandbox do not have GPUs. You are limited to CPU-only rendering.

    FrameLane renders on GPU. Every job.

  • RenderingCSS animations are forbidden

    CSS transitions or animations are FORBIDDEN, they will not render correctly.

    FrameLane is GPU-native. No browser. No frame simulation. No flickering.

  • AI AgentsAgents have to write React

    No React, no proprietary DSL. AI-first, agents already speak HTML/JSON.

    FrameLane is JSON-in, video-out. Any agent, any language, one API call.

  • TimelineThe edit layer is a black box

    Agents can write scripts and captions, but they cannot read or modify the edit, so every pass is a regeneration, not a refinement.

    FrameLane exposes the edit as a stateful JSON project your agent reads and patches with targeted ops: tracks, clips, captions, timing, validated for free before it renders.

  • PerformanceGrinds to a crawl with real video

    After about 20-30% of rendering 4k video is complete, it grinds to a crawl and renders at about 5fps and continues to slow.

    GPU decode, GPU encode, parallel rendering.

Capability
FrameLane
Remotion
Shotstack
FFmpeg
Timeline editing
Yes
limited
Yes
Yes
Manual
GPU shader effects
Yes
40+
limited
EC2 GPU only, not Lambda
No
Presets, no GLSL
No
Preview = render output
Yes
WASM, free before render
limited
CSS/WebCodecs drift
No
Separate engine
No
Stateful projects (edit, don't re-render)
Yes
Targeted ops + free validation
No
Regenerate each pass
No
Resubmit whole job
No
MCP / agent native
Yes
limited
Docs MCP only
Yes
No
4K output
Yes
limited
4K slow/costly
limited
1080p default, 4K enterprise
limited
Manual
No browser required
Yes
No
Core architecture
Yes
Yes
Managed (no cloud account)
Yes
No
Your AWS account
Yes
No
Built with
Rust/WGPU
React
CPU cloud
C

Common
questions.

Don't see your question? Email us →

AI native product companies that ship a quality video feature at high volume. Ad creative, marketing pipelines, personalisation at scale, variant rendering.
Remotion renders a browser page and screenshots it, which is why 4K export is slow and why frames drift. Template APIs give you slots in a fixed layout. FrameLane is a real timeline with a GPU compositor underneath: layouts reflow instead of cropping, output is identical byte-for-byte across runs, and nothing in the render path is a browser.
After Effects farms give you AE fidelity at AE speed — minutes per clip, CPU-bound, and you need someone who builds AE projects. FrameLane renders its own compositor on a GPU, so the same job takes seconds and the template is a data structure rather than a project file.
Seconds per clip at 4K, because it renders on GPUs rather than in a browser. Free covers 25 render-minutes at 1080p with a watermark. Pro is $99 a month for 2,000 render-minutes at 4K, then $0.08 per render-minute after that. A ten-second video is a sixth of a render-minute.
Yes. Free tier, self-serve API key, first render in minutes. The founder answers every signup personally within a day, but nobody makes you sit through a call.
You give us one design, or one existing video you want more of. That becomes a template with the parts that change marked as inputs — a name, a language, a number, a product shot. After that every render comes back with your type, colours and layout intact. During beta we build the first template with you.
Either. Bring your own clips, stills and voice, or have FrameLane generate them — it calls the current frontier video and voice models on your behalf. Generated material is stored as an asset the moment it's made, and your timeline references the asset. The clip is generated once; the video renders identically every time after that.

Get started
in seconds.

Install the SDK and start building with FrameLane: edit a project, preview it cheaply, and render when it's valid.

Request access →Read the docs