Video APIv1 Home OpenAPI spec

Docs › Chapters

Chapters

Split a finished video into named parts. Viewers see them as marks on the seek bar and a chapter menu in the <video-piper> player (and on the embed page) to jump between them, and any player that reads a WebVTT chapters track can use the same file. Each chapter runs until the next one starts; the last runs to the end. Nothing is re-encoded, so it's instant and free, on every plan.

PUT /videos/{id}/chapters
{"chapters": [
  {"start": 0,    "title": "Intro"},
  {"start": 42.5, "title": "Setup"},
  {"start": 90,   "title": "Wrap-up"}
]}

The answer (and GET /videos/{id}/chapters) is {videoId, chapters}. GET /videos/{id} includes chapters and, with the playback links, chaptersUrl: a signed link to the WebVTT file, with the same lifetime and allowed domains as playbackUrl. Rules: up to 100 chapters; start in seconds, before the end of the video, each at least a second after the one before; title one line of 1 to 100 characters. Every problem comes back at once in details (chapters[2].start…). Send {"chapters": []} or DELETE /videos/{id}/chapters to remove them. The video must have finished processing (409 NOT_READY before). A reprocessed copy or an edit doesn't carry them over. In the app: a video's ⋯ menu → Chapters….