Skip to main content

AssemblyAI Audio Transcript

This covers how to load audio (and video) transcripts as document objects from a file using the AssemblyAI API.

Usage

First, you'll need to install the official AssemblyAI package:

npm install assemblyai

To use the loaders you need an AssemblyAI account and get your AssemblyAI API key from the dashboard.

Then, configure the API key as the ASSEMBLYAI_API_KEY environment variable or the apiKey options parameter.

import {
AudioTranscriptLoader,
// AudioTranscriptParagraphsLoader,
// AudioTranscriptSentencesLoader
} from "langchain/document_loaders/web/assemblyai";

// You can also use a local file path and the loader will upload it to AssemblyAI for you.
const audioUrl = "https://storage.googleapis.com/aai-docs-samples/espn.m4a";

// Use `AudioTranscriptParagraphsLoader` or `AudioTranscriptSentencesLoader` for splitting the transcript into paragraphs or sentences
const loader = new AudioTranscriptLoader(
{
audio_url: audioUrl,
// any other parameters as documented here: https://www.assemblyai.com/docs/API%20reference/transcript#create-a-transcript
},
{
apiKey: "<ASSEMBLYAI_API_KEY>", // or set the `ASSEMBLYAI_API_KEY` env variable
}
);
const docs = await loader.load();
console.dir(docs, { depth: Infinity });

API Reference:

info

  • You can use the AudioTranscriptParagraphsLoader or AudioTranscriptSentencesLoader to split the transcript into paragraphs or sentences.
  • If the audio_file is a local file path and the loader will upload it to AssemblyAI for you.
  • The audio_file can also be a video file. See the list of supported file types in the FAQ doc.
  • If you don't pass in the apiKey option, the loader will use the ASSEMBLYAI_API_KEY environment variable.
  • You can add more properties in addition to audio_url. Find the full list of request parameters in the AssemblyAI API docs.

You can also use the AudioSubtitleLoader to get srt or vtt subtitles as a document.

import { AudioSubtitleLoader } from "langchain/document_loaders/web/assemblyai";

// You can also use a local file path and the loader will upload it to AssemblyAI for you.
const audioUrl = "https://storage.googleapis.com/aai-docs-samples/espn.m4a";

const loader = new AudioSubtitleLoader(
{
audio_url: audioUrl,
// any other parameters as documented here: https://www.assemblyai.com/docs/API%20reference/transcript#create-a-transcript
},
"srt", // srt or vtt
{
apiKey: "<ASSEMBLYAI_API_KEY>", // or set the `ASSEMBLYAI_API_KEY` env variable
}
);

const docs = await loader.load();
console.dir(docs, { depth: Infinity });

API Reference: