Audio, Voice & Dubbing · Versely AI

    Dub a Video Into Another Language

    Same voice, same face, new language.

    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_videoget_dub_statuslist_dubs

    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. 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. 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. 3. Set the extras

      num_speakers, drop_background_audio, highest_resolution and watermark are all controllable per job.

    4. 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.