Your next market can be waiting on a production task.
You have an ad worth testing. You know which market you want to enter. Then someone has to shorten the translated headline, rebuild the image and fit a new voice into the video.
Each change looks small until you multiply it across a campaign.
Your designer gets another brief. Your marketer checks another spreadsheet. You still need someone who speaks the language to tell you whether the result makes sense.
That was the part of ElevenLabs' localization story I wanted to build: a repeatable job that carries the work from selected ads to a kit your team can review.
So I built it, and ran it on demo ads for my own company. PropFusion makes Field Mode, an inspection app for reserve study professionals in the US.
And I'm giving you the system. It runs in Claude Code, and the steps to run it are at the end.
The copy covered three languages. The media work exposed problems a translation check could never catch.
One Portuguese headline broke in the middle of a sentence.
One Spanish voice ran almost two seconds late.
One font match swapped the brand's headline and body typefaces.
Those failures gave us the checks the next run needs.
Below is what broke, what caught it and what the run took: 31 minutes from a fresh copy to a finished kit.
IEvery new language adds another round of production
ElevenLabs shows you where the work sits between a good ad and its next market.
Google reports that ElevenLabs' non-English campaigns generated $3.78 million in incremental conversion value at a 7.16 ROAS. Its four-person team expanded into seven languages without adding personnel. Google's case study
Those are ElevenLabs' reported campaign results. Our build has none to report.
The part you can use is how they got there.
ElevenLabs describes translations moving through spreadsheets, headlines that needed shortening by hand, and localized images waiting three to five business days for design. Its internal tooling connected those steps, including translation, image adaptation, dubbing and upload. ElevenLabs' account
Tell me if this sounds familiar.
The same ad comes back as a copy request, a design request and a video request.
Each person needs the original, the market brief and the latest approved wording.
Then one line changes, and someone carries that change through every remaining file.
Your team keeps paying the coordination cost on work it has already explained.
So we started by putting those instructions in one place.

Your instructions start with a brief.
IIYour brief has to survive every handoff
Before you generate anything, decide what the job must preserve.
For this build, we made English demo ads for Field Mode: two image ads and six text ads.
The video ad is a 31.5-second cut of the 90-second video I posted on LinkedIn.
None of them is running as a campaign. They were made for this post.
PropFusion's site is in English only.
There was no published French, Spanish or Portuguese wording to borrow, so the glossary started from the English.
We chose France French, Latin American Spanish and Brazilian Portuguese, and the brief set how to address the reader in each: vous, tú and você.
Product names like Field Mode and PropFusion stayed unchanged.
The hardest word turned out to be the industry's own.
Reserve study is an American term.
The French drafts call it a plan pluriannuel de travaux, or PPT.
Is that the word a French buyer would use? You won't know until a local expert confirms it, and that has to happen before anything runs.
The Spanish and Portuguese terms carry the same flag.
Those were decisions for a demo.
PropFusion sells in the US, and a click on any of these ads would land on an English page.
A translated ad doesn't prove the buying journey behind it works in that language.
PropFusion is my company, so the source material is mine to adapt. No affiliation with or endorsement by ElevenLabs is claimed.
Your own brief needs more than a list of languages.
It needs the claims you can support, the conditions attached to your offer, the names that stay unchanged and the person who can approve a trade-off.
Keep your original beside the draft so that person can see what changed.
If your source says a feature belongs to a paid plan, your shorter copy must keep that condition.
If a sentence runs long, your reviewer needs to see what the shorter version leaves out.
Keep the company facts apart from the instructions that run the job. Then you change a market choice once, and the whole batch uses it.
Our ads held 48 English text fields. The job wrote 135 drafts across the three languages, plus 32 shorter versions for lines that ran long.

Writing the drafts was the fast part. The checks are where it got interesting.
IIIA translation check catches only part of the problem
Translation gets your words right.
Localization keeps your promise inside the same box, the same limit and the same timeline.
So you need a check for each way a format can fail.
Start with the copy.
A script counted characters the way each platform counts them and checked that the locked names survived.
It found no errors.
Twelve full drafts ran over a Google hard limit, and each came with a shorter version that fits.
Then a separate Claude, with no tools and no access to the files, translated all 167 versions back into English. It never saw the original.
Of those, 160 came back with the same meaning. The other 7 were the shortenings we had asked for.
That gives your reviewer a second way to spot a changed promise.
It still takes a native speaker's judgment before you use the language in a campaign.
The images are where the gap showed.
English original · Meta, 1080 × 1080
Brazilian Portuguese · AI draft, not yet reviewed by a native speaker
English original · LinkedIn, 1200 × 627
French · AI draft, not yet reviewed by a native speakerAll six images fit.
Outside the text boxes, not one pixel changed. The photo, the phone, the logo and the layout are the originals.
The first Portuguese headline still broke in the middle of a sentence: "Registre no local. Vai / direto para o estudo."
The words were right. The line wasn't.
The image tool now keeps one sentence per line when the English does. The second sentence still didn't fit, so after a yes it became "Vai para o estudo."
The font match failed more quietly.
It put the brand's headline typeface on the body and the body typeface on the headline.
We kept the faces that match the stroke weight of the original pixels, because the brand font comes out lighter through the image tool.
If your check only reads the words, you can approve a broken design.
Your short copy needs a different kind of review. Google allows 30 characters per responsive search ad headline and 90 per description. Google Ads specifications
Here is one Google description, 79 characters in English: "Every photo and note connects to the right component the moment you capture it."
Every photo and note connects to the right component the moment you capture it.
Chaque photo et chaque note se rattachent au bon composant dès que vous les capturez.
Every photo and every note attaches to the right component as soon as you capture them.
Fits · 85/90Meaning kept
Cada foto y nota se vincula al componente correcto en el momento en que la capturas.
Every photo and note is linked to the right component at the moment you capture it.
Fits · 84/90Meaning kept
Cada foto e anotação se liga ao componente certo no momento em que você registra.
Every photo and note is linked to the right component at the moment you record it.
Fits · 81/90Meaning kept
AI draft, not yet reviewed by a native speaker · ↩ = blind back-translation by a separate Claude that never saw the English
All three fit and keep the promise.
Where a short version shifts a word, the kit tells you.
The French button in the LinkedIn ad says Voir une démo, see a demo, where the English says book one.
The Spanish image says informe, report, where the English says study.
Here is the same ad the way Google Search would show it, in all four versions. Each one uses headlines 1 and 5 and descriptions 1 and 2.


Look at the address line.
It shows the path a localized page would use. PropFusion doesn't have those pages yet, so a click would still land in English.
You can automate the count. Your team still owns the wording it accepts.

The video was harder still.
IVYour voice and picture have to fit the same ad
A video ad has to sound right, land on time and show the right words on screen.
It needed its own production pass.
The job separated the music from the English voice. It recorded each script with a stock ElevenLabs voice and placed every sentence where the English sentence starts.
It also redrew the "Introducing Field Mode" title in all 71 frames it shows, following its zoom and fade.
Then it checked the result.
Every sentence starts within 0.16 seconds of the English one.
A local transcription matched the scripts word for word in French and Spanish. In Portuguese it got 67 of 68 words, because it dropped "barra" from "propfusion.com barra demo".
A text reader went through every title frame and found no English left.
All three play at the same loudness, -17.9 LUFS.
Two things still broke.
The first Spanish take ran late.
Sentences two to eight started 1.0 to 1.9 seconds after the English ones.
After a yes, Claude wrote a tighter version with one sentence per English sentence, checked it again and re-recorded it for 159 credits.
Every Spanish sentence now starts on time.
No check caught the second one.
The first French and Portuguese dubs clipped the ends of words, and the cuts clicked.
The job had sliced one continuous recording at the sentence boundaries, and the voice never paused there.
Did the transcript check catch it? No. Every word was still there.
I heard it when I listened.
The fix records each sentence as its own clip and checks that every cut sits in silence.
French and Portuguese were recorded again for 338 credits. Spanish kept its take, and only its cuts moved.
Then I listened to all three again and approved them.
We used stock voices from ElevenLabs. We did not clone the original speaker.
No check can hear a clipped word.
Someone on your team has to listen.
When you review your version, watch it at normal speed.
A correct transcript can't tell you whether a line jumps across the screen or the voice feels rushed.
Your review kit needs the actual file, the original reference and the remaining exceptions together.
One run is a demo. The second run tells you what you built.
VYour second run tells you what you have built
One completed example can hide a lot of manual rescue work.
Field Mode wasn't the job's first run. It was also tested on three other companies' public ads, and those runs stay private.
So this run was a repeat: a new company, a new brief and the same saved instructions.
It ran on a fresh copy of the public repo.
/setup wrote PropFusion's own choices into its settings: the markets, the tone and the names that never change.
One fix went into the shared job during the run, the rule that keeps one sentence per line in an image.
Your review should leave the job better prepared for the next batch.
The video has a boundary too.
We cut the 31.5-second ad from the long video before the run, outside the job, and supplied its script. The job starts from a finished ad.
This is where a demo can make automation look easier than it is.
This run used Claude Code's auto permission mode, so the extra checks Claude ran went through without a prompt. On a default setup, it stops and asks you before more steps than ours did.
So count honestly.
If someone redraws every scene between runs, count that work.
If your reviewer keeps correcting the same product name, save the correction in the shared instructions, then check the next output for it.
Here is what ours took, so you have something to compare against.
On October 14, 2026, it ran 31 minutes 24 seconds from a fresh copy of the repo to a finished kit.
| Step | Time | Who |
|---|---|---|
| Copy the repo and add the ads | 0:41 | a person |
/setup | 2:00 | Claude, unattended |
/localize: read, translate, check, back-translate, images, title, voice options | 14:58 | Claude, unattended |
| Read the report, pick the voices, approve the paid steps | 2:47 | a person |
| Record, mix, build the kit | 6:41 | Claude, unattended |
| Approve two fixes | 0:49 | a person |
| Apply the fixes | 3:11 | Claude, unattended |
| Total, wall clock | 31:24 |
The steps add up to 31:07; the other 17 seconds are the gaps between them.
The French and Portuguese re-recording came later, in a separate ten-minute pass, and isn't in the table.
A person answered twice. Once for the voices and the paid recording, because the job always waits before a paid step. Once to approve the two fixes.
Setup took two minutes because the answers went in as one message. Normally it's an interview, one question at a time.
The run used 1,412 ElevenLabs credits, about $0.28 at the Starter plan's published price of $6 a month for 30,000 credits (October 14, 2026). That includes 180 credits for the Spanish take we threw away and 338 for recording French and Portuguese again.
Claude Code reported $8.87 of Claude usage, which counts toward a subscription rather than a separate bill.
These are demo ads. None has run, no native speaker has reviewed them, and there is no campaign result to report.
The table still isn't a complete labour-cost comparison.
Existing subscriptions aren't allocated, the English ads and the video cut were made before the run, and native review never happened. A generation bill alone would leave too much of the work out.
For your first run, record preparation, production, corrections and review.
Count how many assets your team accepts.
When you launch, measure the campaign separately.
That gives you a basis for deciding whether to run the job again.
VIGive your first run a small boundary
Start smaller than you want to.
Choose one ad you own and one market your company can serve.
Walk through the destination page, signup and support in that language before you send anyone there.
A localized ad makes a promise about what happens after the click.
Then write a brief your team can approve: the market, the offer, the names that stay unchanged and the conditions every version must keep.
Run that ad through copy, image and video work only where its format needs them.
Put each output beside its source. Give a native speaker the wording, and someone on your team the complete creative.
In your team, this approval shows up where you already work.
Keep the corrections with the job. The next run should begin with what your team learned on this one.
Before you expand the batch, agree who can approve it and what a small campaign test has to show.
Then choose that first ad, and write down the promise every version has to keep.
You don't have to build the job to do any of this. I'm giving you mine.
VIIBuild yours
Every translated line, re-set image and dub you've seen in this post came out of one system.
It's free and open source under the MIT licence.
It's a Claude Code project, the same job that made the PropFusion drafts: ad-localization on GitHub.
Clone the repo and open it in Claude Code. Then:
- Type
/setup. Claude reads your site and interviews you, one question at a time: who you sell to, which languages and the tone in each, the names it must never translate and the claims to handle with care. - Drop your text, image and video ads into
input/. - Type
/localize.
To see it work first, type /localize example. It runs on the Field Mode image and video ads from this post.
Video ads need an ElevenLabs key. Before every paid step, Claude shows the estimate in credits and waits for your yes.
Give it the boundary from section VI: one ad, one market and one person who approves.
What comes out is a review kit with one page per language, and every page is labelled as an AI draft.
Nothing gets uploaded or published.
Pick your first ad, then type /setup.
Jovan


