Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.roughy.ai/llms.txt

Use this file to discover all available pages before exploring further.

What is a pipeline

A pipeline groups one or more processing steps that transform input assets (audio, video) into output assets (cut decisions, rendered video). Pipelines run asynchronously: you POST a definition, get back a pipeline ID, and either poll status or subscribe to a live event stream until the run finishes.

Lifecycle

A pipeline moves through five states:
StateMeaning
PENDINGCreated but not yet picked up by a worker.
RUNNINGAt least one step is executing.
COMPLETEDAll steps finished successfully.
FAILEDA step errored and was not retried.
CANCELLEDThe pipeline was cancelled before it finished.
The shape of a single run is:
  1. EstimatePOST /api/v1/pipelines/estimate returns a price quote plus a signed pricing token (5-minute TTL).
  2. CreatePOST /api/v1/pipelines with the token reserves credits, creates the pipeline (state PENDING), and queues the first step.
  3. ObserveGET /api/v1/pipelines/{id} returns the current state plus per-step detail. For real-time updates, subscribe to GET /api/v1/pipelines/{id}/events (Server-Sent Events).
  4. Collect — once COMPLETED, each step’s output asset is downloadable via the asset endpoints.

Steps

A pipeline contains one or more steps, each binding a processor (cut, render) to a configuration. Steps execute in declared order; a downstream step can read the original pipeline input or any prior step’s output, depending on the processor. Each step independently moves through PENDING → RUNNING → COMPLETED | FAILED. Step-level state is exposed in the pipeline detail response.

Cancel and retry

  • POST /api/v1/pipelines/{id}/cancel — stops a PENDING or RUNNING pipeline. Reserved credits are released.
  • POST /api/v1/pipelines/{id}/retry — restarts a FAILED pipeline from the first step.
  • POST /api/v1/pipelines/{id}/steps/{step_id}/retry — retries a single failed step in place without re-running earlier steps.

Listing

GET /api/v1/pipelines returns a paginated list of your pipelines (limit, offset query params), most recent first.