# Turn one hero ad into every market and format

> Turns one hero ad into every market and format, with the headline translated in the image and a voiced tagline per language.

Author: Runway · Published: 2026-09-08 · Updated: 2026-09-08 · Source: https://dev.runwayml.com/learn/campaign-localizer

Give it a product shot and a headline. It makes the hero ad, then re-lays it out for each market with the copy translated inside the image, recomposes it for story, feed and banner, and voices the tagline in each language with one consistent voice.

## What your agent will ask you

1. Which markets and languages?
2. Which formats? Default: story, feed, banner.
3. The headline and tagline, or should the agent draft them?
4. Voiceover on or off?
5. Credit ceiling per campaign.

## How it works

| Step                 | Runway call                        |
| -------------------- | ---------------------------------- |
| Hero ad per headline | `text_to_image · with product ref` |
| Localize per market  | `recipes · ad_localization`        |
| Formats              | `text_to_image · recompose`        |
| Voiced tagline       | `text_to_speech`                   |

## The prompt

```text
Build me a Campaign Localizer app with Runway Dev. It turns one hero ad into every market and format, with the headline translated in the image and a voiced tagline per language.

1. Set up Runway Dev first: read https://dev.runwayml.com/quickstart.txt and follow it.
2. Then build the app from https://dev.runwayml.com/learn/campaign-localizer.md. Ask me the questions it lists before writing any code.
```

## The build spec

> One hero ad → every market × every format, copy translated in-image, one voice across languages.

### Before you start

- Follow <https://dev.runwayml.com/quickstart.txt>. Install `runway-dev`, `runway-dev-recipes`, `runway-dev-models`.

### Ask the user first

1. Markets and languages.
2. Formats (story 9:16, feed 4:5, banner 16:9).
3. Headline and tagline, or draft them.
4. Voiceover on/off, and which preset voice.
5. Ceiling per campaign.

### What to build

A grid: rows are markets, columns are formats. The hero sits top-left. Each cell fills in as its task finishes and shows its cost.

### Pipeline

| Step      | Runway call                                                        | Est. credits   |
| --------- | ------------------------------------------------------------------ | -------------- |
| Hero ad   | `text_to_image` with the product as a reference image              | 5              |
| Localize  | Recipe `ad_localization` per market (layout and product preserved) | 21             |
| Formats   | `text_to_image` recomposing the hero at each ratio                 | 5              |
| Voiceover | `text_to_speech`, one preset voice for every language              | 1 per 50 chars |

### Rules

- Localize from the finished hero, never from scratch, so product and layout stay identical.
- Quote the whole matrix before running; the matrix grows fast.
- Save a manifest per run so a campaign can be re-run with a new headline.

### Done when

- Every market × format cell has an image, and each language has a voiced tagline.

### Make it yours

- Swap the voiceover for `voice_dubbing` of an existing video ad.
- Add a reviewer approval step per market before export.
