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. 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 - Sun-Warmed
The founding member of the travel line: a 32-second 16:9 listing video for a beachfront rental, sold in the order a booking actually gets made - the destination, the view, the rooms, the three amenities people filter on, then the price and where to book. A rental platform holds ten thousand listings and a host photo set for each, so nothing here is authored per property: point it at the property feed and it renders one video per listing, then re-renders when the rate or the season changes. Six scenes on a deep-ocean-ink and warm-sand rhythm that flips at every cut - the flip is the transition, with hard cuts throughout and a single cross-dissolve into the close. A full-bleed hero names the property over a slow 1.03 zoom, a 1920x620 letterbox band gives the view its own frame above the host's own line about it, three captioned room cards drift in left to right, an essentials board answers the filter fields (capacity as three 172px figures over a hairline, then three amenity lines led by rotated gold markers), a golden-hour pool scene argues for returning rather than visiting, and a close pairs the price and a gold CTA pill with a complete listing card so the last frame survives being screenshotted. One sun-gold accent, an 84x3px gold rule opening every block, Prata for the display type with Manrope and JetBrains Mono for copy and furniture. The mechanic that makes ten thousand host photo sets look like one brand is the grade stack: every photo slot is a fixed frame with object-fit cover and a declared focal point, one saturate/contrast/brightness grade, an ink tint, a warm wash, and a directional scrim, so contrast survives a photo nobody previewed and the template - never the host - chooses the crop. Swap twenty-four dynamic fields per listing: property_name, location_label, rating_label, property_tagline, room_1/2/3_label, guests_value, bedrooms_value, baths_value, amenity_1/2/3, availability_label, price_label, price_note, cta_label, cta_detail, and six photos (photo_hero, photo_view, photo_room_1/2/3, photo_pool). Everything arrives preformatted - price_label carries its own currency symbol and price_note carries both the period and the stay rule, so the close stays locale-safe. Fields set in JetBrains Mono are uppercased at render, so mixed-case feed input survives. The alpine (16:9, snow) and city (9:16, five scenes) siblings read the same twenty-four fields, so a platform picks a look per property, never a schema.

Vacation Rental Listing — City Apartment
The vertical, feed-native member of Renderly's travel line: a 26-second 1080x1920 (9:16) listing video built for the Instagram and TikTok half of the booking funnel rather than the listing page. Five scenes sell the location — a full-bleed hero names the property over a slow 1.04 to 1.00 zoom, a 1080x1180 photo band gives the window its own frame above the host's own line about it, one wide and two half room cards merge the rooms and the three filter figures into a single beat, a departure-board table of three walkable-neighbourhood lines lands over the street itself, and a close stacks the whole offer (card, spec row, availability, price, CTA) into one screenshotable frame. Near-black and concrete grey alternate at every cut — the flip is the transition, with hard cuts throughout and one cross-dissolve into the close; safety yellow is a fill on the light ground and a colour on the dark one, marking every 96x12 block opener, 1080x12 seam, chip and price. Archivo Black carries the display lines, Manrope the human copy, JetBrains Mono the furniture, and nothing meaningful sits below y=1720 so the platform's caption and buttons never cover a word. Every photo slot is a fixed frame with object-fit cover, a declared focal point, one cool grade, an ink tint and a directional scrim, so the template — never the host — chooses the crop on a portrait canvas taking landscape source. Twenty-four dynamic fields swap per render: 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). The names, types and semantics are identical to the sun-warmed 16:9 sibling, so a rental platform picks a look per property and never a schema.

Vacation Rental Listing — Alpine Winter
The cold-weather sibling of the sun-warmed villa cut: a ski chalet sold in the order a booking actually gets made — the destination, the view, the rooms, the three amenities people filter on, then the rate and where to book. 32 seconds, 16:9 at 1920×1080, six scenes on a pine-charcoal ground where snow white arrives only as an inset 1808×968 panel framed on all four sides, so the light beat reads as a lit window rather than an open sky. Instrument Serif carries the statement lines, Geist the human copy, JetBrains Mono the furniture, with ember orange on every 96×2px rule. It renders one video per listing off a property feed and re-renders when the rate or the season changes: 24 dynamic fields, identical name-for-name to vacation-rental-v1 so a platform maps one feed once and picks a look per property. Eighteen text fields — property_name, location_label, rating_label, property_tagline, room_1/2/3_label, guests_value, bedrooms_value, baths_value, amenity_1/2/3, availability_label, price_label, price_note, cta_label, cta_detail — and six image slots — photo_hero, photo_view, photo_room_1/2/3, photo_pool — each cropped, never fitted, through a fixed grade stack with declared focal points so ten thousand host photo sets read as one brand.