Transcoder

Create transcoding job

post/transcoder/jobs

Submit a video for transcoding. Pick the output quality ladder you need and we deliver the finished files to your storage.

Authorization

Authorization
Authorization*string

Bearer YOUR_API_TOKEN with an API token. The X-API-Key: YOUR_API_TOKEN header works too.

Request body

application/jsonRequired
input*JobInput
Properties (3)
source*string
Value in"url""s3"
url?string | null
Rangelength ≤ 2048
s3?S3Config | null
Properties (6)
endpoint?string | null

S3-compatible endpoint URL (omit for AWS S3)

Rangelength ≤ 512
region?string | null
Rangelength ≤ 64
bucket*string
Range1 ≤ length ≤ 255
path?string

Object key (input) or destination key prefix (output)

Rangelength ≤ 1024Default""
access_key?string | null
Rangelength ≤ 255
secret_key?string | null
Rangelength ≤ 2048
output*JobOutput
Properties (1)
s3*S3Config
Properties (6)
endpoint?string | null

S3-compatible endpoint URL (omit for AWS S3)

Rangelength ≤ 512
region?string | null
Rangelength ≤ 64
bucket*string
Range1 ≤ length ≤ 255
path?string

Object key (input) or destination key prefix (output)

Rangelength ≤ 1024Default""
access_key?string | null
Rangelength ≤ 255
secret_key?string | null
Rangelength ≤ 2048
outputs*array<OutputSpec>
Rangeitems ≥ 1Rangeitems ≤ 20
Properties (1)
type*string
Value in"file""hls""thumbnails""gif"
webhook_url?string | null
Rangelength ≤ 2048
idempotency_key?string | null
Rangelength ≤ 255

Responses

Successful Response

application/json

uuid*string
status?string | null

queued, analyzing, encoding, finalizing, completed, failed, canceled

input?record<string, any> | null

Source of the video {source, url, s3}. s3.secret_key is never returned

output?record<string, any> | null

Destination storage {s3}. s3.secret_key is never returned

spec?record<string, any> | null

Requested outputs: {outputs: [OutputSpec, ...]}

outputs?any

Files produced by the job ([{type, bucket, key}]); null until the job finishes

progress?integer | null

Progress percentage (0-100)

total_segments?integer | null
completed_segments?integer | null
batch_id?string | null

Set when the job was created through a bulk submission

error?string | null
created_at?string | null