Skip to main content
US & EU
Generate action items of your audio transcripts w/ timestamps and a quote of where the action item is from.
Action items is in open beta. Provide us feedback if results are not as good as expected.

Quickstart

Single call in async transcription:
import requests
import time

base_url = "https://api.assemblyai.com"
headers = {"authorization": "<YOUR_API_KEY>"}

audio_url = "https://assembly.ai/wildfires.mp3"

data = {
    "audio_url": audio_url,
    "speech_understanding": {
        "request": {
            "action_items": {}
        }
    }
}

response = requests.post(base_url + "/v2/transcript", json=data, headers=headers)
transcript_id = response.json()['id']
polling_endpoint = base_url + "/v2/transcript/" + transcript_id

while True:
    transcription_result = requests.get(polling_endpoint, headers=headers).json()
    if transcription_result['status'] == 'completed':
        break
    elif transcription_result['status'] == 'error':
        raise RuntimeError(f"Transcription failed: {transcription_result['error']}")
    else:
        time.sleep(3)

print(transcription_result["speech_understanding"]["response"]["action_items"])

Example output

{
    "effort": "low",
    "items": [
      {
        "action_item": "Observe the expansion and contraction of the Arctic ice cap throughout the seasons.",
        "quote": "The Arctic ice cap is in a sense the beating heart of the global climate system. It expands in winter and contracts in summer.",
        "timestamp": 9520
      },
      {
        "action_item": "Analyze a fast-forwarded visualization of the Arctic ice cap's changes over the last 25 years.",
        "quote": "The next slide I show you will be a rapid fast forward of what's happened over the last 25 years.",
        "timestamp": 17680
      },
      {
        "action_item": "Examine the reduction of permanent Arctic ice (five years old or older).",
        "quote": "And the so called permanent ice, five years old or older, you can see it's almost like blood spilling out of the body here. In 25 years it's gone from this to this.",
        "timestamp": 32950
      },
      {
        "action_item": "Recognize the issue of warming heating frozen ground around the Arctic Ocean.",
        "quote": "This is a problem because the warming heats up the frozen ground around the Arctic Ocean",
        "timestamp": 46070
      },
      {
        "action_item": "Understand that thawing frozen carbon in the Arctic is converted to methane by microbes.",
        "quote": "where there is a massive amount of frozen carbon which when it thaws is turned into methane by microbes compared to the.",
        "timestamp": 52390
      }
    ],
    "status": "success"
}

Customize your Action Items

You can control the action items output by adjusting the params.

Include decisions

You can set the include_decisions param to true which will configure the call to include decisions made within the text as action items.

Effort

The effort param lets you determine whether to spend more processing power to get higher quality action items. Currently there are two options: low which is the default, and medium. Action items is not a high precision task, so generally the default low effort will be sufficient.

When to use medium

Sometimes you have a use case where you need to make sure specific details are captured, or you have more challenging topics to extract action items form. In these cases medium effort will more intelligently parse out important details. Examples:
  • important meetings where missed details are significant
  • multi-lingual texts where it’s important to capture all languages
  • very long audio, generally 1.5h and longer