Generate video chapters
Learn how to use FastPix to automatically create video chapters that organize scenes with titles, timestamps, and descriptions for easier navigation.
Imagine a viewer watching a long tutorial video on cooking. They want to jump directly to the section on how to prepare a specific dish, but without chapters, they’re left scrubbing through the timeline. This is where video chapters come into play. By creating chapters, you can significantly improve navigation, making it easier for viewers to access the information they need.
Getting started
To start using the Chapters feature, you can use FastPix’s create media from URL or upload media from device API endpoints. These endpoints analyze video or audio files and generate chapters automatically when uploading new media.
To enable video chapter generation for existing content that was previously uploaded, use the generate video chapters API endpoint. For more information see Generating chapters for existing media.
Generating chapters for new media
Step 1: Collect the URLs of the media files to upload to FastPix (using pull through URL method) for which you want to generate chapters.
Step 2: Create a JSON request and send a POST request to the /on-demand endpoint.
In the JSON configuration for the FastPix API request, the following parameters are required:
- type: Specify whether the file is a video or audio file.
- url: Provide the HTTPS URL of the file for chapter generation.
- chapters: Set this to
trueto enable the generation of chapters. - accessPolicy: (Optional) Set to
publicorprivatebased on your needs. - maxResolution: (Optional) Specify a resolution limit, for example,
1080p.
Request body for creating new media from URL
{
"inputs": [
{
"type": "video",
"url": "https://static.fastpix.io/fp-sample-video.mp4"
}
],
"chapters": true,
"accessPolicy": "public"
}Request body for creating new media by direct upload
If you are uploading media directly, the inputs section contains the relevant upload details, and the structure would look like this:
{
"corsOrigin": "*",
"pushMediaSettings":
{
"chapters": true,
"accessPolicy": "public"
}
}Generating chapters for existing media
If you wish to generate chapters for media that has already been uploaded, use the generate video chapters API endpoint and follow these steps:
Step 1: Collect the mediaId of the content for which you want chapters.
Step 2: Create a JSON request and send a PATCH request to the /on-demand/<mediaId>/chapters endpoint. Replace <mediaId> with the actual mediaId of the already existing media.
Example request body
{
"chapters": true
}How to Generate Video Chapters from the Dashboard
- Open the FastPix Dashboard > Products > Media
- Click Add new media.
- To upload a video directly from your device: Click Push video > Choose your media directly from your device
- To upload using URL: Upload your video URL > Click Pull Video.
- From the Media list, select the video you want to process.
- On the Media details page, go to the InVideo AI tab.
- Click Generate Chapters.
- FastPix analyzes your video and creates chapter markers based on scene and topic changes.
- When chapter generation completes, review and edit the chapter titles or timecodes in the Chapters panel.
Accessing Generated Chapters
To retrieve the generated chapters of your media (video/audio), use the Get Media by ID endpoint.
Alternatively, you can access video.mediaAI.chapters.ready event, which triggers when the chapters data is generated.
For the full event schema and sample payload, see the Video Media AI chapters ready event.
Example of the event data:
{
"type": "video.mediaAI.chapters.ready",
"object": {
"type": "media",
"id": "f081fd53-6a9a-43ae-9d64-9974ef243dbd"
},
"id": "51a61b56-0197-4127-8a61-472e4d3fa59a",
"workspace": {
"name": "BrightCovePlayer-iOS",
"id": "f7a13f50-7f5c-48f4-b7b2-c901dcff61c6"
},
"status": "ready",
"data": {
"isChaptersGenerated": true,
"chapters": [
{
"chapter": "1",
"startTime": "00:00:00",
"endTime": "00:03:59",
"title": "The Circle Challenge Begins",
"summary": "Contestants start stacking items in a circle for a chance to win."
},
{
"chapter": "2",
"startTime": "00:04:00",
"endTime": "00:09:59",
"title": "Tyler's Big Surprise",
"summary": "Tyler attempts to fit various items in the circle, revealing its true size."
},
{
"chapter": "3",
"startTime": "00:10:00",
"endTime": "00:14:59",
"title": "The Soup Kitchen Donation",
"summary": "A soup kitchen team fills the circle with groceries and receives a surprise."
},
{
"chapter": "4",
"startTime": "00:15:00",
"endTime": "00:18:29",
"title": "Helping Families in Need",
"summary": "Families fill the circle with essential items and receive financial support."
},
{
"chapter": "5",
"startTime": "00:18:30",
"endTime": "00:19:54",
"title": "Final Surprises and Wrap-Up",
"summary": "Contestants celebrate their wins and the impact of the donations."
}
]
},
"createdAt": "2025-11-05T11:52:29.526588692Z",
"attempts": []
}In this event, the chapters field contains the list of generated chapters for the media. You can access the individual chapters, including:
- chapterNumber: The sequence of the chapter within the content.
- title: A brief, descriptive title of the chapter.
- startTime: Start time of the chapter in
hh:mm:ssformat. - endTime: End time of the chapter in
hh:mm:ssformat. - description: A short summary or key takeaway of the chapter.
You can use these fields to present chapters in a media player or other applications.
General considerations
- Ensure that the
mediaIdis correctly obtained for existing media when using the/on-demand/<mediaId>/chaptersendpoint.\ - The
accessPolicyandmaxResolutionparameters are optional, but they help manage access and media quality depending on your needs.\ - Generated chapters are automatically time-stamped, ensuring precise navigation for viewers.
Updated 6 days ago