EU price cuts: put the 30-day prior price on the sale video card
EU Directive 2019/2161 Art. 6a: a price-cut announcement must state the prior price, the lowest in 30+ days. Compute it, then burn it. Read 2026-10-05.

If you advertise a price reduction to EU shoppers, Article 6a of Directive 2019/2161 (inserted into the Price Indication Directive) says the announcement must indicate the prior price, and the prior price is the lowest price you applied during a period of not less than 30 days before the reduction. So a "-40%" Black Friday clip needs a number behind it that your own price history can support, not a list price that has not been charged in months.
What the text says (read 2026-10-05)
The directive is the EU baseline. Each Member State transposes it, and the text itself gives states room on some points, so a national rule can differ in detail. Check your market's law or a lawyer for the exact wording that applies to you. This is not legal advice.
| Topic | What it says |
|---|---|
| Announcement of a reduction | Must indicate the prior price |
| Prior price | Lowest price applied during a period not shorter than 30 days before the reduction |
| Goods that deteriorate or expire rapidly | Member States may set a different rule |
| Products on the market under 30 days; progressive reductions | Member States have flexibility |
Compute the number before you burn it
The workflow is mechanical. Keep a dated price history per SKU, take the minimum over the 30 days before the sale starts, derive the percent from that minimum, and only then author the cues. Video captions takes cues with text, start and end and burns them without speech-to-text, so the number on screen is exactly the string you computed.
The script below does the calculation offline and prints the request body. Send it to POST /v1/video-captions with your video_url and an Idempotency-Key. A caption job is $0.20 for a clip up to 60 seconds.
import json
from datetime import date, timedelta
history = [(date(2026, 10, 1), 79.0), (date(2026, 10, 20), 69.0), (date(2026, 11, 5), 79.0)]
sale_start, sale_price = date(2026, 11, 27), 59.0
def price_on(day):
return [p for d, p in history if d <= day][-1]
window = [price_on(sale_start - timedelta(days=n)) for n in range(1, 31)]
prior = min(window)
pct = round((prior - sale_price) / prior * 100)
cues = [
{"text": f"Was EUR {prior:.2f} (lowest in last 30 days)", "start": 0.5, "end": 3.0},
{"text": f"Now EUR {sale_price:.2f} -{pct}%", "start": 3.0, "end": 6.0},
]
print(json.dumps({"video_url": "https://example.com/clip.mp4", "cues": cues}, indent=1))Why the percentage is easy to get wrong
In the sample history the list price is 79.00, but the item was 69.00 from 20 October to 4 November. The 30 days before a 27 November sale start at 28 October, so the 69.00 is inside the window and the prior price is 69.00, which makes 59.00 a 14% cut, not the 25% you would claim from 79.00. Window edges are the common bug, so test day 30 (in) and day 31 (out) against your own history.
Limits
Directive text is not the national law. Some markets handle perishable goods, new products and progressive reductions differently, as the directive itself allows. The card also is not the only place a claim appears: the same prior-price rule applies to the product page and any other announcement. If your price history is incomplete, do not show a percentage at all and use a plain "Now EUR 59" card instead.
Sources
Related posts
More in Use cases
- An executive avatar for internal updates: consent and labeling
Before you make an avatar of an executive for staff updates, get written consent for the face and voice, limit the scope, and label every clip as synthetic.
- Farm stand weekend reel: GPT Image 2.5 and Wan 3.0 clips for $1.41
Four 9:16 first frames from GPT Image 2.5 and four 5-second Wan 3.0 clips at 480p cost $1.41 with a Timeline render on Sume. The steps and the checks.
- Fashion lookbook video in 3:4 or 9:16: which Sume models take it
Wan 3.0, Seedance and MiniMax H3 take 3:4 and 9:16 on Sume; Kling and Omni do not take 3:4. Wan at 720p is $0.125 a second, H3 at 768p is $0.075.
- Feedback request video for an NPS survey: AI avatar script, cost
A 10-second avatar clip that asks for survey feedback: what to say, what to leave to the email, and the cost for 1,000 sends if you render per segment.
Written by Sume