Scribe API

The Scribe API delivers scalable, high-performance transcription across a broad range of media formats and use cases.

It enables organizations to convert audio and video into accurate text, and handle large archives in bulk or near real-time interactions at scale.

Key features

  • Supports high-volume transcription from cloud storage
  • Accepts multiple input formats, including common audio and video formats
  • Handles call conversations, podcasts, and long-form media processing
  • Adds timestamps for each segment
  • Applies punctuation and formatting for human-readable output
  • Separates speakers when multiple people are present
  • Filters profanity when enabled
  • Streams audio and returns segment-level transcriptions through Live mode
  • Supports short command-and-control scenarios through Fast mode

Processing modes

Live mode

Live mode enables real-time transcription for interactive audio applications by streaming PCM16 audio over a secure WebSocket connection and returning a completed transcript segment after each detected speech turn.

Example workflow

To transcribe microphone audio in real time:

  1. Your backend opens an authenticated WebSocket connection to Live mode.
  2. Your app sends the session configuration.
  3. Your app streams binary PCM16 audio frames.
  4. The API returns speech and transcription events.
  5. Your app displays completed transcript segments.
  6. Your app closes the session when transcription is complete.

For details, see Live mode.

Fast mode

Fast mode provides synchronous, low-latency transcription for individual files.

  • Processes one audio file at a time
  • Responses return immediately after the transcription completes
  • Works best for short recordings

Note: Fast mode can handle one (mono) or two (stereo) audio channels. The API returns either a single combined transcript or separate transcripts for each channel.

Example workflow

To convert an audio recording into searchable text on demand:

  1. Use Fast mode for near real-time transcription.
  2. Your app uploads the audio file.
  3. The backend generates a JWT with Build platform credentials.
  4. The backend sends a transcription request.
  5. The API returns a JSON transcript with timestamps.
  6. Your app displays the transcript to the user.

For details, see Fast mode.

Batch mode

Batch mode provides asynchronous transcription for large or complex jobs.

It processes a single file, a manifest of files, or an entire storage prefix in one request. The job runs in the background and allows you to monitor progress and retrieve results later.

Batch mode is best for:

  • Long recordings
  • Large collections of files
  • Multi-speaker audio

Each audio file generates its own transcript in the corresponding output location.

Example workflow

To transcribe stored call recordings in S3:

  1. Submit a batch job and specify the input folder in your S3 bucket.
  2. The service processes the job asynchronously.
  3. The service writes transcripts to the specified output location.
  4. Monitor job progress with batch job status endpoints or webhooks.
  5. Retrieve per-file transcription results after processing completes.

For details, see Batch mode.

Speaker diarization

Speaker diarization identifies speakers within an audio recording. Enable it in Fast or Batch mode by setting diarization to true in the transcription configuration.

When diarization is enabled, each transcript segment includes a speaker value, such as speaker_1 or speaker_2.

Scribe does not enforce a hard limit on the number of speakers that diarization can detect.

For best results, limit each audio file to fewer than 20 speakers.

Diarization and channel separation provide different information:

  • Diarization distinguishes speakers based on characteristics of the speech.
  • Channel separation identifies which input channel contains the speech in stereo audio.

Supported languages

Scribe APIs support these languages.

LanguageLocale code
Englishen-US
Chinese (Simplified)zh-CN
Japaneseja-JP
Spanishes-ES
Italianit-IT