API REFERENCE · DUBBING
Outputs & subtitles
One output per language: the finished mp4, its subtitles in srt or vtt, its audio as the full mix or the voice track alone, and the translated title + description alongside.
01.Download an output
/v1/dubs/{dub_id}/output/{lang}curl -L https://api.thefamiliarlab.com/v1/dubs/dub_31xk9m/output/es \ -H "Authorization: Bearer $FAMILIAR_API_KEY" \ -o dubbed-es.mp4
Redirects (302) to a signed URL for the finished video -- follow it with -Lor your HTTP client's redirect option. Signed URLs expire after one hour; re-request rather than storing them. Downloading a language that isn't complete yet returns 409; the dub.output_ready webhook fires per language the moment it lands (Webhooks).
| PARAM | TYPE | DESCRIPTION |
|---|---|---|
format | string | Default mp4 (the finished video). srt · vtt return that language's subtitles; audio the full audio mix (m4a); voice the dubbed voice track alone (wav). |
02.Subtitles
/v1/dubs/{dub_id}/output/{lang}?format=srt1 00:00:12,480 --> 00:00:15,910 Ese es todo el truco.
Free on every dub, including subtitles_only jobs. Subtitle text comes from the review step, so a subtitle job always pauses at in_review before its files exist -- Transcript & review. Source-language subtitles ride the same route with the source's code.
03.Audio tracks
/v1/dubs/{dub_id}/output/{lang}?format=audiocurl -L "https://api.thefamiliarlab.com/v1/dubs/dub_31xk9m/output/es?format=voice" \ -H "Authorization: Bearer $FAMILIAR_API_KEY" \ -o dubbed-es.voice.wav
Two tracks per language, each the same 302 signed-URL redirect as the video. audio is the finished mix exactly as it sits in the mp4 -- for platforms that accept additional audio tracks (YouTube multi-language audio) and audio-only distribution. voice is the dubbed voice track alone, no scene bed -- take it into your own mix (music and effects rebalance) without touching the dub. Both land with the video: one dub.output_readywebhook covers the language's whole file set.
04.Translated metadata
If the dub was created with metadata.title / metadata.description, every language's output arrives with its own translated pair -- Metadata translation documents the endpoint and what survives translation untouched.
05.Retention
Outputs stay downloadable until you delete the dub (DELETE /v1/dubs/{dub_id}, Delete a dub) -- there is no automatic expiry.
06.Access
The API is enterprise-only: private access under a Studio contract, with volume pricing, raised limits, and a named point of contact for the integration. Book a call and your key is issued with the contract.