Stylist Availability & Booking
A 31-second 1080x1920 (9:16) availability card for one practitioner rather than one business — a barber, stylist, tattooist or massage therapist posting the slots they still have open this week, with the link that takes the booking. Five scenes run a cream/ink/cream/olive/cream ground rhythm: a full-bleed portrait with the name set like a book title, one 440px olive numeral for the open-slot count, a three-row day table on a strict 440px pitch (the frame people screenshot, held ~10s), a cream booking plate on saturated olive carrying the ask, and a centred sign-off card with the handle, link and a full-bleed olive footer band. Fraunces 700 carries every display line, Geist the body copy, JetBrains Mono the kickers, times, chips and link. 19 fields are swapped per render: stylist_photo (used full-bleed in scene 01 and inside a 440px circle in scene 05), stylist_name, stylist_role, salon_line, week_label, open_count, personal_note, day_1/2/3_name, day_1/2/3_time, day_1/2/3_note, booking_link, booking_note and handle. Every field is per-practitioner except week_label — the one column a manager fills once and copies down — so a salon with eight chairs sends eight rows and gets eight different videos back, each one belonging to the person in it.
- Aspect ratio
- 9:16 · Vertical
- Duration
- ~31s
- Category
- Social Media
Try it with your own copy
Edit a field and the frame re-renders in your browser. No account, no credits - previews are free because they cost a browser paint, not a render.
What you can customize
This template exposes 19 dynamic fields you can swap per video - edit them in the editor or pass them to the API to batch-render variations at scale. The monospace name is the exact key to send in replacements.
Stylist Photo
urlstylist_photohttps://images.unsplash.com/photo-1582893561942-d61adcb2e534?fm=jpg&q=85&w=1600
Stylist Name
textstylist_nameDanny Reyes
~17 characters max · 1 line
Stylist Role
textstylist_roleBarber · fades, beards, hot towel
~48 characters max · 1 line
Salon Line
textsalon_lineChair 3 · Fold Barbers · Peckham
~76 characters max · 1 line
Week Label
textweek_labelMon 18 — Sat 23 Aug
~47 characters max · 1 line
Open Count
textopen_count4
~2 characters max · 1 line
Personal Note
textpersonal_noteTwo morning cuts and one late Saturday. After that I'm full until September.
~179 characters max · 4 lines
Day 1 Name
textday_1_nameThursday 21
~15 characters max · 1 line
Day 1 Note
textday_1_note2 slots
~36 characters max · 2 lines
Day 1 Time
textday_1_time10:00 — 12:30
~28 characters max · 1 line
Day 2 Name
textday_2_nameFriday 22
~15 characters max · 1 line
Day 2 Note
textday_2_noteLate cut
~36 characters max · 2 lines
Day 2 Time
textday_2_time17:45 — 19:15
~28 characters max · 1 line
Day 3 Name
textday_3_nameSaturday 23
~15 characters max · 1 line
Day 3 Note
textday_3_note1 slot
~36 characters max · 2 lines
Day 3 Time
textday_3_time09:00 — 11:00
~28 characters max · 1 line
Booking Link
textbooking_linkbook.foldbarbers.co/danny
~41 characters max · 1 line
Booking Note
textbooking_note£10 deposit holds your slot — it comes off the bill.
~152 characters max · 3 lines
Handle
texthandle@dannycuts
~74 characters max · 1 line
Render it from the API
Copy either call below. Both already carry this template's ID and its real variable keys - swap the values for your own.
1. Preview it — free
Same body as a render. Costs no credits, creates no job. Returns a public URL that plays the video in a browser, plus a list of problems with your payload — a mistyped key is otherwise ignored in silence.
curl -X POST https://renderly.video/api/v1/previews \
-H "Authorization: Bearer $RENDERLY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"templateId": "stylist-availability-booking",
"replacements": {
"stylist_photo": "https://images.unsplash.com/photo-1582893561942-d61adcb2e534?fm=jpg&q=85&w=1600",
"stylist_name": "Danny Reyes",
"stylist_role": "Barber · fades, beards, hot towel",
"salon_line": "Chair 3 · Fold Barbers · Peckham",
"week_label": "Mon 18 — Sat 23 Aug",
"open_count": "4"
}
}'2. Render it
Change one word in the URL. Keep templateId — it is what links your call to this template, so later improvements reach you automatically.
curl -X POST https://renderly.video/api/v1/renders \
-H "Authorization: Bearer $RENDERLY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"templateId": "stylist-availability-booking",
"replacements": {
"stylist_photo": "https://images.unsplash.com/photo-1582893561942-d61adcb2e534?fm=jpg&q=85&w=1600",
"stylist_name": "Danny Reyes",
"stylist_role": "Barber · fades, beards, hot towel",
"salon_line": "Chair 3 · Fold Barbers · Peckham",
"week_label": "Mon 18 — Sat 23 Aug",
"open_count": "4"
}
}'The body above shows 6 of 19 variables. Send any subset — every key you leave out renders its authored default. Read the full contract, with character limits, from GET /api/v1/templates/stylist-availability-booking/variables. See the previewing guide, the rendering guide, or the OpenAPI spec.
Frequently asked questions
How do I customize the Stylist Availability & Booking template?
Open the template in the Renderly editor and replace its 19 customizable fields (such as Stylist Photo) with your own text, images, or video. Every change previews instantly before you render.
How much does it cost to render this template?
Rendering is credit-based - 1 credit equals 1 minute of 1080p video, billed by the second. You only pay when you export, and credits never expire on the pay-as-you-go plan.
Can I generate this video at scale via the API?
Yes. POST this template's ID and a replacements object to /api/v1/renders - one call per row of data, 19 fields swappable per video. Send the same body to /api/v1/previews first to check it for free. No-code integrations like Zapier work the same way.
More Social Media templates

Crypto Price Alert
A dark, fast vertical alert card for one crypto asset and one price move, fired when a threshold is crossed: the asset, the percentage move in crypto gold, the timeframe, the price now against where it started, and a call to action. 15 seconds, 9:16 (1080x1920). Dynamic fields: asset_symbol, asset_name, move_pct (sign included), timeframe, price_now, price_from, alert_time, source_name and cta_line. Reads the same for a 3% move or a 40% drop, up or down.

Reddit Story Reader
A screen-native story-reader short for faceless channels: a forum post card with the title and source, then three body pages in grey panels with a page counter and progress bar, and an end card that sets up the next part. 53 seconds, 9:16 (1080x1920). Dynamic fields: post_title, source_label, page_1, page_2, page_3 (up to about 380 characters each), part_label, outro_line and channel_handle. Longer stories render as several parts.

Motivational Quote Reel
The moving sibling of the Daily Quote card: one quote over slow, graded footage with an optional AI-narrated read. 23 seconds, 9:16 at 1080x1920, five scenes - a title card, the quote, the attribution, a near-black quote card built to be screenshotted, and a follow outro - in near-black, warm white and a single warm-amber accent, set in Cormorant Garamond with JetBrains Mono furniture. Dynamic fields: series_label, date_label, the_line, attribution, handle (text), background_clip (video) and narration (sound, filled per render with a text-to-speech value). It uses the same field names as the Daily Social Card - Quote, so one row a day renders both the square card and the vertical reel.