1. Get your API key
Sign up at console.framelane.io and copy your API key from Settings → API Keys.2. Upload your input file
If your video is already hosted at a public HTTPS URL you control, skip to step 3 and use that URL assource_url.
To copy a file from a remote URL (Dropbox, Google Drive, another CDN, or YouTube), use POST /v1/imports instead of upload — see Importing remote media.
For a local file, request an upload slot and PUT the bytes to GCS:
source_url from the upload response in the render request. See Uploading media for supported MIME types and error codes.
3. Submit a render
Send aPOST /v1/renders request with your composition. Replace source_url with your upload URL or any public HTTPS URL:
id — you need it to poll status or download the result.
4. Wait for completion
Option A — Poll job status (simplest for scripts)
CallGET /v1/renders/{id} until status is terminal (completed, failed, or cancelled):
status is queued or processing and progress_percent updates over time. When status is completed, the response includes output.url:
GET /v1/tasks/{id}.
Option B — Webhooks (recommended for production)
Register a webhook endpoint and Framelane calls it when the render completes:5. Download the artifact
Theoutput.url in the job response or webhook is a signed CDN URL. You can also request a fresh download redirect:
Next steps
Uploading media
Local files — signed GCS upload and metadata extraction.
Importing media
Remote URLs, cloud share links, and YouTube via Oxylabs direct-to-GCS.
Run an AI task
Transcribe audio, remove backgrounds, or upscale video.
Verify webhook signatures
Validate HMAC signatures to ensure payloads come from Framelane.
API Reference
Browse all endpoints generated from the OpenAPI spec.

