Generate an advanced summary

Generate an AI advanced summary from a processed media recording, with a high-level overview, action items, key decisions, sentiment, and speaker talk time.

The Advanced Summary API turns a processed media recording into structured, meeting-style insights. From a single request, you get a high-level overview, detailed notes, action items, key decisions, key metrics, open questions, sentiment, and speaker talk time.

Notes Agent produces these advanced summaries automatically for every meeting it records. Use this API when you want the same structured summary for a media asset you have already uploaded, such as a webinar, interview, or a recording captured outside Notes Agent.

Just want to try it? You can generate an advanced summary in the dashboard with no setup. See Generate an advanced summary from the dashboard.


Before you begin

To generate an advanced summary with the API, make sure that you have the following:

  • An access token and secret key from the FastPix dashboard. See Activate your account to generate them.
  • A media asset that has finished processing, so you have its mediaId. See Upload videos from a URL.
  • A webhook endpoint configured to receive the video.media.ai.advanced_summary.ready event. See Set up webhooks.

Both endpoints use HTTP Basic authentication. Pass your access token as the username and your secret key as the password.


How advanced summaries work

Generating an advanced summary is asynchronous:

  1. Send a POST request to trigger generation. FastPix returns a job ID right away.
  2. FastPix processes the media and sends the video.media.ai.advanced_summary.ready webhook event when the summary is ready.
  3. Send a GET request to retrieve the result.

Wait for the webhook event before calling the GET endpoint. Do not repeatedly call the endpoint to check for updates.


Generate an advanced summary

Send a POST request to /ai/{mediaId}/advanced-summary, replacing {mediaId} with the ID of your media.

$curl -X POST https://api.fastpix.com/v1/ai/{mediaId}/advanced-summary \
> -u "$ACCESS_TOKEN:$SECRET_KEY"

FastPix accepts the request and returns the job ID. Generation starts immediately.

1{
2 "success": true,
3 "data": {
4 "id": "c695988b-ff84-42ae-bb21-10f284fedb0e"
5 }
6}
FieldTypeDescription
successbooleanWhether the request was accepted.
data.idstring (UUID)Identifier for the triggered job.

Retrieve the advanced summary

After you receive the video.media.ai.advanced_summary.ready event, send a GET request to the same path.

$curl -X GET https://api.fastpix.com/v1/ai/{mediaId}/advanced-summary \
> -u "$ACCESS_TOKEN:$SECRET_KEY"
1{
2 "success": true,
3 "data": {
4 "status": "COMPLETED",
5 "result": {
6 "meeting_summary": { },
7 "key_decisions": [ ],
8 "detailed_notes": [ ],
9 "action_items": [ ],
10 "open_questions": [ ],
11 "key_metrics": [ ],
12 "dates_and_times": [ ],
13 "sentiment": { },
14 "speaker_talk_time": [ ]
15 }
16 }
17}
FieldTypeDescription
successbooleanWhether the request was successful.
data.statusstringJob status, for example COMPLETED.
data.resultobjectThe full advanced summary. See the sections below.

Understand the result

The result object contains the following nine sections.

meeting_summary

A high-level snapshot of what the meeting was about and what was concluded.

1{
2 "meeting_summary": {
3 "title": "Q3 Planning Review",
4 "overview": "The team reviewed Q3 targets and agreed to prioritize the mobile rollout. Budget was approved for two additional hires."
5 }
6}
FieldTypeDescription
titlestringA brief title for the meeting.
overviewstringA 2 to 3 sentence summary of what was discussed and concluded.

key_decisions

Concrete decisions that were made, who made them, and when.

1{
2 "key_decisions": [
3 {
4 "decision": "Approved budget for two additional engineers",
5 "owner": "Sarah",
6 "timestamp": "00:15:32"
7 }
8 ]
9}
FieldTypeDescription
decisionstringWhat was decided.
ownerstringThe speaker who made or owns the decision.
timestampstringWhen in the meeting, as HH:MM:SS.

detailed_notes

Structured notes grouped by discussion topic in chronological order. Each topic includes a summary and key points, useful for anyone who missed the meeting or wants to review a specific section.

1{
2 "detailed_notes": [
3 {
4 "topic": "Mobile app rollout timeline",
5 "startTime": "00:05:12",
6 "summary": "The team discussed the phased rollout plan for the mobile app, targeting beta in August.",
7 "points": [
8 "Beta release targeted for August 15",
9 "Android first, iOS to follow two weeks later",
10 "QA team needs access to staging by end of week"
11 ]
12 }
13 ]
14}
FieldTypeDescription
topicstringA meaningful heading for this discussion section.
startTimestringApproximate timestamp when the topic began.
summarystringA 1 to 2 sentence overview of the topic.
pointsstring[]Key takeaways from this section.

action_items

Action items extracted from the meeting, grouped by the person who stated them. Includes due dates when mentioned.

1{
2 "action_items": [
3 {
4 "owner": "Sarah",
5 "tasks": [
6 {
7 "task": "Share the updated budget spreadsheet with the team",
8 "dueDate": "Jun 25",
9 "timestamp": "00:22:10"
10 }
11 ]
12 }
13 ]
14}
FieldTypeDescription
ownerstringThe speaker who owns the action items.
tasksarrayList of tasks assigned to this owner.
taskstringDescription of what needs to be done.
dueDatestringDeadline in DD MMM format, or null if not mentioned.
timestampstringWhen in the meeting the task was stated.

open_questions

Questions that were raised but not fully answered, or were deferred for later.

1{
2 "open_questions": [
3 {
4 "question": "Do we have confirmation from legal on the new terms?",
5 "raisedBy": "Mike",
6 "context": "Came up during the discussion about the vendor contract renewal",
7 "timestamp": "00:30:45"
8 }
9 ]
10}
FieldTypeDescription
questionstringThe question that was raised.
raisedBystringThe speaker who raised it.
contextstringWhat prompted the question.
timestampstringWhen in the meeting it was raised.

key_metrics

Significant numbers, percentages, dollar amounts, scores, or targets mentioned during the meeting.

1{
2 "key_metrics": [
3 {
4 "label": "Q2 revenue",
5 "value": "$2.4M"
6 }
7 ]
8}
FieldTypeDescription
labelstringShort label for the metric, 2 to 4 words.
valuestringThe number with its unit or scale.

dates_and_times

Important dates that represent deadlines, milestones, or scheduled events mentioned in the meeting.

1{
2 "dates_and_times": [
3 {
4 "date": "Aug 15, 2026",
5 "significance": "Mobile app beta release"
6 }
7 ]
8}
FieldTypeDescription
datestringThe resolved date in MMM DD, YYYY format.
significancestringWhat is due or happening on this date.

sentiment

A percentage breakdown of the overall emotional tone of the conversation.

1{
2 "sentiment": {
3 "positive": 45,
4 "neutral": 40,
5 "negative": 15
6 }
7}
FieldTypeDescription
positiveintegerPercentage of encouraging, enthusiastic, or supportive tone.
neutralintegerPercentage of factual, informational, or procedural tone.
negativeintegerPercentage of frustrated, critical, or pessimistic tone.

The three values always add up to 100.

speaker_talk_time

How much each speaker talked during the meeting, with speaking pace.

1{
2 "speaker_talk_time": [
3 {
4 "speaker": "Sarah",
5 "percentage": 42,
6 "wpm": 145
7 },
8 {
9 "speaker": "Mike",
10 "percentage": 58,
11 "wpm": 132
12 }
13 ]
14}
FieldTypeDescription
speakerstringSpeaker name or label.
percentageintegerPercentage of total talk time. All speakers sum to 100.
wpmintegerWords per minute for this speaker.

Generate an advanced summary from the dashboard

If you prefer a no-code option, you can generate an advanced summary for any media from the FastPix dashboard. No access token, webhook, or API call is required.

  1. In the FastPix dashboard, go to Video > Media.
  2. Click the media you want to summarize to open its detail page.
  3. In the left sidebar, under In-Video AI, click Advanced Summary.
  4. Click Generate Advanced Summary.
  5. Wait while FastPix processes the media. Each section shows a Processing state until it is ready.
  6. Review the result. Alongside the summary, the page shows action items, key decisions, key metrics, detailed notes, open questions, sentiment, speaker talk-time, and dates and times. Use the Advanced Summary list in the left sidebar to jump to any section.

When a section has no relevant content for the media, it shows Not Available.


Limits and considerations

  • All timestamps reference the position in the original recording, so you can use them for playback navigation.
  • Empty arrays are returned when a section has no relevant data, for example when no action items were discussed. The API never fabricates content.

What’s next