AI Video Dubber - Translate & Re-Voice Any Video avatar

AI Video Dubber - Translate & Re-Voice Any Video

Pricing

from $120.00 / 1,000 dubbed minutes

Go to Apify Store
AI Video Dubber - Translate & Re-Voice Any Video

AI Video Dubber - Translate & Re-Voice Any Video

Dub any video into another language. It writes down the speech and translates it. Then it makes an AI voice timed to the original. The new voice goes back into the video. 23 languages. $0.12 per dubbed minute, flat rate, no subscription.

Pricing

from $120.00 / 1,000 dubbed minutes

Rating

5.0

(1)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

8

Total users

1

Monthly active users

3 days ago

Last modified

Share

AI Video Dubber: put a video into another language with a new voice track

Give it a direct link to a video you host and pick a language. It writes down what is said, translates it, speaks the translation with an AI voice timed to the original lines, and puts that back over the picture. You get a dubbed MP4 and a translated SRT.

Two things to be clear about. It runs on your own OpenAI key, so the transcription, the translation and the voice all land on your OpenAI bill on top of the charge here. And the original audio is gone: this is a replacement voice track, not a mix, and there is no voice cloning and no lip sync.

InputA direct link to a video file you host
OutputOne dubbed MP4 and a translated SRT
CeilingOne video and one language per run
Account neededYour own OpenAI API key
Price$0.12 per minute of source video, rounded up

🌍 What AI Video Dubber does

It downloads your file, pulls the audio out and sends it for transcription with timestamps, so every line of speech comes back with a start and an end.

Those lines are translated in one pass, which keeps them consistent with each other rather than translating each in isolation. Then each translated line is spoken separately and dropped back at the timestamp its original sat on, so the dub follows the picture instead of drifting.

Where a translated line runs longer than the gap it has to fit into, it is sped up to make room, up to three times. Past that it will not compress any further, and the next line starts while it is still speaking.

23 languages: Spanish, French, German, Italian, Portuguese, Hindi, Arabic, Russian, Japanese, Korean, Chinese, Dutch, Polish, Turkish, Indonesian, Vietnamese, Thai, Swedish, Ukrainian, Romanian, Greek, Hebrew and Filipino.

📥 What you give it

{
"videoUrl": "https://yourdomain.com/clips/interview.mp4",
"targetLanguage": "es",
"voice": "onyx",
"burnSubtitles": true
}
FieldDefaultWhat it is
videoUrlnoneA public direct link to an .mp4, .mov or .webm. You host the file. The form prefills an example.com address, which is a placeholder, not a default: leave it there with a key set and the run fails on a missing file.
targetLanguageesThe language to dub into, as a two-letter code from the list above.
sourceLanguageautoThe spoken language of the original. Leave it on auto unless detection gets it wrong.
voiceonyxalloy, echo, fable, onyx, nova or shimmer. onyx is the deep male one, nova and shimmer are female.
burnSubtitlestrueOverlays the translated subtitles on the picture. This means re-encoding the video, so it is slower. Turn it off and the picture is copied untouched.
openaiApiKeynoneYour own OpenAI key, used for all three steps. Marked secret.
ttsModeltts-1tts-1 is quick, tts-1-hd sounds better and costs you more on your own bill.
translationModelgpt-4o-miniThe chat model that does the translating. Any model name that works on your host.
baseUrlnoneAdvanced. Any OpenAI-compatible host. Empty means https://api.openai.com/v1.

Leave the key out and you get a labelled sample row rather than a dub, free, so you can see the shape before you spend anything.

📤 What you get back

One row, and two files in the run's key-value store: dubbed-es-1786411663909.mp4 and subtitles-es-1786411663909.srt, with the language code in the name.

FieldWhat it is
oktrue on a delivered dub.
videoUrlThe source link you gave it.
sourceLanguageWhat the speech was detected as, or what you set.
targetLanguage, voiceWhat it was dubbed into, and who read it.
segmentsHow many separate lines of speech were found and voiced.
durationSecondsThe length of the source video, rounded. This is what the charge is worked out from.
outputmp4Key, srtKey and mp4Url: where the dubbed video and the subtitle file ended up.
processingSecondsHow long the run took.

No example row is printed here. No run on record has produced one with a working customer key, and a plausible row typed out by hand is worse than none.

🧾 Reading the output

Two rows can appear, and they look alike in the table, which is the one thing to watch.

RowHow to spot itBilled
A finished duboutput.mp4Key has a filename in ityes
The keyless sample_sample: true, a reason, and output keys that are emptyno

The sample row carries ok: true, so the Overview table will not tell you apart from a real result. Check _sample or output.mp4Key before you trust a row.

If anything in the chain fails, the run stops and is marked failed. There is no partial row and no charge for a dub that was never made. The log names the step: the download, the transcription, the translation or the voice.

One more thing to check on the way out. When the translation comes back with fewer lines than there were segments, the gaps are filled with the original text, which means those lines get spoken in the source language by the dubbing voice. Listen through before you publish.

In the Overview table, output shows as a nested object rather than a link, so open the row or go to the run's Storage tab to get the file.

▶️ How to run it

  1. Put your video somewhere with a direct download link. This does not fetch from video sites.
  2. Open AI Video Dubber and click Try for free to see the sample row.
  3. Paste your key into OpenAI API key (BYO) and your link into Video URL.
  4. Pick Target language and Voice, and decide whether you want subtitles burned on.
  5. Click Start, then take the MP4 and SRT from the run's Storage tab.

💰 How much does it cost?

$0.12 per minute of source video. Flat on every Apify plan, no volume tiers. Minutes are rounded up, so a 90-second clip counts as two and anything under a minute counts as one.

A run that fails delivers no video and is not charged for one. OpenAI bills your own key separately for the transcription, the translation and every line of speech, and tts-1-hd costs you more there than tts-1.

💡 What people use it for

  • Putting an existing channel's back catalogue into a second language without re-recording anything.
  • Course and training video localisation, where the SRT matters as much as the audio.
  • Ads and product clips that need a Spanish or Arabic cut for one campaign.
  • Getting a rough dub in front of a client to decide whether a proper voice session is worth booking.

🚧 What it does not do

  • No voice cloning and no lip sync. One of six stock voices reads the whole thing, and mouths will not match.
  • The original audio is replaced, not mixed underneath. Music and effects that were on the original track go with it.
  • Keep sources short. The whole soundtrack goes up for transcription in one piece, so anything past roughly 13 minutes of audio is likely to fail at that step.
  • One language and one video per run. Dubbing into three languages is three runs.
  • It does not fetch from video sites. A direct file link to something you host, nothing else.
  • A line that will not fit can overlap the next one. Speed-fitting stops at three times, and after that two voices can be heard together for a moment.
  • No speech, no dub. A video with no audio track, or with nothing spoken in it, stops the run.

🧭 Which AI video actor do you need?

If you wantUse
A video re-voiced in another languageThis one
Subtitles translated without touching the audioSubtitle Translator
A plain transcript of what was saidVideo Audio Transcriber
Word-by-word captions burned on your own videoAuto Caption Burner
A voiceover from text, with no video involvedAI Text-to-Speech Voiceover

❓ Questions people ask

Do I need my own key? Yes. Without it you get the sample row rather than a dub.

Can I keep the original audio underneath? No. The dub replaces the audio track.

Will it sound like the original speaker? No. It is one of six stock voices, picked by you.

How long does a run take? It depends on how many lines of speech there are, since each is voiced one at a time, and burning subtitles adds a full re-encode on top.

What do the rounded minutes mean for a short clip? A 20-second clip is charged as one minute, and a 3-minute-10-second one as four.

Can I dub a YouTube link? Not directly. Download the file first and host it somewhere with a direct link.

🆘 If something breaks

Open the Issues tab on the actor page. Include the run ID and your source link, and say which step the log stopped at, since that usually points straight at the cause.