Localize your product video ads for every market
One source video. Captioned and translated per market. Backend API
You shot one hero product video. Now it needs captions in the language of every market you sell into — same brand, same styling, same product name spelled right. ZapCap is the caption-rendering and translation API that turns one master clip into a localized MP4 per market, without a render farm.
One ad, a dozen markets, a localization bottleneck
Your catalog video ads convert — in the language they were shot in. Every new market means re-captioning, re-translating, and re-rendering the same source clip while keeping the brand name and product spelling intact. Done by hand, it never keeps pace with the merchandising calendar.
- Translation drift — agency turnaround, inconsistent terminology, product names mangled.
- Re-render per market — the same master clip exported by hand, market by market.
- Brand consistency — caption font, colour, and placement must match across every locale.
- Script-correct rendering — caption wrapping stays readable per market, with CJK / Thai detail covered in multilingual rendering.
- Catalog scale — new SKUs and new drops mean the same work, again, on a deadline.
- Storage & delivery — finished localized MP4s, organised per market, ready for ad managers.
Where ZapCap sits in your localization pipeline
Drop the API behind your asset pipeline. Marketing uploads one master clip; your backend fans out one render task per target market and collects the finished files.
One upload, one task per market
Upload the master clip once, then fan out a render task per target market with translateTo. Each task comes back as its own localized MP4 via webhook.
{
"eventId": "evt_8kQ2...",
"taskId": "tsk_2hP4...",
"event": "render.completed",
"renderUrl": "https://cdn.zapcap.../de.mp4",
"transcriptUrl":"https://cdn.zapcap.../de.json"
}- Map taskId → market when you create each task.
- Verify the x-signature header before fetching renderUrl.
- Dedupe webhook deliveries on eventId.
Lifecycle of one localized render
Each market is its own task with its own lifecycle. Track them independently and assemble the localized set as each one completes.
Before you localize your first campaign
A short list to keep a multi-market caption rollout from drifting off-brand. Asset pipeline, terminology, and delivery in one place.
- One brand caption preset Pick a templateId from GET /templates and reuse it across every market.
- Brand terms in your dictionary Feed product and brand names so transcription spells them right before translation.
- Approved transcript path for hero copy For verbatim ad lines, supply your own transcript instead of relying on ASR.
- Target-market list as code Drive the fan-out from a single source of truth, not a spreadsheet.
- Per-market storage convention File each renderUrl by market so ad-ops can find the right cut.
- Webhook signature verified Check x-signature on every payload; dedupe on eventId.
- Credit-balance check before a campaign fan-out A dozen markets is a dozen renders — confirm balance before queueing.
The localization stack, honestly
In-house localization pipeline
- 1Translation vendor wiring — turnaround, terminology control, review loops.
- 2Caption layout engine — per-market line breaks, safe zones, and readable wrapping.
- 3Brand style enforcement — font, colour, placement consistent per market.
- 4Render workers — ffmpeg / libass, autoscaling for campaign spikes.
- 5Per-market job tracking — one source clip, many parallel outputs.
- 6Output storage — organised per market, expiry, cleanup.
- 7Billing meter — per-minute counters across the catalog.
Localization as a primitive
- 1POST /videos — upload the master once.
- 2translateTo per task — one localized render per market.
- 3Webhook handler — verify, file by market, notify ad-ops.
A DTC e-commerce brand replaced manual per-market caption work with the ZapCap API and localizes each new product video from a single master clip
One source upload now fans out into a localized MP4 per market through a webhook handler, instead of an agency ticket and a manual export per locale. Captions stay on-brand because every market uses the same caption preset.
For e-commerce teams
Pass your brand and product names through the dictionary param — these are transcription hints, so the source transcript gets them right before anything is translated. For ad lines that must stay verbatim, supply your own approved transcript via the transcript param instead of relying on automatic transcription.
Build the rest of the localization flow
Multilingual subtitle rendering
Translate, restyle, and re-render across many languages including CJK and Thai.
Read morePerformance creative localization
Turn winning ad creative into localized caption variants fast enough to test.
Read moreTikTok Shop video localization
The 9:16, safe-zone-aware version of this workflow for cross-border TikTok Shop.
Read moreSubtitle API
The capability behind translated, time-aligned subtitles.
Read moreBurned-in subtitles API
Bake localized captions into the MP4 — no separate sidecar file.
Read morevs Creatomate
When data-driven video assembly is the right pick instead of ZapCap.
Read moreCase study · E-commerce
How a DTC brand localizes every product video from a single master clip.
Read moreLocalize one video for every market
Backend-only API, webhook-native, from $0.10/min base usage pricing. One master clip in, a localized MP4 per market out.