Dubbing is a full pipeline — translate the script, clone the delivery, resync it to the video — not a simple voiceover swap. dub_video runs that whole pipeline asynchronously: submit the job, then poll get_dub_status (or check list_dubs) for the finished file.
There are two engines. 'elevenlabs' (the default) works on audio or video, supports trimming a specific range, and handles clips up to 30 minutes. 'heygen' is video-only, adds lip-sync so the mouth movement matches the new language, but tops out at 8 minutes and supports fewer languages.
Powered by
Dub a video or audio file into another language — full AI dubbing (voice cloning + optional lip-sync), not simple TTS narration. Source must already be Versely-hosted media (a URL from a prior generation, upload, or output — e.g. *.versely.studio); external links (YouTube etc.) aren't supported yet. Runs asynchronously: submits the job and returns a project_id — poll get_dub_status or check list_dubs for completion, don't wait in this turn. Two engines: 'elevenlabs' (default, audio-cloning dub, works on audio or video, supports trimming via start_time/end_time, up to 30 min) and 'heygen' (video-only, lip-synced translation, up to 8 min, no trimming, and only supports a subset of languages).
What to tell the agent
Versely's agent maps this plain-English request directly onto dub_video. You don't need to know the parameter names — just describe what you want.
“Dub this video into Spanish using the ElevenLabs engine, keep the background audio.”
How it works
1. Source your media
The source must already be Versely-hosted — a URL from a prior generation, upload, or output. External links like YouTube aren't supported yet.
2. Pick target_lang and an engine
Default 'elevenlabs' for audio-cloning dubs up to 30 minutes with trimming support, or 'heygen' for video with lip-synced mouth movement, up to 8 minutes.
3. Set the extras
num_speakers, drop_background_audio, highest_resolution and watermark are all controllable per job.
4. Poll for completion
dub_video returns a project_id immediately — the job runs async. Poll get_dub_status with that id, or check list_dubs to browse recent projects.
What it costs
dub_video doesn't publish a flat number in the tool spec — cost scales with video length and which engine you pick. Ask the agent to run estimate_cost before submitting a long dub, and check_credits to confirm you have enough balance.
The formula behind that number: What does dubbing one video into 10 languages cost? — bills one flat charge per job and ignores the target language entirely.
Limits & things to know
- Source must already be on Versely's storage — YouTube and other external links aren't supported as a source yet.
- The 'heygen' engine caps at 8 minutes and doesn't support start_time/end_time trimming; 'elevenlabs' goes up to 30 minutes and does support trimming.
- Only 'heygen' does actual lip-sync to match the new language's mouth shapes — 'elevenlabs' dubs the audio without touching the video.
- This runs asynchronously — don't expect the finished file in the same turn; poll get_dub_status.
Who uses this
- Localizing a single video into multiple markets
- Turning an English UGC ad into Spanish, French or German
- Dubbing a course or explainer for a new audience
- Republishing a viral clip for a non-English-speaking region
Frequently asked questions
What's the difference between the two dubbing engines?+
'elevenlabs' (default) dubs audio only — works on audio or video, supports trimming, and handles up to 30 minutes across more languages. 'heygen' is video-only, adds real lip-sync so the mouth matches the new language, but caps at 8 minutes and supports fewer languages.
Can I dub a YouTube video?+
Not directly — the source has to already be Versely-hosted (from a prior generation, upload, or output). External links like YouTube aren't supported as a dub source yet.
How do I know when the dub is done?+
dub_video returns a project_id right away since the job runs asynchronously. Poll get_dub_status with that id — status moves through queued, dubbing, then completed (or failed) — and the output URL appears once it's done.
Will the mouth movement match the new language?+
Only with the 'heygen' engine, which lip-syncs the video to the translated audio. The default 'elevenlabs' engine dubs the audio track without touching the video.
Related Versely tools
Related editing jobs
Dub a Video Into Another Language inside Versely
The all-in-one AI studio for creators. 60+ models for video, image, voice, music and lipsync in a single app.