Player documentation

Chapters

Chapters divide a video into useful sections. Marina and Fleet include AI generation and manual editing. Harbor and trial show an upgrade prompt. Plan permissions are enforced by the API.

Generate from a transcript

Open a video’s Transcript tab and choose Generate chapters. Upload or generate a transcript first. Videos under 90 seconds show “Too short for chapters”. When more than one transcript language exists, select the language to use.

Generation runs as a durable job. You can leave the page and return later to see progress or a failure explanation. AI creates 3 to 12 ordered chapters with concise titles. Provider errors retry after 1, 5, and 30 minutes, then stop. Invalid output is rejected, not sent to a fallback provider. If AI is not configured, generation is unavailable without affecting playback or manual editing.

Edit chapters

Add, rename, retime, delete, or reorder chapter items in the Transcript tab, then save. Titles must contain 1 to 59 characters. Start times must strictly ascend, be nonnegative, and fall before the video ends. Use an empty list to remove chapters. Manual tracks allow up to 100 chapters.

Saving checks the current version. If another owner changes the chapters, refresh before saving instead of replacing their work. Generation also checks the transcript identity and version before publishing, so an older job cannot overwrite changes made while it ran.

Navigate during playback

The app player, public watch page, and embed player show chapter markers on the timeline, the current chapter title, and a chapter menu. Hover over a marker to see its title; click a marker or menu item to seek. Chapter headings also appear in the transcript list. The customization preview intentionally shows no chapters.

Chapter delivery

Saving or generating chapters queues edge publication. The chapter track is delivered next to captions as a WebVTT object at /<organization>/ch/<videoId>.vtt and in the shared player manifest. Private or unavailable videos do not expose their chapter track through public delivery.

API and webhook

Use GET or PUT /api/v1/videos/:id/chapters to read or replace chapters, and POST /api/v1/videos/:id/chapters/generate to enqueue generation. Updates use expectedVersion. Successful changes emit video.chapters.ready with the public video ID and chapter version. See the API reference and webhook guide.