Skip to content

Make the video ​

Watchalong doesn't make the video for you. You make a narrated video of your plan with your own video tool, and Watchalong imports it along with the project files that tool wrote. Those files tell Watchalong where each scene starts, what the narrator says in it, and whose voice the narrator has.

An import takes four files.

FileWhat it holds
intro.mp4The rendered video
script.jsonThe voice-over for each scene
timeline.jsonWhen each scene starts and how long it runs
video.jsonThe ElevenLabs voice the narrator speaks in

Keep the JSON files named as shown and you can drop all three on the import page at once. Watchalong sorts them by name. A file with another name goes to whichever card you drop it on. The video can have any name that ends in .mp4.

intro.mp4 ​

An .mp4 file of up to 500 MB. It goes straight from your browser to storage, so keep the tab open while it uploads.

Watchalong doesn't read the video to work out its length. The length comes from timeline.json, so render the video and the timeline from the same project.

script.json ​

A list of scenes, each with an id and its voice-over text in vo.

json
[
  { "id": "s01", "vo": "Until now, this lived in spreadsheets and email threads." },
  { "id": "s02", "vo": "Now it lives in one place. Here's a short tour." }
]
  • Every id must be unique, and no longer than 255 characters.
  • Every id must also appear in timeline.json.
  • A scene can leave vo out. The narrator then knows the scene exists but not what was said in it.
  • Other keys your tool writes, such as card, are ignored.

The narrator answers your client's questions from this voice-over and from your plan document, and from nothing else. Clear voice-over gives it more to answer from.

timeline.json ​

The length of the whole video in total, and each scene's start and duration (dur). Both are in seconds, and decimals are fine.

json
{
  "total": 29.85,
  "scenes": [
    { "id": "s01", "start": 0, "dur": 6.42 },
    { "id": "s02", "start": 6.42, "dur": 4.18 }
  ]
}
  • total must be a number above zero. It becomes the walkthrough's length.
  • Each scene needs a start of zero or more and a dur above zero.
  • Watchalong orders scenes by start, so they can appear in any order.
  • A scene in the timeline that isn't in script.json is skipped.
  • Other keys, such as fps and frames, are ignored.

The timeline builds the scene strip you place checkpoints on.

video.json ​

The ElevenLabs voice id the video was narrated in, under voice.id. The narrator asks your checkpoint questions and gives its replies in this voice, so it sounds like the video.

json
{
  "output": "intro.mp4",
  "voice": { "id": "21m00Tcm4TlvDHzh09Ga" }
}

Watchalong reads only voice.id. Everything else in the file is ignored.

When a file is wrong ​

The import checks the files before it creates anything and tells you which file is wrong and why. For example:

  • Scene "s04" is in script.json but not in timeline.json.
  • timeline.json has no numeric total.
  • video.json has no voice.id.

Fix the file in your video project and import again.

Next ​

With the four files ready, create a walkthrough.