Multilingual captions for one clip
Transcribe is not translate. Dub the audio first, then caption each language with its own 165-code pass.
Transcribe is not translate. An English captioner pointed at Spanish audio will emit bad English, not Spanish. For one clip in several languages, dub (or replace) the audio first, then caption each dubbed file in the language actually spoken on that file.
The live caption engine on Versely, add captions to a video, supports 165 language codes: en-US and es-MX, ja-JP and ar-SA, and the rest of the regional split. The code tells the recogniser which phonemes to listen for. It does not invent a translation. The task description is blunt: this is a transcription tool, not a translation tool. Mixing the two is how a Mexican Spanish ad ships with English captions that say "verse Lee" for the brand name.
A second language is a second soundtrack, then a second burn. One MP4 with three caption languages stacked as "options" is a closed-caption fantasy. Short-form plays burned-in captions. The pixels are one language. Ship one file per language.
Transcribe is not translate
Speech-to-text maps audio to words in the language it is told to hear. Translation maps words in language A to words in language B. They share a surface ("make this clip readable in French") and none of a pipeline.
If you set es-ES on an English take, the model listens for Spanish phonemes in English speech. You get garbage, not a Spanish script. If you set en-US on a French take, you get phonetic English. Neither file is a translation. Neither file is a caption you can burn without a read-back that will fail in the first sentence.
Forced narrative is a third job: only the signs and foreign lines a same-language viewer still cannot read. Auto captions will not decide which lines are forced. Do not use a 165-code pass as a substitute for an editorial forced-narrative file.
SDH is a fourth: speech plus [music] and speaker IDs. Auto-transcribe will not invent the knock. If a market needs SDH, author the non-speech cues after the speech pass.
Keep the vocabulary honest in the brief. "Caption this in German" on an English master means "dub to German, then transcribe the German." It does not mean "run the captioner with de-DE."
Dub first, then caption
Order is load-bearing.
- Lock the picture and the original language cut.
- Dub the video into the target language (ElevenLabs for audio-cloned delivery up to 30 minutes; HeyGen if you also need lip-sync, with that engine's 8-minute cap). Or run translate the video with
translate_audio_onlywhen you need the words and not a cloned performance. - Wait for the dubbed file. Captioning the original while the dub is in flight produces a transcript of the old language on a picture that will soon have a new mouth.
- Caption the dubbed file with the language code that matches the new speech.
- Read names, numbers, and legal claims in that language. Burn.
Lip-sync changes the mouth. Captions timed to the English waveform will not sit on the German mouth even if you somehow translated the text by hand. The clock is the new audio. That is why caption-after-dub is not a preference. It is alignment.
If you skip the dub and burn English captions on an English clip for a French feed, you have made a subtitled English video. That can be the right object — a same-picture, original-voice, translated-text deliverable. It is still a translation of the text, which the auto-captioner will not do. Someone has to write the French. Then you are in overlay or a caption file you authored, not in add_veed_captions. Do not send the English take to the captioner and hope.
Seedance 2.0's phoneme-level lip-sync in 8+ languages (ByteDance technical report, cited in the September 2026 model roundup) is a generate-time option when you are making the clip in the target language from the start. It does not caption an existing English file. A generate in Spanish still needs a Spanish caption pass if the feed is mute.
165 codes, one pass per language
Regional variants are different listens. es-ES and es-MX are not a courtesy. Neither are en-US and en-GB. Pick the code that matches the voice you dubbed, not the market's flag. A Mexican Spanish dub with a Spain code is a milder version of the English-on-Spanish bug: closer phonemes, still the wrong model of the language.
One clip × five languages is five caption renders, each at 1× or 2× depending on the preset tier. Basic looks (21) are 1×; dynamic looks (9) are 2×. The transcription work is the same. The look is the multiplier. A Snap-style karaoke in five languages is five 2× burns if you took the dynamic path, and five timed families if you took Caption Studio's Snap or Reveal. Preview one language before you multiply.
CJK, Arabic, and other non-Latin scripts change line length. The Latin-script habit of ~42 characters a line is not a glyph cap for Japanese. Do not shrink type to keep a translated sentence on one row. Split. Caption line length is a shape, not a moral.
Right-to-left languages still have to clear the same platform chrome as left-to-right. Placement is a 9:16 problem, not a script problem. Check the burn in the destination app.
Do not stack languages on one burn "so the editor can toggle." There is no toggle in a Reel. There is one set of pixels.
What you ship per market
Each market gets a file:
- picture (possibly lip-synced)
- soundtrack in that language
- captions in that language, burned in
- an authored hook overlay in that language, if the original hook was written rather than spoken
The overlay is a separate tool. Translating the hook is copywriting. Auto captions will not localise "WAIT FOR IT" into a line nobody said. Write the hook. Place it. Then transcribe the speech.
Legal claims, prices, and ingredient lists are not "close enough" in a second language. Read them. A wrong milligram in French is not an ASR quirk; it is the ad.
The AI caption generator is the burn for each dubbed file. Same 165 codes. Same "this is not a translator" rule. What captions cost across a month of clips still applies: five languages on a weekly clip is five caption lines on the bill, times the preset multiplier.
EU-facing realistic synthetic media may also need an Article 50 label at first exposure. That label is not a caption language. Do not put the disclosure only in English on the French file and call the clip localised.
One clip, several languages, is several finished videos. Dub, then caption. Anything else is a subtitle file the feed will not draw, or a transcript of the wrong mouth.
Caption each language in Versely.
FAQ
Can I auto-caption once and machine-translate the SRT?
You can produce a sidecar that way for a course player. A muted TikTok will not show it. For short-form, dub the audio, then burn captions of the new speech.
Do I need a new caption style per language?
No. Keep the family so the brand holds. Change the language code and the line breaks. Recheck contrast on any burn that places a card over a new plate.
What if I only need subtitles, not a dubbed voice?
Then you are authoring a translation, not auto-captioning. Write the target-language text, time it, and burn it as captions or overlays. The 165-code transcriber will not do that from English audio.