Skip to main content

Documentation Index

Fetch the complete documentation index at: https://assemblyai.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

This guide walks through the process of migrating from Deepgram to AssemblyAI for transcribing pre-recorded audio.

Get Started

Before we begin, make sure you have an AssemblyAI account and an API key. You can sign up for a free account and get your API key from your dashboard.

Side-By-Side Code Comparison

Below is a side-by-side comparison of a basic snippet to transcribe a local file by Deepgram and AssemblyAI:
from deepgram import (
     DeepgramClient,
     PrerecordedOptions,
     FileSource,
)

API_KEY = "YOUR_DG_API_KEY"

AUDIO_FILE = "./example.wav"

def main():
    try:
        deepgram = DeepgramClient(API_KEY)

        with open(AUDIO_FILE, "rb") as file:
            buffer_data = file.read()

            payload: FileSource = {
                "buffer": buffer_data,
            }

            options = PrerecordedOptions(
                model="nova-2",
                smart_format=True,
                diarize=True
            )

            response = deepgram.listen.prerecorded.v("1").transcribe_file(payload, options)

            print(response.to_json(indent=4))

    except Exception as e:
        print(f"Exception: {e}")

if name == "main":
    main()
Below is a side-by-side comparison of a basic snippet to transcribe a publicly-accessible URL by Deepgram and AssemblyAI:
from deepgram import (
    DeepgramClient,
    PrerecordedOptions
)

API_KEY = "YOUR_DG_API_KEY"

AUDIO_URL = {
    "url": "https://dpgr.am/spacewalk.wav"
}

def main():
    try:
        deepgram = DeepgramClient(API_KEY)

        options = PrerecordedOptions(
            model="nova-2",
            smart_format=True,
            diarize=True
        )

        response = deepgram.listen.prerecorded.v("1").transcribe_url(AUDIO_URL, options)

        print(response.to_json(indent=4))

    except Exception as e:
        print(f"Exception: {e}")

if name == "main":
    main()
Here are helpful things to know about our transcribe method:
  • The SDK handles polling under the hood
  • Transcript is directly accessible via transcript.text
  • English is the default language. We recommend specifying speech_models=["universal-3-pro", "universal-2"] for the highest accuracy
  • We have a cookbook for error handling common errors when using our API.

Installation

from deepgram import (
    DeepgramClient,
    PrerecordedOptions,
    FileSource,
)

API_KEY = "YOUR_DG_API_KEY"
deepgram = DeepgramClient(API_KEY)
When migrating from Deepgram to AssemblyAI, you’ll first need to handle authentication and SDK setup: Get your API key from your AssemblyAI dashboard
To follow this guide, install AssemblyAI’s Python SDK by typing this code into your terminal:
pip install assemblyai
Things to know:
  • Store your API key securely in an environment variable
  • API key authentication works the same across all AssemblyAI SDKs

Audio File Sources

# Local Files
AUDIO_FILE = "example.wav"
with open(AUDIO_FILE, "rb") as file:
    buffer_data = file.read()

payload: FileSource = {
    "buffer": buffer_data,
}

options = PrerecordedOptions(
    smart_format=True,
    summarize="v2",
)

file_response = deepgram.listen.rest.v("1").transcribe_file(payload, options)

json = file_response.to_json()

#Public URLs
AUDIO_URL = {
    "url": "https://static.deepgram.com/examples/Bueller-Life-moves-pretty-fast.wav"
}

options = PrerecordedOptions(
    smart_format=True,
    summarize="v2"
)

url_response = deepgram.listen.rest.v("1").transcribe_url(AUDIO_URL, options)

json = url_response.to_json()
Here are helpful things to know when migrating your audio input handling:

Adding Features

options = PrerecordedOptions(
   model="nova-2",
   smart_format=True,
   diarize=True,
   detect_entities=True
)

response = deepgram.listen.prerecorded.v("1").transcribe_url(AUDIO_URL, options)

Key differences:
  • Use aai.TranscriptionConfig to specify any extra features that you wish to use
  • The results for Speaker Diarization are stored in transcript.utterances. To see the full transcript response object, refer to our API Reference.
  • Check our documentation for our full list of available features and their parameters