A new language is a new burn
165 codes transcribe; they do not translate. Dub first or caption-translate, then burn again. One English file will not serve Spanish.
A new language is a new burn. add_veed_captions listens in 165 language codes. It transcribes what was spoken. It does not translate the take. An English burn will not serve a Spanish feed. Dub first, or caption-translate as authored type, then burn that language into its own MP4. Do not assume one file carries two audiences.
165 codes are a listen, not a localisation department
A language code is a request to the recogniser: which model of which language should listen. es-MX versus es-ES, en-US versus en-GB. That width is useful. It is not 165 finished caption departments, and it is not a translate button.
If the tape is English and you pick es-MX, you get a bad Spanish-shaped guess at English speech. If the tape is English and you pick en-US, you get an English transcript. Neither is a Spanish video. Localisation is a different job that produces a new soundtrack or a new authored track, then a new caption render.
This is not the page about what 165 means as a marketing number. That page already exists. This page is the ship rule: every language you intend to show as type in a mute feed is a separate burn, on the audio that language actually occupies.
Burn-in freezes the language into pixels. A sidecar on YouTube long-form can add a second track without a re-render. Reels, TikTok, and Shorts will not enable that sidecar for the impression. Short-form localisation is a new MP4. Plan the renders. Do not discover the second language at upload.
Code-switching is outside a single pass. A Spanish product name inside an English sentence needs a mixed-line decision, not hope. Split the range or author the mixed cues. One code will mishear the other language. That is still this rule: the listen has to match the tape you are burning.
Dub first, or caption-translate — pick one
Two honest paths. Mixing them in one file is how the mouth says English while the type says Spanish, or the other way around.
Dub first. Replace the soundtrack. Clone, TTS, or a human read in the target language. If the face has to match, lipsync after the new audio. Then transcribe the new tape with the matching code (fr-FR on a French dub) and burn. The mute viewer reads French. The unmute viewer hears French. The mouth, if you lipsynced, is on French. That is one language.
Caption-translate. Keep the original audio. Author a translated transcript as type. This is not ASR. ASR will write the source language. You write the target. You time it to the source mouth as a reading-speed problem, not as a word-timestamp karaoke problem. Karaoke on a translation that does not match the phonemes is a highlight walking through the wrong words. Use a static BASIC block. Accept that unmute is still the source language. This is a mute-feed compromise, not a dub.
Do not run add_veed_captions and ask it to “do Spanish.” It will not. Do not paste a Google-translated paragraph into a VEED DYNAMIC preset and expect word timestamps to mean anything. Timed kind needs a clock on the spoken tokens. A translation is a different token list.
Article 50’s artistic/satirical labelling and the New York synthetic-performer statute (N.Y. GBL § 396-b, in force 9 Jun 2026) both treat language translation of a human performer as a special case in places. The NY law exempts ads where AI is used solely for language translation of a human performer. That is a disclosure footnote, not a caption shortcut. You still burn the language the mute viewer is supposed to read. Third-party USD in that statute ($1,000 first / $5,000 subsequent) is a penalty, not a Versely price.
Regenerating the whole shot in the new language — a new Veo or Seedance take prompted in Spanish — is a third path. It is a new generate, then a new caption burn on that generate. It is not “the English burn, reused.”
One burn does not serve two languages
A bilingual feed strategy that ships one MP4 with English type and Spanish audio (or the reverse) fails mute autoplay for one of the two groups. The group that cannot read the type never gets the claim. The group that cannot hear the audio never gets the joke. Pick the mute language. That is the burn. Ship a second file for the second mute language.
Practical matrix:
| Audience | Audio | Type | Files |
|---|---|---|---|
| English mute feed | English | English burn | 1 |
| Spanish mute feed | Spanish dub | Spanish burn | 1 more |
| Spanish mute, English audio kept | English | Authored Spanish block (no karaoke) | 1, and unmute is English |
| YouTube long-form, two languages | Source | Burn optional; SRT/VTT per language | Sidecars, not a second short-form encode |
YouTube long-form is the exception that keeps getting collapsed into the Reel rule. Landscape YouTube can ingest multiple caption tracks. Viewers pick. That is closed captions. Do not burn three languages into a 12-minute file because the TikTok pipeline taught you to. Do not ship one English burn to a Spanish For You page because the YouTube pipeline taught you sidecars.
Paid social in a second language is a second ad. The legal line, the price, the CTA all have to match that language and that landing page. Reusing the English BASIC burn with a Spanish dub under it is an ad that argues with itself on mute.
Credits follow renders, not languages as a discount. Thirty English clips on BASIC are thirty base caption renders. Thirty Spanish dubs are thirty more. DYNAMIC 2× on both is sixty plus sixty. What captions cost across a month of clips is that arithmetic. Localisation doubles the caption meter because it doubles the files. It does not double because 165 is a big number.
Burn the language that is on the tape you ship
Order:
- Decide the mute language for this file. One per MP4 on short-form.
- If that language is not the original, dub (and lipsync if the mouth must match) or author a translated block.
- Picture-lock. A later trim is a recaption in every language you burned.
- Transcribe with the code that matches the tape, or paste the authored translation. 165 codes. No translate.
- Read names, SKUs, prices in that language’s convention. A Spanish price on a US PDP is a business error. Match the landing page for that market.
- Burn. BASIC 1× unless the organic hook is a spoken phrase in this language you can still finish. Preview on this plate.
- Export a sidecar only for destinations that play one.
The AI caption generator and add captions to a video are the burn door. They will apply Glass to a wrong-language draft as happily as to a right one. The language is your decision, made before the preset.
Keep the English transcript as a master for meaning. Do not keep the English timestamps as a master for the dub. The dub is a new waveform. Caption timing starts over.
A new language is a new burn. Dub first or caption-translate. Then export that MP4.
Burn the next language pass in Versely.
FAQ
Will picking es-MX translate my English Reel into Spanish?
No. The tool transcribes speech. It does not translate. Caption Spanish audio with a Spanish code. Translation or dub is a different job, then a new burn.
Can I burn English and attach a Spanish SRT for TikTok?
TikTok will not play that SRT as the mute soundtrack. Short-form needs pixels in the language the mute viewer should read. Keep the SRT for YouTube long-form.
Does karaoke work on a translated block over English audio?
Badly. Word timestamps follow the English mouth. The Spanish tokens are a different list. Use a static BASIC block for caption-translate. Karaoke belongs on a dub you actually transcribed.