# VOD Express API

> Dub, translate and caption recorded video and audio, file by file.

The VOD Express API turns recorded media into localized media. You describe once **what to do**
(which language is spoken, which languages to translate into and dub, which files to produce),
then drop video or audio files into a folder, or point the project at an RSS or Media RSS feed. Each file
is transcribed, translated, dubbed with AI voices and packaged into the outputs you asked for.

```mermaid
flowchart LR
  A[episode.mp4<br/>English] --> B[Transcribe]
  B --> C[Translate<br/>es · de · fr]
  C --> D[Dub<br/>AI voices]
  D --> E[episode.es.mp4<br/>episode.de.mp4<br/>episode.fr.srt]
```

- **[Quickstart](/vod-express/quickstart)**: Dub your first video into Spanish in about ten minutes, with `curl`.
- **[How it works](/vod-express/concepts/how-it-works)**: Projects, where the media comes from and where the results go: the ideas behind the API.
- **[Examples](/vod-express/examples/dub-a-video)**: Ready-to-send configurations for dubbing, subtitles, audio-only and batch jobs.
- **[API reference](/vod-express/api-reference/introduction)**: Every endpoint, with an interactive playground.

## What you can build

**Dubbed video with several audio tracks**

One MP4 per episode with Spanish, German and the original audio as selectable tracks, cloned
from the speakers' own voices over the original background.
[Example](/vod-express/examples/multi-language).

**Subtitles and captions**

SRT or WebVTT files in the source language and any number of translations, or subtitle tracks
muxed into the video.
[Example](/vod-express/examples/subtitles).

**Audio-only localization**

Podcasts and audiobooks dubbed into MP3 or M4A. [Example](/vod-express/examples/audio-only).

**A whole catalogue**

Sync a season folder to S3 with the AWS CLI; every file is processed as it arrives, and
subfolders are kept in the outputs. [Example](/vod-express/examples/season-batch).

**A dubbed copy of your feed**

The project reads your RSS or Media RSS feed, dubs each new item as it appears, and publishes
the same feed with the Spanish files at a URL your players and partners can read.
[Feeds](/vod-express/concepts/inputs#feeds).

## The flow at a glance

### 1. Authenticate

Exchange your SyncWords API key pair for a bearer token. [Authentication](/vod-express/authentication).

### 2. Create a project

`POST /projects` with a `config`: the source language, the translations, the voices and the
output files. [Configure a project](/vod-express/configuration/overview).

### 3. Upload media

Put files into the project's input folder, with the AWS CLI or through the API.
[Upload media](/vod-express/uploads/overview). A project that reads a feed takes its media from
the feed instead. [Inputs](/vod-express/concepts/inputs).

### 4. Collect the results

Follow `GET /projects/{id}/files` until each file is `done`, then download its outputs.
[Monitoring](/vod-express/guides/monitoring).

## Hear it

The same clip before and after: a two-speaker English dialogue (synthetic voices over a test
pattern), dubbed into Latin American Spanish by Deepdub, which clones each speaker's voice
(`voice: "auto"`, `locale: "es-XL"`). The original voices are removed and the rest of the audio
kept. Made with the [Quickstart](/vod-express/quickstart)'s config plus the locale; the
[sample](/vod-express/samples/sample-en.mp4) is yours to try it with.

- **Before: English**: <video controls preload="metadata" src="/vod-express/samples/sample-en.mp4" className="w-full rounded-lg" />
- **After: Spanish dub**: <video controls preload="metadata" src="/vod-express/samples/sample-en.es.mp4" className="w-full rounded-lg" />

## Before you have keys

What is supported is public: every [language](/vod-express/configuration/languages) with its engines, the
[voices](/vod-express/configuration/voices) to start with, and every field of a project's config in the
[Config reference](/vod-express/configuration/reference). To get keys, see
[Get access](/vod-express/quickstart#get-access). The words these pages use are in the
[Glossary](/vod-express/concepts/glossary).

Base URLs, conventions and the machine-readable description of the API are in the
[API reference](/vod-express/api-reference/introduction); where tokens come from and what to check before
going live is in [Environments](/vod-express/environments).
