---
title: "Inspirational Video"
canonical_url: https://docs.zvid.io/docs/examples/inspirational-video/
source: docs/examples/inspirational-video.md
content_revision: 6338386a1dd87e4a
---

# 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](https://docs.zvid.io/docs/structure/scenes/).

The complete JSON in this page is the runnable config for this example and has been checked against the current public render schema.

## Preview


The full config below, rendered by Zvid

[Watch rendered example](https://cdn.zvid.io/library/docs/example-inspirational.mp4)


| 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

```json
{
  "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:

```json
{
  "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:

```json
[
  {
    "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:

```json
{
  "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](https://docs.zvid.io/docs/validate-and-estimate/) before spending credits.


**Show full JSON config**


```json
{
  "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 `id` and `transitionId` to link video clips on one timeline.
- Set source video `volume` to `0` when narration should drive the audio.
- Karaoke accepts text-only captions and distributes word timing automatically;
  explicit word-level `start`/`end` values provide transcript-accurate timing.
- Keep background music low, often around `0.1` to `0.3`, so it does not compete with narration.
