Skip to main content

Deepgram STT

Reference for Deepgram STT in LiveKit Inference.

Overview

LiveKit Inference offers transcription powered by Deepgram. Pricing information is available on the pricing page.

Model nameModel IDLanguages
Nova-3
deepgram/nova-3 or deepgram/nova-3-general
enen-USen-AUen-GBen-INen-NZdenlsvsv-SEdada-DKeses-419frfr-CAptpt-BRpt-PTmulti
Nova-3 Medical
deepgram/nova-3-medical
enen-USen-AUen-CAen-GBen-IEen-INen-NZ
Nova-2
deepgram/nova-2 or deepgram/nova-2-general
multibgcazhzh-CNzh-Hanszh-TWzh-Hantzh-HKcsdada-DKnlenen-USen-AUen-GBen-NZen-INetfinl-BEfrfr-CAdede-CHelhihuiditjakoko-KRlvltmsnoplptpt-BRpt-PTroruskeses-419svsv-SEthth-THtrukvi
Nova-2 Medical
deepgram/nova-2-medical
enen-US
Nova-2 Conversational AI
deepgram/nova-2-conversationalai
enen-US
Nova-2 Phonecall
deepgram/nova-2-phonecall
enen-US

Usage

To use Deepgram, pass a descriptor with the model and language to the stt argument in your AgentSession:

from livekit.agents import AgentSession
session = AgentSession(
stt="deepgram/nova-3:en",
# ... tts, stt, vad, turn_detection, etc.
)
import { AgentSession } from '@livekit/agents';
session = new AgentSession({
stt: "deepgram/nova-3:en",
// ... tts, stt, vad, turn_detection, etc.
});

Multilingual transcription

Deepgram Nova-3 and Nova-2 models support multilingual transcription. In this mode, the model automatically detects the language of each segment of speech and can accurately transcribe multiple languages in the same audio stream.

Multilingual transcription is billed at a different rate than monolingual transcription. Refer to the pricing page for more information.

To enable multilingual transcription on supported models, set the language to multi.

Parameters

To customize additional parameters, including the language to use, use the STT class from the inference module:

from livekit.agents import AgentSession, inference
session = AgentSession(
stt=inference.STT(
model="deepgram/nova-3",
language="en"
),
# ... tts, stt, vad, turn_detection, etc.
)
import { AgentSession, inference } from '@livekit/agents';
session = new AgentSession({
stt: new inference.STT({
model: "deepgram/nova-3",
language: "en"
}),
// ... tts, stt, vad, turn_detection, etc.
});
modelstringRequired

The model to use for the STT.

languagestringOptional

Language code for the transcription. If not set, the provider default applies. Set it to multi with supported models for multilingual transcription.

extra_kwargsdictOptional

Additional parameters to pass to the Deepgram STT API, including filler_words, interim_results, endpointing, punctuate, smart_format, keywords, keyterms, profanity_filter, numerals, and mip_opt_out.

Additional resources

The following links provide more information about Deepgram in LiveKit Inference.