Introducing Runs

Runs are a new top-level resource for executing multi-step media workflows.


What are runs?

A run is a workflow execution containing one or more tasks. Use POST /runs to create complex processing pipelines in a single API call.

{
  "tasks": [
    {
      "kind": "ingest",
      "options": { "url": "https://example.com/video.mp4" },
      "next": [
        { "kind": "video", "options": { "width": 1280, "format": "mp4" } },
        { "kind": "speech" },
        { "kind": "summary" }
      ]
    }
  ]
}

Key features

  • Parallel execution: Tasks at the same level run simultaneously
  • Sequential chaining: Use next to chain tasks that depend on each other
  • Conditional logic: Use conditions kind to run tasks based on input properties
  • Explicit ingest: Declare ingest tasks to control how files enter the pipeline

POST /tasks is still available

POST /tasks remains as a convenience endpoint that creates a single-task run behind the scenes. For multi-step workflows, use POST /runs.


New endpoints

  • POST /runs — Create a run
  • GET /runs — List runs
  • GET /runs/:id — Get a run with its tasks
api
2025-10-01