Skip to main content
The Framelane API is organized around predictable, resource-oriented REST. It uses standard HTTP verbs, returns JSON for every response, and authenticates with a Bearer API key. The endpoints in this reference are generated from our OpenAPI specification and include an interactive playground — set your API key once and send live requests from the browser.

Base URL

https://api.framelane.io
All requests use HTTPS. All request and response bodies are JSON encoded with snake_case field names.

Authentication

Every request must include your API key as a Bearer token:
Authorization: Bearer fl_live_kT9uQw...
Create and manage keys in the console under Settings → API Keys. See Authentication for rotation and storage guidance.

Get an API key

Sign up and generate your first key in under a minute.

Asynchronous jobs

Renders and tasks are long-running. Submitting one returns 202 Accepted immediately with a job object — you then wait for completion by polling the job (GET /v1/renders/{id} or GET /v1/tasks/{id}) or by subscribing to webhooks (recommended for production).
Submit job  →  202 Accepted (status: queued)  →  poll or webhook  →  download artifact

Idempotency

POST endpoints that create jobs accept an Idempotency-Key header. Reusing a key returns the original job instead of creating a duplicate; reusing a key with a different body returns 409 Conflict.
Idempotency-Key: render-2026-05-21-001

Pagination

List endpoints use cursor-based pagination with limit and cursor query parameters and return a consistent envelope:
{
  "data": [ /* ... */ ],
  "next_cursor": "eyJpZCI6...",
  "has_more": true
}
Pass next_cursor back as the cursor parameter to fetch the next page. When has_more is false, next_cursor is null.

Errors

Errors return the appropriate HTTP status code and a structured envelope with a machine-readable code:
{
  "error": {
    "code": "not_found",
    "message": "Render not found.",
    "details": {}
  }
}
See Errors for the full list of codes and Rate Limits for throttling behavior.

SDKs

Official SDKs wrap authentication, polling, and webhook verification:

TypeScript SDK

npm install @framelane/sdk

Python SDK

pip install framelane

Resources

Renders

Compose and render video from a timeline of elements.

Tasks

AI operations — background removal, gaze redirect, super resolution, transcription.

Uploads

Request signed upload slots for local media files.

Webhooks

Subscribe to job lifecycle events with signed, retried delivery.