Skip to main content

Media transcode

Sellable product

This capability is granted by an API key scoped to the `` product (product face). See the product reference below.

Generic media/video processing capability. Submits transcode jobs (pluggable Stub / FFmpeg backend), extracts technical metadata, generates thumbnails, detects scene boundaries, and extracts audio tracks. Stateless outbound compute; no persistent store.

  • Group: Content & media
  • Contract: contracts/media-transcode/v1/openapi.yaml
  • Public base: https://api.vagarylabs.com (the consolidated API gateway — one host, per-brand sibling api.<zone>)
  • Auth: a product API key (vgk_…) issued from the console — Authorization: Bearer vgk_…
  • Product face (customer-keyed):
    • https://api.vagarylabs.com/product/v1/media/transcode

Endpoints

MethodPathSummary
POST/v1/transcodeSubmit a transcode job (validates output_format ∈ {mp4,webm,hls,dash}, quality ∈ {360p,480p,720p,1080p,4k}).
POST/v1/metadataTechnical metadata for a video URL.
POST/v1/thumbnailSingle thumbnail at a timestamp.
POST/v1/thumbnailsN evenly-spaced thumbnails.
POST/v1/audioExtract the audio track.
POST/v1/scenesScene-boundary detection.
GET/healthLiveness + backend + tenancy posture.
GET/metricsPrometheus metrics.

Schemas

VideoRequest

FieldTypeDescription
video_urlstring
organization_idstringoptional; must match the verified tenant when a JWT is presented

TranscodeRequest

ThumbnailRequest

ThumbnailsRequest

TranscodeResult

FieldTypeDescription
job_idstring
statusstring
output_urlstring

Metadata

FieldTypeDescription
durationnumber
widthinteger
heightinteger
codecstring
fpsnumber
bitrateinteger
size_bytesinteger

Error

FieldTypeDescription
errorstring
reasonstring
detailobject

Generated by scripts/gen-capability-docs.py from contracts/media-transcode/v1/openapi.yaml — the contract IS the source of truth; edit the contract, not this page.