Carousel to Video
Lilac carousel converter with slide dots; swap the slides[] array, cover copy, CTA toggle and handle.
- Type
- Video
- Format
- TikTok · 9:16
- Orientation
- Portrait
- Duration
- 20.15s
- Scenes
- 6
- Render cost
- $0.00504 / render
Free template · opens in the editor, no account required.
Customize Carousel to Video
Carousel to Video is a ready-to-render Content creator / social video design formatted for TikTok · 9:16 with 6 scenes and support for variables, data-driven repeat, conditional scenes. Open it in the editor to replace its copy and media, then render variations through the Zvid API.
15 variables: Every value below is a variable you can override — send them in the variables field of the render request (or edit them in the editor) to generate on-brand versions at scale.
handleTextcoverKickerTextcoverTitleTextcoverSubTextcoverImageMedia URLinkColoraccentColoraccentSoftColorpaperColortotalSlidesTextslidesList · 4showCtaTogglectaTitleTextctaTextTextmusicUrlMedia URLThe exact JSON payload
This is the full render config — POST it to the API, or open it in the editor to tweak.
{
"name": "social-carousel-to-video",
"resolution": "tiktok",
"frameRate": 30,
"backgroundColor": "#EDE9F7",
"outputFormat": "mp4",
"variables": {
"handle": "@build.in.public",
"coverKicker": "SWIPE-FREE EDITION",
"coverTitle": "How I grew to<br>10k followers",
"coverSub": "The exact 4-step system — as a video, not a carousel.",
"coverImage": "https://images.pexels.com/photos/8490673/pexels-photo-8490673.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940",
"ink": "#1C1830",
"accent": "#7C5CFF",
"accentSoft": "#B7A6FF",
"paper": "#EDE9F7",
"totalSlides": "4",
"slides": [
{
"n": "1",
"title": "Post one format only",
"body": "For your first 30 days, repeat a single format until you're unmistakably good at it."
},
{
"n": "2",
"title": "Hook in 3 words",
"body": "If your opening line needs a warm-up, cut it. Lead with the boldest promise you can keep."
},
{
"n": "3",
"title": "Reply for 30 minutes",
"body": "After every post, answer comments for half an hour. Early engagement compounds hard."
},
{
"n": "4",
"title": "Ship daily, review weekly",
"body": "Consistency builds the muscle; a weekly review tells you which posts to double down on."
}
],
"showCta": true,
"ctaTitle": "Want the full<br>playbook?",
"ctaText": "Comment 'GROW' and I'll send it",
"musicUrl": "https://cdn.pixabay.com/audio/2025/03/19/audio_56ae1dae5f.mp3"
},
"scenes": [
{
"id": "cover",
"duration": 3.8,
"backgroundColor": "#EDE9F7",
"transition": "slideleft",
"transitionId": "slide",
"transitionDuration": 0.45,
"visuals": [
{
"type": "SVG",
"width": 1080,
"height": 1920,
"track": 0,
"enterBegin": 0,
"exitEnd": 3.8,
"svg": "<svg width='1080' height='1920' viewBox='0 0 1080 1920' xmlns='http://www.w3.org/2000/svg'><defs><linearGradient id='carCover' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='#EDE9F7'/><stop offset='1' stop-color='#E0D8F7'/></linearGradient></defs><rect width='1080' height='1920' fill='url(#carCover)'/><circle cx='920' cy='260' r='220' fill='rgba(124,92,255,0.1)'/><circle cx='140' cy='1720' r='260' fill='rgba(124,92,255,0.08)'/></svg>"
},
{
"type": "IMAGE",
"src": "{{coverImage}}",
"x": 540,
"y": 1420,
"width": 900,
"height": 640,
"anchor": "center-center",
"resize": "cover",
"zoom": true,
"radius": {
"tl": 40,
"tr": 40,
"bl": 40,
"br": 40
},
"track": 1,
"enterBegin": 0,
"enterEnd": 0.5,
"enterAnimation": "smoothup",
"exitEnd": 3.8
},
{
"type": "TEXT",
"x": 90,
"y": 160,
"anchor": "top-left",
"track": 2,
"enterBegin": 0.2,
"enterEnd": 0.6,
"enterAnimation": "smoothleft",
"exitEnd": 3.8,
"style": {
"fontFamily": "Bricolage Grotesque"
},
"html": "<div style='display:inline-block; background:{{accent}}; color:{{paper}}; border-radius:999px; padding:12px 30px; font-size:26px; font-weight:800; letter-spacing:4px;'>{{coverKicker}}</div>"
},
{
"type": "TEXT",
"x": 90,
"y": 330,
"width": 920,
"anchor": "top-left",
"track": 3,
"enterBegin": 0.4,
"enterEnd": 0.9,
"enterAnimation": "smoothup",
"exitEnd": 3.8,
"style": {
"fontFamily": "Bricolage Grotesque"
},
"html": "<div style='color:{{ink}}; font-size:104px; line-height:0.98; font-weight:800; letter-spacing:-3px;'>{{coverTitle}}</div><div style='margin-top:24px; color:#5A5273; font-size:34px; line-height:1.35; font-weight:500;'>{{coverSub}}</div>"
}
]
},
{
"id": "slide",
"iterate": "slides",
"iterateAs": "sl",
"duration": 3.6,
"backgroundColor": "#EDE9F7",
"transition": "slideleft",
"transitionId": "cta",
"transitionDuration": 0.45,
"visuals": [
{
"type": "SVG",
"width": 1080,
"height": 1920,
"track": 0,
"enterBegin": 0,
"exitEnd": 3.6,
"svg": "<svg width='1080' height='1920' viewBox='0 0 1080 1920' xmlns='http://www.w3.org/2000/svg'><rect width='1080' height='1920' fill='#EDE9F7'/><rect x='72' y='420' width='936' height='1080' rx='48' fill='#FFFFFF' stroke='rgba(28,24,48,0.08)' stroke-width='1.5'/><rect x='72' y='420' width='936' height='16' rx='8' fill='#7C5CFF'/><circle cx='240' cy='1720' r='16' fill='rgba(124,92,255,0.35)'/><circle cx='420' cy='1720' r='16' fill='rgba(124,92,255,0.35)'/><circle cx='600' cy='1720' r='16' fill='rgba(124,92,255,0.35)'/><circle cx='780' cy='1720' r='16' fill='rgba(124,92,255,0.35)'/></svg>"
},
{
"type": "TEXT",
"x": 540,
"y": 300,
"anchor": "center-center",
"track": 2,
"enterBegin": 0.1,
"enterEnd": 0.5,
"enterAnimation": "fade",
"exitEnd": 3.6,
"style": {
"fontFamily": "Bricolage Grotesque"
},
"html": "<div style='color:#8B82A8; font-size:28px; font-weight:800; letter-spacing:5px;'>SLIDE {{sl.n}} / {{totalSlides}}</div>"
},
{
"type": "TEXT",
"x": 150,
"y": 520,
"anchor": "top-left",
"track": 3,
"enterBegin": 0.2,
"enterEnd": 0.6,
"enterAnimation": "smoothleft",
"exitEnd": 3.6,
"style": {
"fontFamily": "Bricolage Grotesque"
},
"html": "<div style='color:{{accent}}; font-size:200px; line-height:0.9; font-weight:800; letter-spacing:-6px;'>{{sl.n}}</div>"
},
{
"type": "TEXT",
"x": 150,
"y": 880,
"width": 780,
"anchor": "top-left",
"track": 4,
"enterBegin": 0.4,
"enterEnd": 0.85,
"enterAnimation": "smoothup",
"exitEnd": 3.6,
"style": {
"fontFamily": "Bricolage Grotesque"
},
"html": "<div style='color:{{ink}}; font-size:66px; line-height:1.02; font-weight:800; letter-spacing:-1px;'>{{sl.title}}</div><div style='margin-top:28px; color:#5A5273; font-size:38px; line-height:1.44; font-weight:500;'>{{sl.body}}</div>"
},
{
"type": "TEXT",
"x": 540,
"y": 1810,
"anchor": "center-center",
"track": 1,
"enterBegin": 0,
"exitEnd": 3.6,
"style": {
"fontFamily": "Bricolage Grotesque"
},
"html": "<div style='color:#8B82A8; font-size:24px; font-weight:700; letter-spacing:3px;'>{{handle}}</div>"
}
]
},
{
"id": "cta",
"duration": 4.2,
"backgroundColor": "#1C1830",
"visuals": [
{
"type": "SVG",
"width": 1080,
"height": 1920,
"track": 0,
"enterBegin": 0,
"exitEnd": 4.2,
"svg": "<svg width='1080' height='1920' viewBox='0 0 1080 1920' xmlns='http://www.w3.org/2000/svg'><defs><radialGradient id='carCta' cx='0.5' cy='0.4' r='0.95'><stop offset='0' stop-color='#2A2350'/><stop offset='1' stop-color='#1C1830'/></radialGradient></defs><rect width='1080' height='1920' fill='url(#carCta)'/><path d='M420 560 h240 a36 36 0 0 1 36 36 v150 a36 36 0 0 1 -36 36 h-140 l-80 70 v-70 h-20 a36 36 0 0 1 -36 -36 v-150 a36 36 0 0 1 36 -36 z' fill='none' stroke='#7C5CFF' stroke-width='5' stroke-linejoin='round'/></svg>"
},
{
"type": "TEXT",
"x": 540,
"y": 900,
"width": 920,
"anchor": "top-center",
"track": 1,
"enterBegin": 0.25,
"enterEnd": 0.75,
"enterAnimation": "smoothup",
"exitEnd": 4.2,
"style": {
"fontFamily": "Bricolage Grotesque"
},
"html": "<div style='text-align:center; color:#FFFFFF; font-size:88px; line-height:1.02; font-weight:800; letter-spacing:-2px;'>{{ctaTitle}}</div>"
},
{
"type": "TEXT",
"condition": "{{showCta}}",
"x": 540,
"y": 1200,
"anchor": "top-center",
"track": 2,
"enterBegin": 0.7,
"enterEnd": 1.15,
"enterAnimation": "circleopen",
"exitEnd": 4.2,
"style": {
"fontFamily": "Bricolage Grotesque"
},
"html": "<div style='display:inline-block; background:{{accent}}; color:#FFFFFF; border-radius:999px; padding:26px 62px; font-size:36px; font-weight:800;'>{{ctaText}}</div>"
},
{
"type": "TEXT",
"x": 540,
"y": 1380,
"anchor": "top-center",
"track": 3,
"enterBegin": 1.05,
"enterEnd": 1.45,
"enterAnimation": "fade",
"exitEnd": 4.2,
"style": {
"fontFamily": "Bricolage Grotesque"
},
"html": "<div style='text-align:center; color:{{accentSoft}}; font-size:30px; font-weight:800; letter-spacing:3px;'>{{handle}}</div>"
}
]
}
],
"audios": [
{
"src": "{{musicUrl}}",
"volume": 0.18,
"track": 0
}
]
}More Content creator / social templates
View all ↗Ready to ship video at scale?
Start free — your first render is only a JSON payload away.









