Pipelines

Submit multi-step video processing runs instead of chaining individual jobs manually. The API auto-includes transcription when downstream steps need a transcript, runs downstream steps in parallel after transcription completes, and exposes aggregate status on the pipeline object.

Requires the same project API key permission as job creation: job:create.

The Pipeline object

pipelineIdstring
Unique pipeline id (pip_…).
statusstring
pending, running, completed, partial, failed, or cancelled. partial means mixed step outcomes.
stepsarray
Per-capability step status and linked jobId.
videoSourceobject
S3 direct source when starting from a video.
textSourceIdstring
Text source id once transcription completes.

Preview pipeline

POST/v1/pipelines/preview
Resolve selected steps (including auto-added transcription), platform-injected config per step, and estimated credits. Does not create a pipeline.

Requires permission

job:create

Parameters

selectedStepsarray
Capability service types to run (e.g. clip_generation, metadata).
videoSourceobject
connectionId, bucket, sourceKey for a new video run.

Returns

Returns resolvedSteps and estimatedCredits.

See the the pipeline object for attribute details.

Create pipeline

POST/v1/pipelines
Create and start a pipeline. Poll GET /v1/pipelines/{pipelineId} until status is terminal. Filter jobs with GET /v1/jobs?pipelineId=….

Requires permission

job:create

Returns

Returns the Pipeline object (201).

See the the pipeline object for attribute details.

Get pipeline

GET/v1/pipelines/{pipelineId}
Retrieve pipeline status and per-step job links.

Requires permission

job:read

Parameters

pipelineIdstring
Pipeline id (pip_…).

Returns

Returns the Pipeline object.

See the the pipeline object for attribute details.

Retry failed steps

POST/v1/pipelines/{pipelineId}/retry
Re-submit failed steps on a partial or failed pipeline. Optional body: { "stepIds": ["clip_generation"] }.

Requires permission

job:create