Overview
This plugin allows you to use the Smallest AI Pulse platform as an STT provider for your voice agents.
Installation
Install the plugin from PyPI:
uv add "livekit-agents[smallestai]~=1.8"
Authentication
The Smallest AI plugin requires an API key .
Set SMALLEST_API_KEY in your .env file.
Usage
Use Smallest AI STT in an AgentSession or as a standalone transcription service. For example, you can use this STT in the Voice AI quickstart.
from livekit.plugins import smallestaisession = AgentSession(stt=smallestai.STT(language="en",),# ... llm, tts, etc.)
Parameters
This section describes some of the available parameters. See the plugin reference for a complete list of all available parameters.
modelstringDefault: pulseThe STT model to use. Currently pulse is the only available model.
languagestringDefault: enLanguage code for the input audio. Set to multi to enable automatic language detection. See Smallest AI documentation for a complete list of supported languages.
word_timestampsboolDefault: trueInclude per-word start and end timestamps and confidence scores in transcripts.
diarizeboolDefault: falseSet to true to enable speaker diarization.
eou_timeout_msintDefault: 0Milliseconds of silence before the server considers an utterance complete and emits a final transcript. Set to 0 to disable server-side end-of-utterance detection, which is recommended when using LiveKit's built-in turn detection to minimize latency. Otherwise, supported values range from 100 to 10000.
Speaker diarization
To assign a speaker identifier to each transcribed word, set diarize=True. When enabled, each word includes a speaker ID and the STT reports capabilities.diarization=True.
from livekit.plugins import smallestaisession = AgentSession(stt=smallestai.STT(language="en",diarize=True,),# ... llm, tts, etc.)
To detect the primary speaker and format transcripts by speaker, see Primary speaker detection.
Additional resources
The following resources provide more information about using Smallest AI with LiveKit Agents.