Skip to main content
This guide walks through the process of upgrading from the deprecated top-level summarization parameter to Summarization under Speech Understanding.
This guide is for existing accounts using the deprecated summarization parameter. If you’re adding summaries for the first time, go straight to the Summarization documentation — none of the legacy parameters below apply to you.
We upgraded Summarization rather than replacing it. It now runs on large language models through our LLM Gateway, which brings three improvements over the deprecated version:
  • Topic-based summaries instead of one block of text. You get a set of summaries, each covering a distinct topic, rather than a single string for the whole file.
  • Headlines and timestamps on every summary. Each topic carries its own headline and start/end times, so you can link summaries back to the audio — which also replaces the old headline and gist summary types.
  • Quality you control. The new effort parameter lets you spend more processing on harder content, in place of the fixed summary_model choice.
Your existing API key and endpoint stay the same. The changes are to the request shape, the response location, and the response structure.

Quick upgrade

Move summarization into speech_understanding.request, drop summary_model, and keep summary_type:
That’s it for the request. But the response moves too — read the summary from speech_understanding.response.summarization instead of the top-level summary field, and expect an array of topic summaries rather than a single string. Read on for the full migration details.

What changes

This table covers the key parameter and response field differences. Use it as a migration checklist.

Mapping summary_type

Side-by-side code comparison

Below is a side-by-side comparison of summarizing a pre-recorded audio file with the deprecated parameter and with Speech Understanding:
The same change in JavaScript:

Reading the response

The deprecated parameter returned one string on the top-level summary field. Speech Understanding returns an object on speech_understanding.response.summarization, with the summaries themselves in the summary array:
Things to know when updating your response handling:
  • summary is an array of topic-based summaries, not a single string. If you need one block of text, join the text fields.
  • start and end are timestamps in milliseconds, so you can link each summary back to the audio.
  • Each topic carries its own headline, which replaces the deprecated headline and gist summary types.
  • Check status for success before reading the summaries.

Controlling quality with effort

The new effort parameter has no equivalent in the deprecated parameter. It controls how much processing power goes into the summary:
low is the default and is the right choice for most use cases. Reach for medium when missed details matter — important meetings, multilingual audio, or long files (roughly 1.5 hours and up).

Pricing

The upgraded Summarization is $0.03 per hour of audio. See Billing and pricing for full rates.

If you also need action items

Alongside the upgraded Summarization we shipped Action Items. Add an action_items object to the same speech_understanding request to get structured follow-ups from meetings and calls — pass {} to use the defaults:
Read the results from speech_understanding.response.action_items. Action Items takes the same effort parameter as Summarization, plus include_decisions to count decisions made in the audio as action items. Action Items is $0.02 per hour of audio.

Next steps