Skip to main content

Event catalog

EventTrigger
render.queuedRender job accepted and queued
render.processingGPU engine started processing
render.progressProgress update (multiple per job)
render.completedRender finished, artifact ready
render.failedRender failed with an error
render.cancelledRender was cancelled
task.queuedTask accepted and queued
task.processingTask started processing
task.completedTask finished, artifact ready
task.failedTask failed with an error
asset.readyMedia metadata extracted after upload or import (duration, width, height)
webhook.testSent by the test endpoint

Payload envelope

All events share the same outer envelope:
{
  "type": "render.completed",
  "created_at": "2026-05-21T07:15:00Z",
  "data": { /* job object */ }
}
The data field contains the full job object at the time of the event, including output (on completion) or error (on failure).

asset.ready example

Fired when a video or audio file uploaded via POST /v1/uploads or imported via POST /v1/imports has finished metadata extraction:
{
  "type": "asset.ready",
  "data": {
    "source_url": "https://cdn-user.framelane.io/uploads/ws_01J.../a1b2c3.mp4",
    "duration": 42.5,
    "width": 1920,
    "height": 1080
  }
}

render.completed example

{
  "type": "render.completed",
  "created_at": "2026-05-21T07:15:23Z",
  "data": {
    "id": "render_01J...",
    "kind": "render",
    "status": "completed",
    "progress_percent": 100,
    "output": {
      "url": "https://storage.googleapis.com/...",
      "width": 1920,
      "height": 1080,
      "duration": 15.0,
      "size_bytes": 12582912
    },
    "metadata": { "project_id": "proj_123" },
    "created_at": "2026-05-21T07:14:55Z",
    "updated_at": "2026-05-21T07:15:23Z",
    "completed_at": "2026-05-21T07:15:23Z"
  }
}

render.failed example

{
  "type": "render.failed",
  "created_at": "2026-05-21T07:14:58Z",
  "data": {
    "id": "render_01J...",
    "status": "failed",
    "error": {
      "code": "source_not_found",
      "message": "Source URL returned 404."
    }
  }
}