Inspirational Video
This example is a 28-second HD motivational video built from six VIDEO
clips on one global timeline, two audio entries, and karaoke-style subtitles.
These clips are not objects in the scenes array.
The complete JSON in this page is the runnable config for this example and has been checked against the current public render schema.
Preview
| Property | Value |
|---|---|
| Resolution | hd (1280 x 720) |
| Duration | 28 seconds |
| Visual types | VIDEO |
| Video clips | 6 |
| Audio tracks | 2 |
| Subtitle mode | karaoke |
| Font | Montserrat |
Config Highlights
{
"name": "inspirational",
"resolution": "hd",
"duration": 28,
"backgroundColor": "#000000"
}
The clips are linked with id and transitionId. This is a visual element
fragment from the complete project below:
{
"type": "VIDEO",
"id": "scene-1",
"src": "https://www.pexels.com/download/video/4927963/",
"width": 1280,
"height": 720,
"resize": "cover",
"position": "center-center",
"anchor": "center-center",
"volume": 0,
"videoBegin": 0,
"videoEnd": 4.8,
"enterBegin": 0.16,
"exitEnd": 4.96,
"transition": "fade",
"transitionDuration": 0.6,
"transitionId": "scene-2"
}
The recorded fixture mixes the same audio source twice at different levels. Its captions are authored separately; this fixture does not demonstrate automatic transcription or separate narration and music sources:
[
{
"src": "https://cdn.pixabay.com/audio/2026/02/24/audio_3f375fdf97.mp3",
"volume": 1
},
{
"src": "https://cdn.pixabay.com/audio/2026/02/24/audio_3f375fdf97.mp3",
"volume": 0.2
}
]
For new projects, use the current flat subtitle style fields. This
subtitle fragment is the equivalent styling for the recorded example:
{
"font": {
"color": "#ffffff",
"bold": true,
"size": 86,
"family": "Montserrat"
},
"position": "center-center",
"stroke": { "width": 4, "color": "#000000" },
"animation": "karaoke",
"activeWord": { "color": "#f3efa2" }
}
How It Works
Each clip is a VIDEO element positioned on the global timeline with
enterBegin and exitEnd. The source clips are muted with volume: 0, and
the fixture's audio entries are mixed through the root audios array.
The first five clips declare transitions to the next clip:
| Scene | Transition | Duration |
|---|---|---|
scene-1 to scene-2 | fade | 0.6 |
scene-2 to scene-3 | smoothleft | 0.7 |
scene-3 to scene-4 | fadeblack | 0.6 |
scene-4 to scene-5 | dissolve | 0.6 |
scene-5 to scene-6 | fadewhite | 0.7 |
Full Config
The full JSON below is the recorded render's project payload, submitted
under payload. Its source URLs and legacy subtitle.styles are retained
to match the preview. For new projects, use the current subtitle fields above;
do not combine them with styles. Validate a complete request with
Validate and estimate before spending credits.
Show full JSON config
{
"name": "inspirational",
"resolution": "hd",
"duration": 28,
"backgroundColor": "#000000",
"visuals": [
{
"type": "VIDEO",
"id": "scene-1",
"src": "https://www.pexels.com/download/video/4927963/",
"width": 1280,
"height": 720,
"resize": "cover",
"position": "center-center",
"anchor": "center-center",
"volume": 0,
"videoBegin": 0,
"videoEnd": 4.8,
"enterBegin": 0.16,
"exitEnd": 4.96,
"transition": "fade",
"transitionDuration": 0.6,
"transitionId": "scene-2"
},
{
"type": "VIDEO",
"id": "scene-2",
"src": "https://www.pexels.com/download/video/5417879/",
"width": 1280,
"height": 720,
"resize": "cover",
"position": "center-center",
"anchor": "center-center",
"volume": 0,
"videoBegin": 0,
"videoEnd": 4.64,
"enterBegin": 4.96,
"exitEnd": 9.6,
"transition": "smoothleft",
"transitionDuration": 0.7,
"transitionId": "scene-3"
},
{
"type": "VIDEO",
"id": "scene-3",
"src": "https://www.pexels.com/download/video/5310849/",
"width": 1280,
"height": 720,
"resize": "cover",
"position": "center-center",
"anchor": "center-center",
"volume": 0,
"videoBegin": 0,
"videoEnd": 4.08,
"enterBegin": 9.6,
"exitEnd": 13.68,
"transition": "fadeblack",
"transitionDuration": 0.6,
"transitionId": "scene-4"
},
{
"type": "VIDEO",
"id": "scene-4",
"src": "https://www.pexels.com/download/video/5946138/",
"width": 1280,
"height": 720,
"resize": "cover",
"position": "center-center",
"anchor": "center-center",
"volume": 0,
"videoBegin": 0,
"videoEnd": 4.8,
"enterBegin": 13.68,
"exitEnd": 18.48,
"transition": "dissolve",
"transitionDuration": 0.6,
"transitionId": "scene-5"
},
{
"type": "VIDEO",
"id": "scene-5",
"src": "https://www.pexels.com/download/video/6607460/",
"width": 1280,
"height": 720,
"resize": "cover",
"position": "center-center",
"anchor": "center-center",
"volume": 0,
"videoBegin": 0,
"videoEnd": 5.52,
"enterBegin": 18.48,
"exitEnd": 24.0,
"transition": "fadewhite",
"transitionDuration": 0.7,
"transitionId": "scene-6"
},
{
"type": "VIDEO",
"id": "scene-6",
"src": "https://www.pexels.com/download/video/2558580/",
"width": 1280,
"height": 720,
"resize": "cover",
"position": "center-center",
"anchor": "center-center",
"volume": 0,
"videoBegin": 0,
"videoEnd": 4.0,
"enterBegin": 24.0,
"exitEnd": 28.0
}
],
"audios": [
{
"src": "https://cdn.pixabay.com/audio/2026/02/24/audio_3f375fdf97.mp3",
"volume": 1
},
{
"src": "https://cdn.pixabay.com/audio/2026/02/24/audio_3f375fdf97.mp3",
"volume": 0.2
}
],
"subtitle": {
"styles": {
"color": "#ffffff",
"isBold": true,
"fontSize": 86,
"fontFamily": "Montserrat",
"position": "center-center",
"outline": { "width": 4, "color": "#000000" },
"mode": "karaoke",
"activeWord": { "color": "#f3efa2" }
},
"captions": [
{
"start": 0.16,
"end": 0.92,
"text": "You don't need to see",
"words": [
{ "text": "You", "start": 0.16, "end": 0.28 },
{ "text": "don't", "start": 0.28, "end": 0.48 },
{ "text": "need", "start": 0.48, "end": 0.6 },
{ "text": "to", "start": 0.6, "end": 0.76 },
{ "text": "see", "start": 0.76, "end": 0.92 }
]
},
{
"start": 0.92,
"end": 1.68,
"text": "the whole path.",
"words": [
{ "text": "the", "start": 0.92, "end": 1.04 },
{ "text": "whole", "start": 1.04, "end": 1.28 },
{ "text": "path.", "start": 1.28, "end": 1.68 }
]
},
{
"start": 2.0,
"end": 3.16,
"text": "You just need the courage",
"words": [
{ "text": "You", "start": 2.0, "end": 2.28 },
{ "text": "just", "start": 2.28, "end": 2.48 },
{ "text": "need", "start": 2.48, "end": 2.68 },
{ "text": "the", "start": 2.68, "end": 2.84 },
{ "text": "courage", "start": 2.84, "end": 3.16 }
]
},
{
"start": 3.16,
"end": 4.4,
"text": "to take the first step.",
"words": [
{ "text": "to", "start": 3.16, "end": 3.36 },
{ "text": "take", "start": 3.36, "end": 3.6 },
{ "text": "the", "start": 3.6, "end": 3.8 },
{ "text": "first", "start": 3.8, "end": 4.04 },
{ "text": "step.", "start": 4.04, "end": 4.4 }
]
},
{
"start": 4.96,
"end": 6.48,
"text": "Every great journey begins with",
"words": [
{ "text": "Every", "start": 4.96, "end": 5.28 },
{ "text": "great", "start": 5.28, "end": 5.56 },
{ "text": "journey", "start": 5.56, "end": 5.96 },
{ "text": "begins", "start": 5.96, "end": 6.32 },
{ "text": "with", "start": 6.32, "end": 6.48 }
]
},
{
"start": 6.48,
"end": 7.28,
"text": "uncertainty,",
"words": [{ "text": "uncertainty,", "start": 6.48, "end": 7.28 }]
},
{
"start": 7.28,
"end": 8.72,
"text": "and that's where growth is",
"words": [
{ "text": "and", "start": 7.28, "end": 7.64 },
{ "text": "that's", "start": 7.64, "end": 8.0 },
{ "text": "where", "start": 8.0, "end": 8.24 },
{ "text": "growth", "start": 8.24, "end": 8.48 },
{ "text": "is", "start": 8.48, "end": 8.72 }
]
},
{
"start": 8.72,
"end": 9.12,
"text": "born.",
"words": [{ "text": "born.", "start": 8.72, "end": 9.12 }]
},
{
"start": 9.6,
"end": 11.04,
"text": "The struggle you feel today",
"words": [
{ "text": "The", "start": 9.6, "end": 9.88 },
{ "text": "struggle", "start": 9.88, "end": 10.24 },
{ "text": "you", "start": 10.24, "end": 10.44 },
{ "text": "feel", "start": 10.44, "end": 10.68 },
{ "text": "today", "start": 10.68, "end": 11.04 }
]
},
{
"start": 11.12,
"end": 12.6,
"text": "is building the strength you'll",
"words": [
{ "text": "is", "start": 11.12, "end": 11.44 },
{ "text": "building", "start": 11.44, "end": 11.72 },
{ "text": "the", "start": 11.72, "end": 11.96 },
{ "text": "strength", "start": 11.96, "end": 12.32 },
{ "text": "you'll", "start": 12.32, "end": 12.6 }
]
},
{
"start": 12.6,
"end": 13.36,
"text": "need tomorrow.",
"words": [
{ "text": "need", "start": 12.6, "end": 12.8 },
{ "text": "tomorrow.", "start": 12.8, "end": 13.36 }
]
},
{
"start": 13.68,
"end": 14.8,
"text": "Doubt will whisper,",
"words": [
{ "text": "Doubt", "start": 13.68, "end": 14.12 },
{ "text": "will", "start": 14.12, "end": 14.32 },
{ "text": "whisper,", "start": 14.32, "end": 14.8 }
]
},
{
"start": 14.96,
"end": 15.92,
"text": "fear will shout,",
"words": [
{ "text": "fear", "start": 14.96, "end": 15.32 },
{ "text": "will", "start": 15.32, "end": 15.52 },
{ "text": "shout,", "start": 15.52, "end": 15.92 }
]
},
{
"start": 16.16,
"end": 17.56,
"text": "but your dreams will call",
"words": [
{ "text": "but", "start": 16.16, "end": 16.48 },
{ "text": "your", "start": 16.48, "end": 16.72 },
{ "text": "dreams", "start": 16.72, "end": 17.08 },
{ "text": "will", "start": 17.08, "end": 17.28 },
{ "text": "call", "start": 17.28, "end": 17.56 }
]
},
{
"start": 17.56,
"end": 18.16,
"text": "louder.",
"words": [{ "text": "louder.", "start": 17.56, "end": 18.16 }]
},
{
"start": 18.48,
"end": 20.48,
"text": "Success isn't about being perfect.",
"words": [
{ "text": "Success", "start": 18.48, "end": 18.88 },
{ "text": "isn't", "start": 18.88, "end": 19.32 },
{ "text": "about", "start": 19.32, "end": 19.56 },
{ "text": "being", "start": 19.56, "end": 19.92 },
{ "text": "perfect.", "start": 19.92, "end": 20.48 }
]
},
{
"start": 20.64,
"end": 21.92,
"text": "It's about showing up",
"words": [
{ "text": "It's", "start": 20.64, "end": 21.04 },
{ "text": "about", "start": 21.04, "end": 21.24 },
{ "text": "showing", "start": 21.24, "end": 21.64 },
{ "text": "up", "start": 21.64, "end": 21.92 }
]
},
{
"start": 22.08,
"end": 23.04,
"text": "again and again.",
"words": [
{ "text": "again", "start": 22.08, "end": 22.44 },
{ "text": "and", "start": 22.44, "end": 22.72 },
{ "text": "again.", "start": 22.72, "end": 23.04 }
]
},
{
"start": 24.0,
"end": 25.12,
"text": "One day you'll look back",
"words": [
{ "text": "One", "start": 24.0, "end": 24.28 },
{ "text": "day", "start": 24.28, "end": 24.48 },
{ "text": "you'll", "start": 24.48, "end": 24.76 },
{ "text": "look", "start": 24.76, "end": 24.92 },
{ "text": "back", "start": 24.92, "end": 25.12 }
]
},
{
"start": 25.12,
"end": 26.32,
"text": "and realize this was the",
"words": [
{ "text": "and", "start": 25.12, "end": 25.36 },
{ "text": "realize", "start": 25.36, "end": 25.76 },
{ "text": "this", "start": 25.76, "end": 26.0 },
{ "text": "was", "start": 26.0, "end": 26.2 },
{ "text": "the", "start": 26.2, "end": 26.32 }
]
},
{
"start": 26.32,
"end": 27.64,
"text": "moment you decided not to",
"words": [
{ "text": "moment", "start": 26.32, "end": 26.6 },
{ "text": "you", "start": 26.6, "end": 26.8 },
{ "text": "decided", "start": 26.8, "end": 27.24 },
{ "text": "not", "start": 27.24, "end": 27.48 },
{ "text": "to", "start": 27.48, "end": 27.64 }
]
},
{
"start": 27.64,
"end": 28.0,
"text": "quit.",
"words": [{ "text": "quit.", "start": 27.64, "end": 28.0 }]
}
]
}
}
Key Takeaways
- Use
idandtransitionIdto link video clips on one timeline. - Set source video
volumeto0when narration should drive the audio. - Karaoke accepts text-only captions and distributes word timing automatically;
explicit word-level
start/endvalues provide transcript-accurate timing. - Keep background music low, often around
0.1to0.3, so it does not compete with narration.