From transcript to summary to follow-up items: Speech understanding gets an LLM upgrade
Summarization and Action Items are now LLM-powered features of the speech_understanding request object, so one API call returns your source-truth transcript alongside topic-based, timestamped summaries and a structured list of follow-ups.
Today we're reintroducing Summarization and Action Items in the AssemblyAI API—built as LLM-powered
features of the speech_understanding request object, so one API call now returns your
source-truth transcript alongside topic-based, timestamped summaries and a structured list of follow-ups.
Every product built on voice needs two things from its audio: the raw transcript, and the transformation
users actually rely on—the summary, the follow-ups, the translated text. Historically you built that
second half yourself: writing prompts, testing outputs, adding fallback logic for the edge cases where
transformation quietly failed. The speech_understanding request object in
AssemblyAI's
API has always handled both in one call—and today it gets meaningfully better.
We've tested and optimized the prompts behind every task: Translation, Speaker Identification, Custom Formatting, and the newly upgraded Summarization and Action Items. And when your product needs something we don't pre-package, the LLM Gateway runs any LLM-based task on dozens of market-leading models, with configurable fallbacks, from the same API.
What's new in Summarization
Where summarization used to give you a single flat summary of your entire file, our latest version works
the way people actually summarize: summaries broken out by topic, each with its own headline and
start/end timestamps—as scannable bullets (the default) or prose paragraphs. Here it is on a real team
meeting, run with summary_type set to paragraph:
Data Science team meeting
API response
"summarization": {
"summary": [
{
"start": 32,
"end": 213402,
"text": "The meeting begins with an introduction to the new group name, 'Govern Growth and Data Science', which covers Applied ML, MLOps, and Anti-Abuse...",
"headline": "Organizational Changes and New Leadership"
},
{
"start": 62869,
"end": 244341,
"text": "The meeting covers updates on engineering allocation, error budgets, and reliability...",
"headline": "Engineering Metrics and Security Automation"
},
...
],
"summary_type": "paragraph",
"effort": "low",
"status": "success"
} In your product
0:00–3:33
Organizational Changes and New Leadership
The meeting begins with an introduction to the new group name, 'Govern Growth and Data Science', which covers Applied ML, MLOps, and Anti-Abuse. The speaker welcomes Alan, who is joining as an acting manager for security policies, and sets expectations for attendance and agenda management, noting that people leaders should attend or read the notes rather than relying on Slack.
1:02–4:04
Engineering Metrics and Security Automation
The meeting covers updates on engineering allocation, error budgets, and reliability. Thomas is thanked for compiling reports on these metrics across the speaker's teams, and Neil is acknowledged for taking over half of this responsibility. The speaker apologizes for forgetting Neil's contribution and thanks him for the exposure the role provides.
Timestamps mean you can link each summary section straight back to the audio. Headlines mean you can render a table of contents without any post-processing.
How to use it
One request, transcription and summary together—the SDK handles polling for you:
Request
import assemblyai as aai
aai.settings.api_key = "<YOUR_API_KEY>"
config = aai.TranscriptionConfig(
speech_understanding={
"request": {
"summarization": {"summary_type": "paragraph"}
}
}
)
transcript = aai.Transcriber().transcribe(
"https://assembly.ai/wildfires.mp3", config
)
print(transcript.speech_understanding.response.summarization) Two parameters control the output:
-
summary_type—bullets(default) for short, scannable summaries per topic, orparagraphfor longer, more detailed prose. -
effort—low(default) covers the majority of use cases. Switch tomediumwhen missed details are costly: high-stakes meetings, multilingual audio, or very long files (1.5 hours and up).
Full details are in the Summarization docs.
Action Items: the follow-ups, extracted
Most teams summarizing meetings want two outputs: what was discussed, and what happens next. The new Action Items shipped as its own feature, tuned for its own task:
Request
import assemblyai as aai
aai.settings.api_key = "<YOUR_API_KEY>"
config = aai.TranscriptionConfig(
speech_understanding={
"request": {"action_items": {}}
}
)
transcript = aai.Transcriber().transcribe(
"https://assembly.ai/wildfires.mp3", config
)
print(transcript.speech_understanding.response.action_items) Data Science team meeting
API response
"action_items": {
"status": "success",
"items": [
{
"action_item": "Consider a better name for the meeting.",
"quote": "We might get a better name over time.",
"timestamp": 8421
},
{
"action_item": "Alan will step in as acting full stack manager for security policies while an EM is hired.",
"quote": "I've asked Alan to step in as acting full stack manager for security policies while I hire an EM.",
"timestamp": 82978
},
...
],
"effort": "low"
} In your product
Consider a better name for the meeting.
0:08
"We might get a better name over time."
Alan will step in as acting full stack manager for security policies while an EM is hired.
1:22
"I've asked Alan to step in as acting full stack manager for security policies while I hire an EM."
Anti-abuse product sections will move from sec to data science, which is a rename of ModelOps.
1:44
"So anti-abuse is moving product sections from sec to data science. Data science is effectively a rename of the ModelOps section."
You get back a structured list of commitments and to-dos from the conversation—ready to push into a task tracker, CRM, or follow-up email. Run it with summarization in the same request, or on its own.
One request object, a growing set of native audio tasks
Summarization and Action Items join a growing set of speech understanding features designed to help you transform and process audio data natively in the API—no separate vendors, no glue code, no shipping transcripts to a second platform:
- Summarization—topic-based, timestamped summaries as bullets or paragraphs
- Action Items—structured follow-ups and commitments
- Translation—translated transcripts across languages, down to the utterance level
- Speaker Identification—map diarized speakers to real names and roles
- Custom Formatting—normalize dates, phone numbers, and emails to your format
Stack them in a single request and get one response with every result. Transcribe a sales call once; get back the transcript, a summary, the follow-ups, and speaker names in the same payload.
And when the built-in tasks don't cover exactly what you need, like a custom JSON schema or your own extraction logic, the LLM Gateway lets you run any LLM-based task on dozens of market-leading models following transcription, with configurable fallbacks, from the same API too.
Simple pricing, per hour of audio
- Summarization—$0.05/hr
- Action Items—$0.02/hr
Summarization and Action Items are billed on audio duration, both work alongside any other features in your request, and neither requires a commitment or minimum. Summarize a full hour of audio and extract its action items for seven cents. No reserved capacity, no standing up servers, no upfront commitments.
Upgrading from the legacy parameters
With the upgrade live, the legacy parameters are deprecated:
-
summarization,summary_model, andsummary_type(top-level) → replaced byspeech_understanding.request.summarization -
auto_chapters→ replaced by chapter generation through the LLM Gateway
The legacy parameters continue to work with Universal-2 until September 15, 2026, but aren't supported on our latest Universal models. After September 15, they'll be removed entirely.
If you're using legacy parameters, moving summarization over is a config change—shift the parameter
into the speech_understanding object and you're done. For chapters, the LLM Gateway
approach gives you something the old parameter never could: control. Pull paragraphs from the
transcript, group them to set your chapter length, and prompt any Gateway model for headlines, gists,
and summaries in exactly the format your product needs. The
Auto
Chapters docs walk through the full pattern in Python and JavaScript.
If you're using any of the deprecated parameters, you'll get an email with migration steps and code samples this week.
Frequently asked questions
What is Summarization in the AssemblyAI API?
Summarization is AssemblyAI's LLM-powered summarization feature, requested through the speech_understanding object on the transcription API. It returns summaries broken out by topic—each with a headline and start/end timestamps—as either bullets or paragraphs, and costs $0.05 per hour of audio.
How does LLM-powered summarization work?
AssemblyAI transcribes your audio with its Universal speech-to-text models, then routes the transcript through the LLM Gateway, where a large language model generates topic-segmented summaries. Because the reasoning layer is an LLM, summary quality improves as the underlying models improve—without any migration on your side.
What's the difference between Summarization and the legacy summarization parameter?
The legacy summarization parameter produced a single flat summary of the whole file, configured with top-level summary_model and summary_type parameters. Our updated summarization feature nests under speech_understanding and returns multiple topic-based summaries with headlines and timestamps. The legacy parameters are deprecated and stop working on September 15, 2026.
How do I extract action items from a meeting transcript with an API?
Add "action_items": true to the speech_understanding request object in an AssemblyAI transcription request. The API returns a structured list of follow-ups and commitments from the conversation, priced at $0.02 per hour of audio. It runs alongside summarization in the same request or independently.
What audio understanding tasks can I run natively in the AssemblyAI API?
The speech_understanding request object supports Summarization, Action Items, Translation, Speaker Identification, and Custom Formatting—all composable in a single transcription request with one response payload. For custom tasks beyond the built-ins, the LLM Gateway gives you direct access to frontier models like GPT-5.6 and Claude Sonnet 5 with the same API key and bill.
What happens to the auto_chapters parameter?
The auto_chapters parameter is deprecated and will be removed on September 15, 2026. Chapter generation now runs through the LLM Gateway: export your transcript's paragraphs, group them into chapters, and prompt a Gateway model for headlines and summaries. The approach is documented with full code samples in the AssemblyAI Auto Chapters docs.