Request a tool
All toolsGuidesMCP serverRequest a toolPlatformsCategories
AI Video Dubber icon

AI Video Dubber

Dub any video into another language: transcribe, translate, AI voice-over timed to the original, plus optional translated subtitles.

5 from 1 review on Apify 62 runs on Apify $0.12 per dubbed minute ($120 / 1,000)
Run this in the cloudRun on Apify →

AI Video & Content Studio

How it works

  1. 1
    Open it on Apify

    Hit Run on Apify — it opens the tool in the cloud, no install.

  2. 2
    Set the inputs

    Adjust videoUrl, targetLanguage, sourceLanguage (sensible defaults are pre-filled).

  3. 3
    Click Run

    The tool runs on Apify’s cloud and collects the data for you.

  4. 4
    Export the results

    Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.

Pricing

$0.12 per dubbed minute = $120 per 1,000

You are charged forWhenPrice
Dubbed minutePer minute of dubbed/translated video.$0.12
Actor StartCharged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event).$0.0000125

Pay-per-event pricing: you are billed per result, not per subscription — a run that returns nothing costs nothing beyond the start fee. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-08-08, and they are what you are actually charged.

Inputs

FieldWhat it doesType
videoUrlPublic direct URL to the source video (.mp4/.mov/.webm). You host it; nothing is scraped.string
targetLanguageLanguage to dub into (ISO-639-1: es, fr, de, hi, ar, pt, ja, zh, …).string
sourceLanguageSpoken language of the source, or 'auto' to detect.string
voiceAI voice for the dub (OpenAI TTS voices).string
burnSubtitlesOverlay the translated subtitles onto the video.boolean
openaiApiKeyYour OpenAI key — used for transcription (Whisper), translation, and TTS. Kept private.string
ttsModelOpenAI TTS model: tts-1 (fast) or tts-1-hd (higher quality).string
translationModelChat model for translation. Default gpt-4o-mini.string
baseUrlOpenAI-compatible base URL for all calls. Default https://api.openai.com/v1.string

What you get

A structured dataset — each result includes fields like:

oksourceLanguagetargetLanguagevoicesegmentsdurationSecondsoutput

Export every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.

Related tools in AI Video & Content Studio

Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.

Auto Caption Burner iconAI Video & Content Studio

Auto Caption Burner

Burn word-by-word animated captions into any video. 5 viral presets, no watermark, transcript and word timings included.

Ready to run — no setup

Storyboard Video Generator iconAI Video & Content Studio

Storyboard Video Generator

Turn images or a story into a Ken Burns slideshow video with pan-and-zoom motion, optional audio and 9:16, 16:9 or 1:1 output.

Ready to run — no setup

Story to Script Rewriter iconAI Video & Content Studio

Story to Script Rewriter

Turn any story, article or Reddit post into a short-form video script: a strong hook, tight narration, a title and alternate hooks.

Ready to run — no setup

Subtitle Translator iconAI Video & Content Studio

Subtitle Translator

Translate SRT and VTT subtitles into many languages in one run, or transcribe a video first. Timings preserved exactly. $0.05 per language, flat rate.

Ready to run — no setup

AI Thumbnail Generator iconAI Video & Content Studio

AI Thumbnail Generator

Generate scroll-stopping thumbnails with AI: a dramatic close-up face plus a bold hook headline in 9:16, 16:9 or 1:1. For YouTube, Shorts, Reels and ads.

Ready to run — no setup

Social Metadata Generator iconAI Video & Content Studio

Social Metadata Generator

Generate platform-ready titles, captions, hashtags, SEO tags and a pinned comment for YouTube, TikTok, Reels, Shorts and X.

Ready to run — no setup

See all AI Video & Content Studio →

AI Video Dubber & Translator

Takes a video in one language and gives you back the same video speaking another. It transcribes the original speech, translates the text, generates a fresh AI voiceover timed to the original pacing, and muxes that audio back onto the video. Built for creators, localization teams, and anyone who needs a quick second-language cut without booking voice talent.

There is no voice cloning here. The output uses a standard synthetic voice, so you don't need anyone's consent to ship it.

$0.12 per dubbed minute, plus $0.0000125 each time a run starts. Flat rate — no volume tiers, no plan gates — and you are charged only for minutes actually dubbed.

How it works

Four stages, in order:

1. Transcribe — the source audio is pulled out and sent to Whisper, which returns time-coded segments. Set sourceLanguage to auto and it detects the spoken language for you. 2. Translate — each segment is translated by a chat model (gpt-4o-mini by default, overridable via translationModel), segment by segment so the timings survive. 3. Speak — OpenAI TTS renders the translated text in the voice you picked. 4. Assemble — the generated clips are fitted back to the original segment timings, then muxed onto the source video with ffmpeg. If burnSubtitles is on, the translated lines are rendered into the frame as styled ASS subtitles rather than added as a soft track.

Input

FieldRequiredNotes
videoUrlyesPublic direct URL to the source video (.mp4, .mov, .webm). You host it; nothing is scraped.
openaiApiKeyyesYour own OpenAI key. Used for transcription, translation and TTS. Marked secret in the schema.
targetLanguageno23 options: Spanish, French, German, Italian, Portuguese, Hindi, Arabic, Russian, Japanese, Korean, Chinese, Dutch, Polish, Turkish, Indonesian, Vietnamese, Thai, Swedish, Ukrainian, Romanian, Greek, Hebrew, Filipino. Defaults to es.
sourceLanguagenoISO code, or auto to detect. Default auto.
voicenoalloy, echo, fable, onyx (deep male, default), nova (female), shimmer (female).
burnSubtitlesnoOverlay the translated subtitles onto the video. On by default.
ttsModelnotts-1 (fast, default) or tts-1-hd (higher quality).
translationModelnoChat model used for translation. Default gpt-4o-mini.
baseUrlnoAny OpenAI-compatible base URL, if you route through a proxy or a compatible provider.

Output

One dataset row per run, plus the media in the run's key-value store.

FieldWhat it is
okWhether the dub completed.
videoUrlThe source you passed in.
sourceLanguageThe language actually detected (or the one you forced).
targetLanguage, voiceWhat was produced, echoed back.
segmentsHow many timed speech segments were transcribed, translated and re-voiced.
durationSecondsSource duration, rounded to the second. This is what billing is derived from.
output.mp4KeyKey-value-store key of the finished video, e.g. dubbed-es-1754689200000.mp4.
output.srtKeyKey of the translated .srt, written on every run whether or not subtitles were burned in.
output.mp4UrlDirect URL to the finished MP4 when the store exposes one.
processingSecondsWall-clock time the run took.

Example

{
  "videoUrl": "https://example.com/clip.mp4",
  "targetLanguage": "es",
  "sourceLanguage": "auto",
  "voice": "onyx",
  "burnSubtitles": true,
  "ttsModel": "tts-1",
  "openaiApiKey": "sk-..."
}

Pricing

EventWhenPrice
Actor startOnce per run, per GB of run memory$0.0000125
Dubbed minutePer minute of dubbed video$0.12

Minutes are rounded up to the next whole minute, with a one-minute minimum — a 90-second clip is charged as two minutes, $0.24. The dub-minute event fires only after the finished MP4 has been written, so a run that fails partway through costs you the start fee and nothing else.

Run it without a videoUrl or without a key and it returns a single row labelled _sample: true showing the output shape. Sample runs are not charged for dubbed minutes.

Your OpenAI usage is billed separately by OpenAI, on your own key. That covers Whisper, the translation model and TTS.

Notes and limits

  • The voiceover is fitted to the original segment timings. If the target language is much wordier than the source — English into German is the usual offender — pacing on long segments can feel rushed.
  • Burned subtitles are rendered into the pixels and cannot be toggled off in a player. Turn burnSubtitles off and use the .srt from the key-value store if you want a soft track.
  • One video per run. Queue several runs to batch a catalog.
  • The source must be a direct, publicly reachable file URL. Page URLs, playlists and login-gated links will not download.