How to choose export formats

View as Markdown

export_options decides which formats the pipeline auto-produces for each target language.

ParameterTypeDefaultAccepted values
export_optionsstring[]["video"]video, audio, srt - any combination

Omitting export_options preserves the original behaviour: video-only auto-export.

The three formats

The “Use it for” column is suggested guidance from us, not API-defined behaviour. The “You get” column is what the API actually produces.

ValueYou getUse it for
videoThe dubbed video, re-mixed onto the original timelinePublishing straight to YouTube, an LMS, or a social platform
audioThe isolated dubbed audio track, uncompressed .wavPodcast feeds, radio, re-editing in your own NLE, IVR prompts
srtA subtitle file timed to the dubAccessibility, SEO, on-platform captions, QA review of the translation

Ask for srt even when you only plan to ship video. It’s the cheapest way to review translation quality, since you can read the whole dub in seconds instead of watching it.

Reading the exports back

export-status returns a flat array with one entry per (language, format). All formats for all languages come back in a single poll, and there are no per-language or per-format calls.

1{
2 "data": {
3 "exports": [
4 { "target_language": "hi-IN", "export_type": "video", "status": "completed", "download_url": "https://..." },
5 { "target_language": "hi-IN", "export_type": "audio", "status": "completed", "download_url": "https://..." },
6 { "target_language": "hi-IN", "export_type": "srt", "status": "completed", "download_url": "https://..." }
7 ]
8 }
9}

Group by target_language on your side and read download_url from each entry.

Set limit deliberately. It defaults to 5, and a job with 3 languages × 3 formats produces 9 entries, so the tail is not returned. Use a value comfortably above languages × formats (max 100).

audio versus mp3

export_options accepts audio, but export entries can report an export_type of mp3 as well:

  • audio - uncompressed .wav.
  • mp3 - the same track re-encoded.

Handle both values when you switch on export_type, rather than assuming only the three you requested will appear.

Stale exports

Each entry carries an is_stale flag. It becomes true when the translation chunks for that language were edited (for example, in the Creator Studio editor) after the export completed, meaning the file you’d download no longer reflects the latest text.

1for item in exports:
2 if item["status"] == "completed" and item["is_stale"]:
3 print(f"{item['target_language']}/{item['export_type']} is out of date - re-export before publishing")

Download URLs are signed and expire in roughly 24 hours. Persist the job_id and re-poll export-status for a fresh link, and don’t cache the URL itself.