To run one UGC ad in five languages on 8frame, you do not dub the original clip. You keep one portrait, make a TTS voiceover in each language from a translated script, and run a new lip-sync clip per language from that same portrait; the product b-roll and the end card are shared by all five. That is five voice runs and five lip-sync runs, and one set of everything else. The limit people do not expect: 8frame has no tool that re-syncs the mouth on footage you already have, no dubbing, no voice cloning and no translation, so the translated script has to come from you, and the speaking clip is made new for each language.
The lip-sync nodes are compared in AI lip sync price by model. The beat structure of the script is in the UGC ad template. This page is what changes when the same ad has to speak five languages.
TL;DR
| Step | Node or model on 8frame | Fixed price (credits) | Per language or shared |
|---|---|---|---|
| 1. Portrait | Nano Banana Pro, or upload with consent | 21 at 1K or 2K | shared |
| 2. Translated scripts | outside 8frame (you or a translator) | none | per language |
| 3. Voiceover | ElevenLabs TTS | 13 per started 1,000 characters, per generation | per language |
| 4. Lip-sync clip | Pruna Avatar | 720p: 3.375 per second (5 s = 17, 30 s = 102) | per language |
| 4b. Lip-sync clip | OmniHuman v2 | 14.175 per second of audio (5 s = 71), 4 to 35 s | per language |
| 4c. Lip-sync clip, short hooks | Hailuo H3 Max Lip Sync | 54 per 5 s at 768p; audio clipped at about 14.8 s | per language |
| 5. Product b-roll | Kling v3 Standard or Seedance 2.0 | 57 silent for 5 s; 108 for 5 s at 720p | shared |
| 6. Captions and text | Video Editor | not a generation | per language |
The board, node by node
There is no multilingual template on 8frame yet. Lay the board out in two zones: a shared zone (portrait, b-roll, end card) and five language columns, each with a script note, a TTS node and a lip-sync node.
Step 1: one portrait for every language
Make one portrait and reuse it in every column, so the same person speaks every language. Nano Banana Pro is 21 credits at 1K or 2K. Make it in the ad's shape: Pruna Avatar keeps the portrait's shape in its output.
Use a fictional person, or a real one with written consent that covers every language and market the ad will run in.
Step 2: translate the script outside 8frame
8frame has no translation tool. Translate the script yourself, with a translator, or with a separate tool, and have a native speaker read each version once. A literal translation of ad copy can keep the words and lose the hook.
Two things to check in each translation:
- Length. The same line takes a different time to say in different languages. Time each read: it decides the lip-sync length and the price.
- The call to action. Prices, sizes and offers may differ by market. Each column's script should say what is true in that market.
Step 3: one TTS run per language
Run ElevenLabs TTS once per language. It bills 13 credits per started 1,000 characters, up to 5,000 characters per generation. Each language is its own generation, so each starts its own first 1,000 characters: a 400 character script in five languages is five runs of 13, not one run of 2,000 characters. Eleven v3 and Multilingual v2 cost the same. Pick a voice that suits all five languages, and listen to each read before the lip-sync step.
You can also upload a recording per language (MP3 or WAV) from a native speaker who consents to the use.
Step 4: one lip-sync clip per language
Connect the shared portrait and that language's audio to a lip-sync node. The three options bill differently, and the differences matter more when the five reads have five lengths:
- Pruna Avatar bills per second of output, rounded up, at 3.375 per second at 720p or 6.075 at 1080p, up to 35 seconds. A read that runs two seconds longer costs about two seconds more. This is the most forgiving for uneven lengths.
- OmniHuman v2, the default OmniHuman node, bills 14.175 per second of the audio track (71 for 5 seconds), 4 to 35 seconds, so uneven lengths cost only the extra seconds.
- Hailuo H3 Max Lip Sync clips audio at about 14.8 seconds. A language that runs past that gets cut. Split the read at a pause into two clips, or use it only for short hooks.
We quote price and settings, not results.
Step 5: shared b-roll
The product shots have no speech, so make them once. Each shot is a still (from your product photo) plus an image-to-video node: Kling v3 Standard silent is 57 credits for 5 seconds, Seedance 2.0 is 108 at 720p. Silent is enough, because the voice comes from each language's track. See AI UGC ad from one product photo for this part.
Avoid baked-in text in the b-roll stills. A sign or a caption inside an image is in one language; put all text on the Video Editor timeline instead.
Step 6: five edits in the Video Editor
In the Video Editor mode, build one timeline per language: that language's talking clip, the shared b-roll, the end card. Add the language's text and captions as layers.
"Generate captions" builds a caption layer from a pasted script, timed at an estimated 160 words per minute. It does not listen to the audio, and the estimate is the same for every language, so a language that is read faster or slower will drift. Paste the translated script and adjust the timing by eye. There is no SRT export.
Do not join the talking clip and the b-roll with the Montage node: its output has no audio track, so the voice disappears.
Which model for which step
| Need | Model | Price basis | Length | Best when |
|---|---|---|---|---|
| Voice per language | ElevenLabs TTS | 13 per started 1,000 characters | up to 5,000 characters per generation | you have a translated script |
| Uneven read lengths | Pruna Avatar | per second, rounded up | up to 35 s | languages differ by a few seconds |
| Uneven reads, per second | OmniHuman v2 | 14.175 per second of audio | 4 to 35 s | the default OmniHuman |
| Short hooks only | Hailuo H3 Max Lip Sync | per 5 s, 5 s floor | audio clipped at about 14.8 s | the speaking part is a hook |
| Presenter clip with your audio kept | Creatify Boreal with driving audio | 7 / 21 / 81 per 5 s (720p / 1080p / 2K) | 1 to 20 s, node opens at 5 s | English only, per the provider: fal says "English is the validated language" |
| Silent b-roll | Kling v3 Standard | 57 for 5 s | 3 to 15 s | shared across languages |
Where it breaks
- Expecting dubbing. 8frame does not translate, dub, clone voices or re-sync mouths on existing footage. Each language is a new lip-sync clip.
- Lengths that differ. Time each read: it sets the lip-sync length and price. Hailuo clips at about 14.8 seconds.
- Text in images. Generated signs and captions are in one language. Keep text on the timeline.
- Caption timing. The 160 words per minute estimate is the same for every language. Adjust by eye.
- Montage. No audio in its output. Use the Video Editor timeline.
- Consent. A real person's face or voice in five markets needs consent for all five.
Rules that touch translation
- TikTok's ad policy asks for its AIGC label or your own clear disclaimer on AI-generated content; every language version is its own ad and needs it.
- YouTube's help page exempts dubs in your own cloned voice from disclosure, but asks for it when realistic content makes it look as if someone gave advice they did not give. A fictional presenter who could pass for a real person is the second case.
- New York's synthetic performer law exempts AI used only to translate a real human performer. A generated presenter is a synthetic performer in every language.
For labels by platform and state, see do you have to disclose AI-generated ads.
FAQ
Can 8frame dub my existing UGC video into other languages? No. 8frame has no dubbing, translation, voice cloning or mouth re-sync on existing footage. You make a new lip-sync clip per language from a portrait and that language's audio.
How is TTS billed for five languages? 13 credits per started 1,000 characters, per generation. Each language is its own generation, so each one starts its own first block.
Which lip-sync model handles different lengths best? Pruna Avatar and OmniHuman v2 bill per second, up to 35 seconds. Hailuo H3 Max Lip Sync clips audio at about 14.8 seconds.
Do I need new b-roll for each language? No. Silent product shots can be shared by every language. Only the speaking clip, the voice and the text change.
Does the 8frame app work in other languages? The app interface ships in English, German and French. Prices are in USD.
Sources
- 8frame prices, defaults and limits: the 8frame app, checked 2026-11-09.
- Creatify Boreal provider docs (fal.ai): https://fal.ai/models/creatify/boreal/api, checked 2026-11-09.
- TikTok Ads Policy, Misleading and false content (last updated April 2026): https://ads.tiktok.com/help/article/tiktok-ads-policy-misleading-and-false-content, checked 2026-11-09.
- YouTube Help, "Disclosing use of altered or synthetic content": https://support.google.com/youtube/answer/14328491, checked 2026-11-09.
- New York General Business Law 396-b: https://www.nysenate.gov/legislation/laws/GBS/396-B, checked 2026-11-09.
Try it without signing up: the 8frame canvas opens on a real board. The canvas is free and unlimited; generation is paid from $19/month.