Deepgram

Aura speech synthesis and Nova transcription.

DEEPGRAM_API_KEY powers both Deepgram model types.

Speech

let result = try await generateSpeech(
  model: DeepgramSpeechModel(), // aura-2-thalia-en
  text: "The next train arrives in five minutes.",
  outputFormat: "mp3"
)

The model ID selects the Aura voice. See speech generation for the shared API.

Transcription

let result = try await transcribe(
  model: DeepgramTranscriptionModel(), // nova-3
  audio: audioData,
  mediaType: "audio/wav"
)

DeepgramTranscriptionModel defaults to nova-3 and returns word-level segments when Deepgram supplies them. It uploads the audio synchronously to the listening endpoint. See transcription for the common result shape.

Both models use https://api.deepgram.com by default.

Models

Speech models

Aura 2 model IDs include both the voice and language, using the form aura-2-{voice}-{language}. The SDK defaults to aura-2-thalia-en; browse Deepgram's Aura model and voice list for the other current IDs.

Transcription models

Model IDUse
nova-3Current general prerecorded STT model
nova-2Previous Nova generation
whisperHosted Whisper option

Deepgram also offers models specialized for streaming voice agents. See the official speech-to-text model overview for mode and language compatibility.