One Black Friday master, three markets: EU, UK, Australia cards

One clean master, a different price card per market: EU prior price, UK total with delivery, Australian end date. Three $0.20 jobs. Read 2026-10-05.

4 min readSume
All posts

Do not edit three videos for three markets. Keep one clean master with no burned text, and burn a different price card per market with video captions: the EU card shows the prior price, the UK card shows the total with delivery, and the Australian card shows a real end date. Each is a $0.20 caption job for a clip up to 60 seconds.

What each regulator emphasises (read 2026-10-05)

The table is a creative checklist drawn from three primary pages, not a legal summary, and the ACCC page was only readable as a summary. A card that is fine in one market can fall short in another, which is the reason to generate it from market data.

Price-card emphasis by market, from the sources listed, read 2026-10-05
MarketSourcePoint to build into the card
EUDirective 2019/2161 Art. 6aPrice reductions indicate the prior price, the lowest in at least 30 days
UKCMA209 summaryTotal price up front, including mandatory delivery fees; drip pricing is illegal
AustraliaACCC Black Friday statementsLimited-time claims and countdowns must match the real sale end

Generate cards from data

One data record per SKU feeds all three. The script below builds the three request bodies offline. Send each to POST /v1/video-captions with its own idempotency key (SKU, market, version). The EU prior price and the end date come from your own records, which is the point of the exercise: nobody types a number into a card.

Currencies are spelled out (EUR, GBP, AUD) to keep the sample free of glyph questions. In production use whichever form your style renders correctly, and check a frame.

import json

sale = {"price": 59.0, "delivery": 4.99, "prior_30d_low": 69.0, "ends": "Mon 30 Nov, 23:59"}
cards = {
    "eu": [f"Was EUR {sale['prior_30d_low']:.2f} (30-day low)", f"Now EUR {sale['price']:.2f}"],
    "uk": [f"GBP {sale['price'] + sale['delivery']:.2f} delivered", f"Ends {sale['ends']}"],
    "au": [f"AUD {sale['price']:.2f}", f"Ends {sale['ends']}"],
}
for market, lines in cards.items():
    cues = [{"text": t, "start": 0.5 + i * 3, "end": 3.0 + i * 3} for i, t in enumerate(lines)]
    print(market, json.dumps({"video_url": "https://example.com/master.mp4", "cues": cues}))

Keep the master clean

A master with no burned text is what makes this cheap. If you bake a price into the footage, every market has its own edit. If a market's rules change, you change one cue template and re-run the jobs for that market only. Add the market to the file name, so the Australian clip is never posted to a UK ad account.

Limits

Three markets means three reviews. Regulation covers more than the price card: spoken claims, small print and the landing page matter too, and local rules (national transposition of the EU directive, for example) differ. Get local advice, and do not use a market's card in another market just because it passed there. Also decide in advance who signs off each market's card, so approval does not bottleneck the whole set on the day before the sale, and keep the three outputs in separate folders named by market and version.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume