> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://fastpix.com/docs/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://fastpix.com/docs/_mcp/server.

# Subscribe to In-Video AI events

FastPix's in-video AI events provide insights into the analysis and processing of media content. These events include:

## video.mediaAI.chapters.ready

This event is triggered when chapters are generated for a media file. It provides information about the chapters within the media, including their start and end times, titles, and summaries. The event also indicates if chapters were successfully generated. This can be used to track when chapters are created and monitor the structure of the content for easier navigation.

\


| Field                           | Type    | Description                                                                    |
| ------------------------------- | ------- | ------------------------------------------------------------------------------ |
| **type**                        | string  | Type for the webhook event.                                                    |
| **id**                          | string  | Unique identifier for the event.                                               |
| **workspace**                   | object  | Workspace information.                                                         |
| **workspace.name**              | string  | Name of the workspace.                                                         |
| **workspace.id**                | string  | Unique ID for the workspace (e.g., "a56a1e42-65ec-4f9d-9fc1-89d24cd59348").    |
| **status**                      | string  | Status of the media. Possible values: `"ready"`.                               |
| **data**                        | object  | Data related to the media event.                                               |
| **-data.isChaptersGenerated**   | boolean | Indicates if chapters were generated (`true` / `false`).                       |
| **-data.chapters**              | array   | List of chapters for the media.                                                |
| **-data.chapters\[].chapter**   | string  | Chapter number (e.g., "1").                                                    |
| **-data.chapters\[].startTime** | string  | Start time of the chapter (e.g., "00:00:00").                                  |
| **-data.chapters\[].endTime**   | string  | End time of the chapter (e.g., "00:00:52").                                    |
| **-data.chapters\[].title**     | string  | Title of the chapter.                                                          |
| **-data.chapters\[].summary**   | string  | Summary of the chapter.                                                        |
| **createdAt**                   | string  | Timestamp when the event was created (e.g., "2025-01-17T05:52:14.088348957Z"). |
| **attempts**                    | array   | List of attempts, if any.                                                      |

\


## video.mediaAI.namedEntities.ready

This event is triggered when named entities are identified within a media file. It provides details about the named entities, including their count, the entity name, and their associated category. This event can be used to track the recognition of specific entities, such as people, organizations, or locations, within the content, allowing for enhanced analysis and insights.

\


| Name                                              | Type    | Description                                                                         |
| ------------------------------------------------- | ------- | ----------------------------------------------------------------------------------- |
| **type**                                          | string  | Type for the webhook event.                                                         |
| **id**                                            | string  | Unique identifier for the event.                                                    |
| **workspace**                                     | object  | Workspace information.                                                              |
| **workspace.name**                                | string  | Name of the workspace.                                                              |
| **workspace.id**                                  | string  | Unique identifier for the workspace (e.g., "a56a1e42-65ec-4f9d-9fc1-89d24cd59348"). |
| **status**                                        | string  | Status of the media. Possible values: `"ready"`.                                    |
| **-data**                                         | object  | Data related to the media event.                                                    |
| **-data.isNamedEntitiesGenerated**                | boolean | Indicates if named entities were generated (`true` / `false`).                      |
| **-data.namedEntities**                           | object  | Information about the named entities.                                               |
| **-data.namedEntities.entityCount**               | integer | Count of the named entities generated (e.g., 2).                                    |
| **-data.namedEntities.namedEntities**             | array   | List of named entities identified in the media.                                     |
| **-data.namedEntities.namedEntities\[].entity**   | string  | The named entity.                                                                   |
| **-data.namedEntities.namedEntities\[].category** | string  | Category of the named entity.                                                       |
| **createdAt**                                     | string  | Timestamp when the event was created (e.g., "2025-01-17T05:52:19.601920651Z").      |
| **attempts**                                      | array   | List of attempts, if any.                                                           |

\


## video.mediaAI.summary.ready

This event is triggered when a summary is generated for a media file. It provides the summary of the content, offering a brief overview or key points of the media. This event can be used to track when summaries are created, helping users or systems quickly understand the essence of the media without needing to watch or listen to the entire content.

\


| Name                         | Type    | Description                                                                         |
| ---------------------------- | ------- | ----------------------------------------------------------------------------------- |
| **type**                     | string  | Type for the webhook event.                                                         |
| **id**                       | string  | Unique identifier for the event.                                                    |
| **workspace**                | object  | Workspace information.                                                              |
| **workspace.name**           | string  | Name of the workspace.                                                              |
| **workspace.id**             | string  | Unique identifier for the workspace (e.g., "a56a1e42-65ec-4f9d-9fc1-89d24cd59348"). |
| **status**                   | string  | Status of the media. Possible values: `"ready"`.                                    |
| **data**                     | object  | Data related to the media event.                                                    |
| **-data.isSummaryGenerated** | boolean | Indicates if a summary was generated (`true` / `false`).                            |
| **-data.summary**            | string  | The summary of the media content.                                                   |
| **createdAt**                | string  | Timestamp when the event was created (e.g., "2025-01-17T05:52:27.333581529Z").      |
| **attempts**                 | array   | List of attempts, if any.                                                           |

\


## video.mediaAI.moderation.ready

This event is triggered when moderation results are generated for a media file. It provides information about the moderation analysis, including category scores that evaluate different aspects of the content, such as violence, adult content, or offensive language. This event can be used to track when moderation results are available, helping ensure content meets the required guidelines and standards.

\


| Name                                                  | Type    | Description                                                                         |
| ----------------------------------------------------- | ------- | ----------------------------------------------------------------------------------- |
| **type**                                              | string  | Type for the webhook event.                                                         |
| **id**                                                | string  | Unique identifier for the event.                                                    |
| **workspace**                                         | object  | Workspace information.                                                              |
| **workspace.name**                                    | string  | Name of the workspace.                                                              |
| **workspace.id**                                      | string  | Unique identifier for the workspace (e.g., "a56a1e42-65ec-4f9d-9fc1-89d24cd59348"). |
| **status**                                            | string  | Status of the media. Possible values: `"ready"`.                                    |
| **data**                                              | object  | Data related to the media event.                                                    |
| **-data.isModerationGenerated**                       | boolean | Indicates if moderation results were generated (`true` / `false`).                  |
| **-data.moderationResult**                            | object  | The moderation results of the media content.                                        |
| **-data.moderationResult.categoryScores**             | array   | List of category scores for moderation.                                             |
| **-data.moderationResult.categoryScores\[].category** | string  | The moderation category.                                                            |
| **-data.moderationResult.categoryScores\[].score**    | number  | The score for the given category.                                                   |
| **createdAt**                                         | string  | Timestamp when the event was created (e.g., "2025-01-17T05:52:32.319576585Z").      |
| **attempts**                                          | array   | List of attempts, if any.                                                           |

\


## video.media.ai.advanced\_summary.ready

Sent when an advanced summary is ready for a media asset. This event is a notification only; the summary itself isn't included in the payload. When you receive this event, call the [Get advanced summary result](https://fastpix.com/docs/in-video-ai-api/advanced-summary/get-media-advanced-summary) endpoint with the `mediaId` to retrieve the structured summary, including the overview, key decisions, action items, sentiment scores, and per-speaker talk time. Use this event to trigger downstream workflows once the summary is available.

\


| Field           | Type   | Description                                                                                                   |
| --------------- | ------ | ------------------------------------------------------------------------------------------------------------- |
| **type**        | string | The webhook event type. Always `video.media.ai.advanced_summary.ready`.                                       |
| **mediaId**     | string | The unique identifier of the media asset, as a UUID.                                                          |
| **workspaceId** | string | The unique identifier of the workspace that owns the media, as a UUID.                                        |
| **status**      | string | The state of the summary job. Always `ready` for this event.                                                  |
| **createdAt**   | string | The timestamp when the event was created, in ISO 8601 format (for example, `2026-06-24T07:00:36.229270471Z`). |

\


## video.media.ai.attributed\_transcript.ready

Sent when an attributed transcript is ready for a media asset. Use this event to know when the transcript is ready to display in a player, store in your own database, or feed into downstream analysis.

To retrieve the transcript, call the [Get attributed transcript](https://fastpix.com/docs/in-video-ai-api/attributed-transcript/get-attributed-transcript) endpoint with the `mediaId`. The endpoint returns the speaker-attributed transcript as JSON, structured by segment with speaker labels and timestamps.

The payload also includes a signed URL with a 24-hour expiry, in case you prefer the transcript as a WebVTT file.

\


| Field                                        | Type   | Description                                                                                                   |
| -------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------- |
| **type**                                     | string | The webhook event type. Always `video.media.ai.attributed_transcript.ready`.                                  |
| **mediaId**                                  | string | The unique identifier of the media asset, as a UUID.                                                          |
| **workspaceId**                              | string | The unique identifier of the workspace that owns the media, as a UUID.                                        |
| **status**                                   | string | The state of the transcript job. Always `ready` for this event.                                               |
| **createdAt**                                | string | The timestamp when the event was created, in ISO 8601 format (for example, `2026-06-24T06:54:41.046500969Z`). |
| **detailMediaResponse**                      | object | The transcript download payload.                                                                              |
| **-detailMediaResponse.transcriptSignedUrl** | string | A short-lived signed URL to download the WebVTT transcript. The URL expires 24 hours after issue.             |

\


## video.media.ai.scene\_analysis.ready

Sent when scene analysis is ready for a media asset. This event is a notification only, and the scenes aren't included in the payload. When you receive it, call the scene analysis `Get` endpoint with the `mediaId` to retrieve each detected shot, with its start time, end time, and description. See [AI scene analysis](/in-video-ai/ai-scene-analysis).

\


| Field           | Type   | Description                                                                                                   |
| --------------- | ------ | ------------------------------------------------------------------------------------------------------------- |
| **type**        | string | The webhook event type. Always `video.media.ai.scene_analysis.ready`.                                         |
| **mediaId**     | string | The unique identifier of the media asset, as a UUID.                                                          |
| **workspaceId** | string | The unique identifier of the workspace that owns the media, as a UUID.                                        |
| **status**      | string | The state of the scene analysis job. Always `ready` for this event.                                           |
| **createdAt**   | string | The timestamp when the event was created, in ISO 8601 format (for example, `2026-08-12T14:58:43.399485211Z`). |

## video.media.ai.chapters.ready

Sent when chapter generation is ready for a media asset. This event is a notification only; the chapters aren't included in the payload. When you receive it, call the Get chapters endpoint (`GET https://api.fastpix.com/v1/ai/{mediaId}/chapters`) with the `mediaId` to retrieve the chapter list. See [Generate video chapters](/in-video-ai/generate-video-chapters).

\


| Field           | Type   | Description                                                                                                   |
| --------------- | ------ | ------------------------------------------------------------------------------------------------------------- |
| **type**        | string | The webhook event type. Always `video.media.ai.chapters.ready`.                                               |
| **mediaId**     | string | The unique identifier of the media asset, as a UUID.                                                          |
| **workspaceId** | string | The unique identifier of the workspace that owns the media, as a UUID.                                        |
| **status**      | string | The state of the job. Always `ready` for this event.                                                          |
| **createdAt**   | string | The timestamp when the event was created, in ISO 8601 format (for example, `2026-08-12T14:58:43.399485211Z`). |

\


## video.media.ai.summary.ready

Sent when a summary is ready for a media asset. This event is a notification only; the summary isn't included in the payload. When you receive it, call the Get summary endpoint (`GET https://api.fastpix.com/v1/ai/{mediaId}/summary`) with the `mediaId` to retrieve the summary. See [Generate a video summary](/in-video-ai/generate-a-video-summary).

\


| Field           | Type   | Description                                                                                                   |
| --------------- | ------ | ------------------------------------------------------------------------------------------------------------- |
| **type**        | string | The webhook event type. Always `video.media.ai.summary.ready`.                                                |
| **mediaId**     | string | The unique identifier of the media asset, as a UUID.                                                          |
| **workspaceId** | string | The unique identifier of the workspace that owns the media, as a UUID.                                        |
| **status**      | string | The state of the job. Always `ready` for this event.                                                          |
| **createdAt**   | string | The timestamp when the event was created, in ISO 8601 format (for example, `2026-08-12T14:58:43.399485211Z`). |

\


## video.media.ai.named\_entities.ready

Sent when named entity recognition is ready for a media asset. This event is a notification only; the entities aren't included in the payload. When you receive it, call the Get named entities endpoint (`GET https://api.fastpix.com/v1/ai/{mediaId}/named-entities`) with the `mediaId` to retrieve the entities. See [Extract named entities from a video](/in-video-ai/extract-named-entities-from-a-video).

\


| Field           | Type   | Description                                                                                                   |
| --------------- | ------ | ------------------------------------------------------------------------------------------------------------- |
| **type**        | string | The webhook event type. Always `video.media.ai.named_entities.ready`.                                         |
| **mediaId**     | string | The unique identifier of the media asset, as a UUID.                                                          |
| **workspaceId** | string | The unique identifier of the workspace that owns the media, as a UUID.                                        |
| **status**      | string | The state of the job. Always `ready` for this event.                                                          |
| **createdAt**   | string | The timestamp when the event was created, in ISO 8601 format (for example, `2026-08-12T14:58:43.399485211Z`). |

\


## video.media.ai.moderation.ready

Sent when moderation analysis is ready for a media asset. This event is a notification only; the moderation results aren't included in the payload. When you receive it, call the Get moderation endpoint (`GET https://api.fastpix.com/v1/ai/{mediaId}/moderation`) with the `mediaId` to retrieve the category scores. See [Content moderation](/in-video-ai/detect-nsfw-content-and-profanity).

\


| Field           | Type   | Description                                                                                                   |
| --------------- | ------ | ------------------------------------------------------------------------------------------------------------- |
| **type**        | string | The webhook event type. Always `video.media.ai.moderation.ready`.                                             |
| **mediaId**     | string | The unique identifier of the media asset, as a UUID.                                                          |
| **workspaceId** | string | The unique identifier of the workspace that owns the media, as a UUID.                                        |
| **status**      | string | The state of the job. Always `ready` for this event.                                                          |
| **createdAt**   | string | The timestamp when the event was created, in ISO 8601 format (for example, `2026-08-12T14:58:43.399485211Z`). |