API REFERENCE

The Familiar API

Dub any video from inside your own product: voice + lip-sync in one model, 30 languages.

01.What you can build

  • A language toggle on your platform: every upload dubbed into the languages your audience watches.
  • A back catalog dubbed on upload: point the pipeline at the archive and thousands of videos run unattended.
  • Ad & campaign localization: one master spot into every market, each translation held for brand approval.
  • Premium catalogs: films and series through manual review, up to 4K with a true 5.1 or stereo mix.
  • Live broadcasts in every language (coming soon): streams dubbed with everyone on camera in their own voice.
  • Live commerce (coming soon): shopping streams selling in the buyer's language.
  • Faith services & live events (coming soon): a feed per language over WHEP, RTMP, or SRT.
  • Creator tools inside your product: your users manage Do Not Translate lists and context from your UI.

02.Base URL

https://api.thefamiliarlab.com/v1

Every request is HTTPS + JSON (uploads are multipart/form-data) and carries your key in the Authorization header -- see Authentication.

03.Quickstart: dub a video into three languages

One request creates the dub; a webhook (or polling) tells you when each language is ready.

POST/v1/dubs
1 · CREATE THE DUB
curl -X POST https://api.thefamiliarlab.com/v1/dubs \
  -H "Authorization: Bearer $FAMILIAR_API_KEY" \
  -F "source_url=https://cdn.yourapp.com/upload.mp4" \
  -F "target_langs=es,pt,ja"
2 · THE RESPONSE
{
  "dub_id": "dub_31xk9m",
  "status": "queued",
  "source_lang": null,
  "target_langs": ["es", "pt", "ja"],
  "review": "auto"
}
3 · POLL (OR USE A WEBHOOK)
curl https://api.thefamiliarlab.com/v1/dubs/dub_31xk9m \
  -H "Authorization: Bearer $FAMILIAR_API_KEY"
4 · DOWNLOAD EACH FINISHED LANGUAGE
curl -L https://api.thefamiliarlab.com/v1/dubs/dub_31xk9m/output/es \
  -H "Authorization: Bearer $FAMILIAR_API_KEY" \
  -o dubbed-es.mp4

By default the dub renders immediately. Pass review=manual to pause after translation for your creative directors: pick between options, edit any line, render. The flow is in Transcript & review.

04.How a dub moves

TABLE 01 · DUB LIFECYCLE
STATUSWHAT'S HAPPENING
queuedAccepted and waiting for a worker.
transcribingSpeech-to-text with word timestamps; speakers separated.
translatingEach line translated; your Do Not Translate list and context applied.
in_reviewreview=manual only (and every subtitle job); transcript editable until you render.
renderingVoice + lip-sync generated together, per language.
completeEvery language rendered; outputs downloadable.
failedError in the status payload.

Each target language also carries its own status inside outputs[], so a dub can be rendering overall while Spanish is already complete -- see Create a dub.

05.Languages: 99 in, 30 out

Footage comes in from any of 99 source languages; dubs come out in 30 output languages, any to any, in three quality tiers (best first). Output codes are lowercase ISO (en es pt zh yue ja ko fr de ar id ru it vi th nl el uk no sv da ca hr sr bg sk lt lv be kk); the list, each tier, and the planned live set (experimental) are served at GET /v1/languages -- Languages.

06.Versioning & stability

The version rides the path: everything here is /v1. Within a version, changes are additive only, so tolerate fields and events you don't recognize.

  • Additive (no notice needed): new fields, new endpoints, new event types, new languages.
  • Breaking (new version): renamed or removed fields, changed semantics; ships as /v2, with /v1 kept through a migration window agreed with your point of contact.
  • Deprecations: announced in the Changelog and to your integration contact before anything is removed.

07.SDKs

The API is plain HTTPS + JSON -- every example in these docs is runnable curl. Official Python and Node.js SDKs are in progress (SDKs).

08.Access

The API is enterprise-only: private access under a Studio contract, with volume pricing, raised limits, ProRes masters on request, and a named point of contact. Book a call and your key is issued with the contract.