Dubbing
Dubbing is supported natively on POST /v2/generate. Pass the dubParams object alongside your normal generation request and Sync will extract audio from the video input, dub it into the target language, and run lipsync on the dubbed result — all as one job.
A video with audio is sufficient for dubbing to work — video input alone (with an embedded audio track) is acceptable. You do not need to supply a separate audio input; any audio inputs in the input array are ignored when dubParams is present. You must pass the dub parameters (dubParams) to enable dubbing.
When to use dubbing
- Native
dubParamsflow (this page): single API call, recommended for standard translation-plus-lipsync workflows. - Manual orchestration: when you need custom control over transcription, TTS voice cloning, or intermediate steps, see the Translation/Dubbing tutorial which wires ElevenLabs, OpenAI, and Sync together manually.
Workflow
Prepare a video with audio
Ensure your source file is a video whose audio track you want translated. No separate audio input is required.
Pick a target language
Choose one of the supported targetLang codes (see the DubLanguage enum in the API Reference for the full list).
DubDto fields
See the full API reference for dubParams.
targetLang(DubLanguage, required): target language code for dubbing, e.g.es,fr,ja.sourceLang(DubSourceLanguage, optional, defaultauto): source language code, orautoto let the engine detect it.numSpeakers(integer, optional, default0): number of speakers in the source video.0enables auto-detection; otherwise set a value between 1 and 50.
Request examples
TypeScript SDK
Python SDK
cURL (HTTP)
Behavior notes
- When
dubParamsis provided, audio is extracted from the video input, dubbed via ElevenLabs into the target language, and lipsync is run against the dubbed audio. - Any audio inputs in the
inputarray are ignored when dubbing is enabled — pass only the video input. - A probed audio duration is required on the source video; dubbing requests without a decodable audio track are rejected.
- Billing is reported per dubbed output minute. See the Billing page for details.
See also
- Models → Lipsync — underlying lipsync model used after dubbing.
- Translation/Dubbing tutorial — legacy multi-service orchestration with fine-grained control.

