v0.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.
Built with Rust. GPU native. Timeline as state. No React. No browser. No Lambda.

No credit card required · API + MCP · Preview before render
POST /v1/renders⧉ Copy
cURLTypeScriptPythonMCP
curl -X POST https://api.framelane.io/v1/renders \
  -H "Authorization: Bearer $FRAMELANE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "width": 1920,
    "height": 1080,
    "duration": 15,
    "elements": [
      {
        "type": "video",
        "source_url": "raw.mp4"
      },
      {
        "type": "text",
        "text": "Ship day"
      }
    ]
  }'

Everything an agent needs
to produce video.

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

Asset ingest

Upload or reference video, audio, images, fonts, and LUTs. FrameLane handles metadata, proxies, transcoding, and problematic media inputs.

{
  "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

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

Layered video composition

AGENT PROMPT

Stack two full-frame clips with vintage and bokeh effects, drop in a bordered PiP at second 30, sequence four text layers with fade, difference, overlay, and evaporate motion — export 3840×2160.

Vintage effectBokeh blurPiP overlayText motionDifference blend4K export

Stack video layers with effects, add a picture-in-picture overlay, and sequence text with blend and dissolve motion, all in one project you edit, preview, then render.

proj_01HX5DGdone ● total 18.2s

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
AI background removal
Yes
In pipeline
No
No
Chromakey only
No
Separate
Gaze correction
Yes
No
No
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 + HDR output
Yes
limited
4K slow/costly, no HDR
limited
1080p SDR, 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

Get started
in seconds.

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

# 1. Create a project from a composition
curl -X POST https://api.framelane.io/v1/projects \
  -H "Authorization: Bearer $FRAMELANE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Launch teaser",
    "render_request": {
      "width": 1920, "height": 1080, "duration": 30,
      "elements": [
        { "type": "video", "id": "bg",
          "source_url": "https://storage.example.com/raw-footage.mp4",
          "in_point": 0, "out_point": 30 },
        { "type": "text", "id": "title", "text": "Hello World",
          "font_family": "Inter", "font_size": 48, "text_color": "#ffffff",
          "animation_preset": "typewriter",
          "time": 0, "duration": 30, "x": "50%", "y": "90%" }
      ]
    }
  }'
# => { "id": "proj_...", "version": 1 }

# 2. Edit with a targeted op (free validation rides along)
curl -X POST https://api.framelane.io/v1/projects/$PROJECT/ops \
  -H "Authorization: Bearer $FRAMELANE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "ops": [{ "op": "set_fields", "id": "title",
        "fields": { "text": "Ship day" } }], "if_version": 1 }'

# 3. Preview cheaply, or dry_run: true to validate for free
curl -X POST https://api.framelane.io/v1/projects/$PROJECT/preview \
  -H "Authorization: Bearer $FRAMELANE_API_KEY" \
  -H "Content-Type: application/json" -d '{ "at": 1.0 }'

# 4. Render when it's valid, then poll and download
curl -X POST https://api.framelane.io/v1/projects/$PROJECT/renders \
  -H "Authorization: Bearer $FRAMELANE_API_KEY"
curl https://api.framelane.io/v1/renders/{id} \
  -H "Authorization: Bearer $FRAMELANE_API_KEY"