Write the script in Urdu script, even for a Roman Urdu audience
Most Pakistanis type Urdu in Latin letters, so it is tempting to write the voiceover that way too: "Aaj ka offer dekhein". Text-to-speech voices learn a language from its own script, and Roman Urdu has no fixed spelling, so the voice is left guessing. In our test, Microsoft's Urdu voice reading a Roman Urdu line scored 1 out of 10, with half its words missing. The same sentence in Urdu script was read fluently.
So keep two versions of every line: Urdu script for the voice, and whatever your audience reads for anything shown on screen. Hyzgen does this by itself: a line typed in Roman Urdu is transliterated word by word into Urdu script before the voice reads it, and anything shown on screen keeps the spelling that was typed.
Hindi is more forgiving. The Hindi voices we use read Hinglish acceptably either way.
Write English words in English letters
Urdu ads borrow English all the time: order, menu, delivery, app, kitchen. Written in Urdu letters, these are read as Urdu words. A video model said مینو as "meh-noo" in three takes out of three, in two different videos.
Writing the English word in Latin letters inside the Urdu sentence fixes most of it: اپنا menu خود بنایا. Across 14 retaken clips, kitchen, order, app, delivery and number all came back as English words. It is not perfect: "menu" still came out as "meh-noo" in some takes, so listen to every take before it goes out.
Text-to-speech voices have a second fix. In Hyzgen, write how a word sounds in brackets touching it, like Siobhan(shi-vawn): the voice says what is in the brackets, and the screen and captions show the word. Video models that film a person speaking do not follow brackets reliably; for them, the fix is another take.
Fit the words to the clip
AI video models film a fixed length: Google's Gemini Omni about 10 seconds a clip, Veo 4, 6 or 8. A line that is too long is cut off mid-word. A line that is too short is worse, because the model fills the silence: given 13 English words for 10 seconds, one take added a sentence of its own and mispronounced the brand in it.
| Language | Words per 10 second clip | What we saw |
|---|---|---|
| Urdu | 14 to 17 | At 20 words, 2 of 6 clips were cut off before the last word |
| English | 16 to 20 | At 13 words, the model added a line nobody wrote |
| Urdu in an 8 second clip | fewer than 19 | At 19 to 23 words, 5 of 8 clips lost their last words |
Spread the words over the shots too. One short sentence of 3 to 7 words per shot sounds said rather than read, and leaves the model no gap to fill.
Captions: Nastaliq needs shaping
Urdu letters change shape with their neighbours, and Nastaliq, the style Pakistanis read every day, sets each word on a diagonal. Text has to be shaped before it can be drawn. Many video tools burn captions with libass, and some widely used static ffmpeg builds ship it without HarfBuzz, the shaping library. The result is Urdu as separated letters, in reverse order.
There are two honest fixes. Romanise the captions, which is how many Pakistani creators caption anyway. Or draw shaped text: Hyzgen shapes Urdu, Arabic, Persian and Pashto captions with HarfBuzz and burns them in as drawn shapes, Urdu in Noto Nastaliq Urdu, so they look right in every player.
If you set Urdu captions yourself, give them about twice the line height you would give English, because Nastaliq reaches far above and below the line. Keep English words inside an Urdu line reading left to right, as a phone shows them.
Numbers in Urdu text read backwards
Phone numbers are where Urdu text goes wrong most visibly. After Arabic-script letters, digits follow the sentence's right-to-left order, and neither a space nor a hyphen holds two groups together. "0300 1234567" after an Urdu word is shown as "1234567 0300", in Chrome as in most apps.
The fix is one invisible character: a left-to-right mark (U+200E) just before the number. It works in captions, in WhatsApp and in the text of a post. Hyzgen sets the direction of numbers in the text it draws on a video; in text you paste into a post, add the mark yourself.
Make the pictures look like Pakistan
Image models default to Western scenes. Asked for ads for a Pakistani wedding caterer, one drew Caucasian guests, champagne, spaghetti and a rack of lamb. Adding "no alcohol" to the prompt did not stop it putting red drinks in wine glasses.
What worked was naming the local world in every scene: the city, shalwar kameez, biryani and gulab jamun by name, and on any table, the drinks themselves: lassi, chai, juice or soft drinks in plain tumblers. Hyzgen now sets every ad scene in the brand's own market, read from the places the brand names, its currency, its domain and the ad's language.
A checklist before you publish an Urdu ad
- The voice line is in Urdu script; anything on screen is in the script your audience reads.
- English product words are in English letters inside the Urdu line.
- Each 10 second clip has 14 to 17 Urdu words, one short sentence per shot.
- You listened to every take: the brand name, the English words and the last word of each clip.
- Captions are shaped Nastaliq or clean Roman Urdu, never loose letters.
- Every phone number has a left-to-right mark before it.
- The people, clothes, food and drinks in the pictures belong to the market you sell in.