Tech and industry (Automotive and mobility), Service reminder
Book your service before a date, as a dealer's film closes: the date as a title card under the headline in wide capitals, up to six things the service includes each with a tick, the price where sent with what it includes, and a picture where there is one, pushing in slowly. The button and the presenter close it. The legal line stands in the bottom bar throughout, and the consumption line wherever a model is named. About one second longer per item.
| Template | Tech and industry (Automotive and mobility), tpl_7f3dd9501cd9 |
|---|---|
| Variant | Service reminder |
| Version | 1.0.0, the newest: what a channel following this variant draws |
| Shapes | 9x16, 4x5, 1x1, 16x9, 2x3 |
| Length | 13 seconds |
Example video
The 1x1 cut of this variant, drawn from its own worked example. Open the video on its own.
What it accepts
A service reminder as a car advert's closing card: the date to book by as a title card, up to six things the service includes each with a tick, the price with what it includes, a picture where there is one, then the dealer's button. The legal line stays throughout, the consumption line wherever a model is named. Nearly six seconds, a second more per item. metaData is never drawn.
| Field | Type | Required | Limit | What it is |
|---|---|---|---|---|
clipData | group | yes | Clip data: Everything drawn in the clip: the headline, the date to book before, what the service includes, the price with what it includes, the call to action, your legal line and, for a named model, its consumption and emissions line. | |
clipData.section | text | up to 32 characters | Section: The section in the header, beside your title line, such as Service or Aftersales. | |
clipData.kicker | text | up to 40 characters | Kicker: A short line above the headline, such as Service reminder. | |
clipData.headline | text | yes | up to 48 characters | Headline: What the reminder says, set large in wide capitals, such as Your service is due. A long one takes more lines. |
clipData.tagline | text | up to 90 characters | Line under the headline: One line under it, set in italics, such as why to book now. | |
clipData.picture | image | media:// file from the media library, alt text up to 120 characters | Picture: A picture from the media library, such as the workshop or the car, landscape with the subject in the middle and low in the frame. It fills the film window and pushes in slowly. Optional: without one the date and the list carry the clip. If it shows a model you advertise, name it under Car so its consumption line is drawn. | |
clipData.car | group | Car: The model the reminder names or shows, if any. Named, its official consumption and emissions line is required and drawn first in the bottom bar throughout. Leave the group out for a reminder that names no model. | ||
clipData.car.name | text | yes | up to 40 characters | Model: The model's name, set small under the headline, such as Corvane Pico. |
clipData.car.consumption | text | yes | up to 300 characters | Consumption and emissions: The official figures for the model: combined fuel or energy consumption, CO2 emissions, the test cycle and, where the law asks, the CO2 class. Never cut. |
clipData.deadline | group | yes | Book before: The date to book by, set as a title card: a short word before it and the date spelled out in the channel's language. | |
clipData.deadline.lead | text | yes | up to 24 characters | Before the date: A word or two set small before the date, such as Book before. |
clipData.deadline.date | datetime | yes | Date: The last day to book. Only the date is read, as written here, and spelled out in the channel's language. | |
clipData.included | list | yes | up to 6 | What the service includes: Up to six things the service includes, each with a tick. They are listed on the first frame, then each is lit in turn. Each adds a little over one second. |
clipData.included[] | group | Item | ||
clipData.included[].label | text | yes | up to 40 characters | What is included: One thing the service covers, such as Oil and filter change. |
clipData.included[].detail | text | up to 80 characters | Detail: A short line under it, such as Fully synthetic oil to the maker's specification. | |
clipData.price | group | Price: The service price, where you give one, and what it includes. A price is never shown without what it includes. Leave the group out for a reminder with no price. | ||
clipData.price.lead | text | up to 16 characters | Before the price: A word set small before the price, such as From. | |
clipData.price.amount | number | yes | from 0, 2 decimals | Price: The price as a number, set the way the channel's language writes it, in the currency below. |
clipData.price.currency | text | yes | up to 3 characters | Currency: The price's currency as a three-letter code, such as EUR, GBP or USD. |
clipData.price.includes | text | yes | up to 140 characters | What the price includes: What the price covers and leaves out, under it, such as Fixed price including parts, labour and VAT. Required with any price. Never cut: a long one takes more lines. |
clipData.cta | group | Call to action: The button at the end and the line under it, such as a web address, a handle or a phone number. | ||
clipData.cta.label | text | yes | up to 28 characters | Button: What the button says. |
clipData.cta.detail | text | up to 48 characters | Line under it: An address, a handle, an app, a phone number. | |
clipData.legal | text | yes | up to 300 characters | Legal line: Who is advertising: the dealer or maker, its address and any line the law asks for, such as authorised service partner or the date the price applies. Shown in the bottom bar throughout; never cut. |
clipData.footnote | text | up to 200 characters | Small print: Any other line that must be shown, such as that parts beyond the service are charged extra. | |
clipData.look | group | Look: How the clip looks and moves. The same six switches in every format (theme, pace, corners, alignment, logo, logo size). Leave any out for the package's default: the dark theme, calm, square corners, centred. | ||
clipData.look.theme | enum | brand, light, dark, bold | Theme: Brand: your brand's own colours and background. Light or dark: a page tinted with your brand colour. Bold: your brand colour as the page. | |
clipData.look.pace | enum | calm, standard, punchy | Pace: How things arrive: calm fades, a standard rhythm, or punchy slams and hard cuts. | |
clipData.look.corners | enum | square, soft, round | Corners: The shape of cards, pictures and buttons. | |
clipData.look.align | enum | start, centre | Text alignment: Where the text lines up. | |
clipData.look.logo | enum | auto, free | Logo: The style's own: the logo on a small plate so it reads on any page. As it is: the logo whole, with no plate, frame or crop, for a logo made to stand on the page, such as one with a transparent background. As it is, make sure your logo reads on the page of the theme you choose. | |
clipData.look.logoSize | enum | auto, small, large | Logo size: Standard is the style's own size. Small draws the logo a fifth smaller, with its plate. Large draws it a quarter larger wherever the style has room for it, and at the standard size where it has none. | |
metaData | group | Meta data: Everything about the post that is never drawn in the clip: its title, its description in four lengths, one per kind of platform, and its hashtags. Reelwire adds the brand's description, link and hashtags after it. Left out, the post text is generated from the clip data. | ||
metaData.title | text | up to 100 characters | Title: Used where the platform has a title of its own: Facebook Feed, LinkedIn, Pinterest and YouTube. Up to 100 characters, which every one of them takes. | |
metaData.captionTiny | text | up to 200 characters | Tiny description (Pinterest, Threads, X): Up to 200 characters. The brand's description, link and hashtags follow it within the platform's limit. | |
metaData.captionShort | text | up to 500 characters | Short description (Telegram, Threema, WeChat, WhatsApp): Up to 500 characters. The brand's description, link and hashtags follow it within the platform's limit. | |
metaData.captionMedium | text | up to 1500 characters | Medium description (Discord, Facebook Reels, Instagram, LinkedIn, Signal, Slack, TikTok): Up to 1500 characters. The brand's description, link and hashtags follow it within the platform's limit. | |
metaData.captionLong | text | up to 4000 characters | Long description (Facebook Feed, YouTube): Up to 4000 characters. The brand's description, link and hashtags follow it within the platform's limit. | |
metaData.hashtags | list | up to 15 | Hashtags: Written without the #. Up to 15, which every platform takes. | |
metaData.hashtags[] | text | up to 60 characters | Hashtag |
locales carries other languages: under each language code, the parts of clipData and metaData that differ, laid over the default, so a language with no copy still renders.
A picture is always a file from your media library: media:// followed by its id or its name.
Anything the table does not list is refused, and so is anything over its limit, with a 400
schema_validation error that names the field.
Ask Reelwire for the whole JSON Schema, the document your content is checked against, without signing in:
curl "https://app.reelwire.io/v1/formats/template/tpl_7f3dd9501cd9?variant=Service%20reminder&version=1.0.0"
Delivery JSON
Your own system sends this to one of your streams, POST /v1/stream, and every channel listening to
that stream draws it with its template. data is the document described above; a stream with an
empty field map passes it to the template unchanged. Try it first on POST /v1/stream/validate,
which answers the same without publishing anything. Streams and feeds
explains the rest, including how to map a document of your own shape instead.
{
"streamId": "st_your_stream_id",
"eventId": "01M2SQMKK3G1NVFXV31DCBVB95",
"occurredAt": "2026-09-23T07:00:00Z",
"locale": "en",
"data": {
"clipData": {
"section": "Service",
"kicker": "Service reminder",
"headline": "Your service is due",
"tagline": "Book early and choose the day that suits you.",
"picture": {
"alt": "Soft waves of blue, violet and orange",
"url": "media://example-image.jpg"
},
"car": {
"name": "Corvane Pico",
"consumption": "Corvane Pico: combined fuel consumption 4.4 l/100 km, CO2 emissions 100 g/km, CO2 class C (WLTP)."
},
"deadline": {
"date": "2026-11-30T18:00:00+00:00",
"lead": "Book before"
},
"included": [
{
"label": "Oil and filter change",
"detail": "Fully synthetic oil to the maker's specification"
},
{
"label": "Brake check",
"detail": "Pads, discs and fluid inspected"
},
{
"label": "Tyre check",
"detail": "Tread depth and pressures set"
},
{
"label": "Battery and lights test"
},
{
"label": "Software update",
"detail": "Latest approved release fitted"
},
{
"label": "Courtesy wash"
}
],
"price": {
"lead": "From",
"amount": 189,
"currency": "GBP",
"includes": "Fixed price including parts, labour and VAT. Extra repairs are quoted first."
},
"cta": {
"label": "Book your service",
"detail": "arden-motors.example/service"
},
"legal": "Arden Motor Group Ltd, 14 Quayside, Bristol BS1 4QA. Authorised Corvane service partner. Service price correct at 1 October 2026.",
"footnote": "Parts and work beyond the service are charged extra.",
"look": {
"logo": "auto",
"pace": "calm",
"align": "centre",
"theme": "dark",
"corners": "square",
"logoSize": "auto"
}
},
"metaData": {
"title": "Book your service before 30 November",
"captionTiny": "Your service is due. Book before 30 November: oil, brakes, tyres and more from £189, parts and labour included.",
"captionShort": "Your Corvane is due a service. Book before 30 November and we will change the oil and filter, check the brakes, tyres, battery and lights and fit the latest software, from a fixed £189 including parts, labour and VAT. Book online with Arden Motor Group in Bristol.",
"captionMedium": "Your service is due. Book before 30 November with Arden Motor Group in Bristol and we will take care of the oil and filter change, a brake check, a tyre check, a battery and lights test, the latest software update and a courtesy wash. The service is a fixed £189 including parts, labour and VAT; any extra repairs are quoted first. Choose the day that suits you at arden-motors.example/service. Corvane Pico: combined fuel consumption 4.4 l/100 km, CO2 emissions 100 g/km, CO2 class C (WLTP).",
"captionLong": "Your service is due, and booking early means you choose the day that suits you. Book before 30 November with Arden Motor Group in Bristol and our trained technicians will change the oil and filter with fully synthetic oil to the maker's specification, check the pads, discs and brake fluid, set the tyre pressures and check the tread, test the battery and the lights, fit the latest approved software release and finish with a courtesy wash. The service is a fixed £189 including parts, labour and VAT; extra repairs are always quoted first and nothing is done without your say. Book online at arden-motors.example/service or call us. Corvane Pico: combined fuel consumption 4.4 l/100 km, CO2 emissions 100 g/km, CO2 class C (WLTP). Arden Motor Group Ltd, 14 Quayside, Bristol BS1 4QA. Authorised Corvane service partner. Service price correct at 1 October 2026. Parts and work beyond the service are charged extra.",
"hashtags": [
"carservice",
"carcare",
"servicereminder",
"motoring",
"bristol"
]
}
}
}
The delivery names no version: which build draws it is the channel's choice, the newest of its
variant or the one it is pinned to. eventId is a ULID you make once per event: sending the same
one again changes nothing. occurredAt is when the thing happened, not when you sent it. locale
is the language of the text in data, and data.locales carries other languages beside it.