Cruise Itinerary Card
An engraved, stationery-style card for one cruise sailing: it names the vessel and the voyage, sizes the holiday in three numbers, walks the nine-day route down a continuous brass rail, lands the fare, and closes on a booking line. 1080x1920 (9:16), 35 seconds at 30fps, six scenes alternating sea-ink and cream grounds with an engine-turned guilloche, Bodoni Moda display type and Archivo lettering. Thirty-three fields swap per render: the vessel and sailing (ship_name, sailing_name, nights_label, date_range), the at-a-glance figures (nights_value, ports_value, sea_days_value, voyage_note, embark_line), the nine-row route as two fields per row (stop_1_meta/stop_1_name through stop_9_meta/stop_9_name, with rows 3 and 7 pre-styled as days at sea), the commercial close (fare_value, fare_basis, deposit_line, booking_line), and two evergreen photographs (ship_photo, port_photo). Because a sailing is already a row in a schedule table, a line can render a whole season of cards from a single query.
- Aspect ratio
- 9:16 · Vertical
- Duration
- ~35s
- Category
- Travel
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 33 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.
Ship Photo
urlship_photohttps://images.unsplash.com/photo-1580286374075-7279567e29ae?fm=jpg&q=80&w=1080&h=1920&fit=crop&crop=entropy
Ship Name
textship_nameMS Meridian
~63 characters max · 1 line
Sailing Name
textsailing_nameWestern Mediterranean
~37 characters max · 2 lines
Nights Label
textnights_labelEight Nights
~29 characters max · 1 line
Date Range
textdate_range14 — 22 September 2026
~65 characters max · 1 line
Nights Value
textnights_value8
~3 characters max · 1 line
Ports Value
textports_value5
~3 characters max · 1 line
Sea Days Value
textsea_days_value2
~3 characters max · 1 line
Voyage Note
textvoyage_noteBarcelona to Barcelona · the long way round.
~71 characters max · 2 lines
Embark Line
textembark_lineRound trip from Barcelona
~71 characters max · 1 line
Stop 1 Meta
textstop_1_metaDAY 1 · EMBARK · SAIL 17:00
~65 characters max · 1 line
Stop 1 Name
textstop_1_nameBarcelona, Spain
~26 characters max · 1 line
Stop 2 Meta
textstop_2_metaDAY 2 · 08:00 — 18:00
~65 characters max · 1 line
Stop 2 Name
textstop_2_namePalma de Mallorca
~26 characters max · 1 line
Stop 3 Meta
textstop_3_metaDAY 3 · AT SEA
~65 characters max · 1 line
Stop 3 Name
textstop_3_nameCruising the Balearics
~28 characters max · 1 line
Stop 4 Meta
textstop_4_metaDAY 4 · 07:30 — 17:30
~65 characters max · 1 line
Stop 4 Name
textstop_4_nameCagliari, Sardinia
~26 characters max · 1 line
Stop 5 Meta
textstop_5_metaDAY 5 · 08:00 — 20:00
~65 characters max · 1 line
Stop 5 Name
textstop_5_nameValletta, Malta
~26 characters max · 1 line
Stop 6 Meta
textstop_6_metaDAY 6 · 07:00 — 16:00
~65 characters max · 1 line
Stop 6 Name
textstop_6_nameTrapani, Sicily
~26 characters max · 1 line
Stop 7 Meta
textstop_7_metaDAY 7 · AT SEA
~65 characters max · 1 line
Stop 7 Name
textstop_7_nameCruising for Ibiza
~28 characters max · 1 line
Stop 8 Meta
textstop_8_metaDAY 8 · 09:00 — 23:00
~65 characters max · 1 line
Stop 8 Name
textstop_8_nameIbiza, Spain
~26 characters max · 1 line
Stop 9 Meta
textstop_9_metaDAY 9 · DISEMBARK 08:00
~65 characters max · 1 line
Stop 9 Name
textstop_9_nameBarcelona, Spain
~26 characters max · 1 line
Port Photo
urlport_photohttps://images.unsplash.com/photo-1756641157225-4a6517e48973?fm=jpg&q=80&w=1080&h=1000&fit=crop&crop=bottom
Fare Value
textfare_value$1,849
~10 characters max · 1 line
Fare Basis
textfare_basisPer guest · interior stateroom · twin share
~56 characters max · 1 line
Deposit Line
textdeposit_line$99 deposit · book by 30 June
~69 characters max · 1 line
Booking Line
textbooking_linemeridiancruises.com · 0800 118 4400
~54 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": "cruise-itinerary-card",
"replacements": {
"ship_photo": "https://images.unsplash.com/photo-1580286374075-7279567e29ae?fm=jpg&q=80&w=1080&h=1920&fit=crop&crop=entropy",
"ship_name": "MS Meridian",
"sailing_name": "Western\nMediterranean",
"nights_label": "Eight Nights",
"date_range": "14 — 22 September 2026",
"nights_value": "8"
}
}'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": "cruise-itinerary-card",
"replacements": {
"ship_photo": "https://images.unsplash.com/photo-1580286374075-7279567e29ae?fm=jpg&q=80&w=1080&h=1920&fit=crop&crop=entropy",
"ship_name": "MS Meridian",
"sailing_name": "Western\nMediterranean",
"nights_label": "Eight Nights",
"date_range": "14 — 22 September 2026",
"nights_value": "8"
}
}'The body above shows 6 of 33 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/cruise-itinerary-card/variables. See the previewing guide, the rendering guide, or the OpenAPI spec.
Frequently asked questions
How do I customize the Cruise Itinerary Card template?
Open the template in the Renderly editor and replace its 33 customizable fields (such as Ship 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, 33 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 Travel templates

Vacation Rental Listing - Alpine Winter
A 30-second 16:9 listing film (1920x1080) for a ski chalet, cut to a calm 104 BPM track, on a pine-charcoal ground with ember-orange rules and Instrument Serif headlines. Five scenes sell it in the order a booking gets made: the destination, the view, the rooms, the essentials, then the rate and where to book. Every photo gets its own slow camera move while the text holds still once it lands: the hero pushes in under the property name, the view pans in a wide strip, the three room photos pan inside fixed tiles, the guests, bedrooms and baths figures arrive on the beat, and the end card pairs the price and booking link with the hero photo. Each scene wipes in over the last, so no frame is ever empty. Point it at a property feed to render one video per listing. 24 fields swap per render, with the same names in the alpine, city and sun-warmed versions, so a rental platform maps its feed once and picks a look per property: property_name, location_label, rating_label, property_tagline, room_1_label, room_2_label, room_3_label, guests_value, bedrooms_value, baths_value, amenity_1, amenity_2, amenity_3, availability_label, price_label, price_note, cta_label, cta_detail, and six photos (photo_hero, photo_view, photo_room_1, photo_room_2, photo_room_3, photo_pool). Every photo is a cover crop, so host photos of any size fit.

Vacation Rental Listing - City Apartment
A 28-second vertical listing film (1080x1920, 9:16) for a city apartment, built for Instagram and TikTok and cut to a 102 BPM track, with near-black and concrete grounds, safety-yellow accents and Archivo Black headlines. Five scenes: the hero, the window, the rooms, the neighbourhood, then the price and where to book. Every photo gets its own slow camera move while the text holds still once it lands: the hero pushes in under the property name, the view pans in its own band, the three room photos pan inside fixed tiles, the guests, bedrooms and baths figures arrive on the beat, and the end card pairs the price and booking link with the hero photo. Each scene wipes in over the last, so no frame is ever empty. Nothing important sits low in the frame, so platform captions never cover a word. 24 fields swap per render, with the same names in the alpine, city and sun-warmed versions, so a rental platform maps its feed once and picks a look per property: property_name, location_label, rating_label, property_tagline, room_1_label, room_2_label, room_3_label, guests_value, bedrooms_value, baths_value, amenity_1, amenity_2, amenity_3, availability_label, price_label, price_note, cta_label, cta_detail, and six photos (photo_hero, photo_view, photo_room_1, photo_room_2, photo_room_3, photo_pool). Every photo is a cover crop, so host photos of any size fit.

Vacation Rental Listing - Sun-Warmed
A 30-second 16:9 listing film (1920x1080) for a beachfront rental, cut to a warm 105 BPM track, on a deep-ocean ink and warm-sand palette with a sun-gold accent and Prata headlines. Five scenes sell it in the order a booking gets made: the destination, the view, the rooms, the essentials, then the price and where to book. Every photo gets its own slow camera move while the text holds still once it lands: the hero pushes in under the property name, the view pans in a wide strip, the three room photos pan inside fixed tiles, the guests, bedrooms and baths figures arrive on the beat, and the end card pairs the price and booking link with the hero photo. Each scene wipes in over the last, so no frame is ever empty. Point it at a property feed to render one video per listing, and render again when the rate or the season changes. 24 fields swap per render, with the same names in the alpine, city and sun-warmed versions, so a rental platform maps its feed once and picks a look per property: property_name, location_label, rating_label, property_tagline, room_1_label, room_2_label, room_3_label, guests_value, bedrooms_value, baths_value, amenity_1, amenity_2, amenity_3, availability_label, price_label, price_note, cta_label, cta_detail, and six photos (photo_hero, photo_view, photo_room_1, photo_room_2, photo_room_3, photo_pool). Every photo is a cover crop, so host photos of any size fit.