LiveKit docs › Models › STT › Additional models › Smallest AI

---

# Smallest AI STT plugin guide

> How to use the Smallest AI Pulse STT plugin for LiveKit Agents.

Available in:
- [ ] Node.js
- [x] Python

## Overview

This plugin allows you to use the [Smallest AI](https://smallest.ai/) Pulse platform as an STT provider for your voice agents.

### Installation

Install the plugin from PyPI:

```shell
uv add "livekit-agents[smallestai]~=1.5"

```

### Authentication

The Smallest AI plugin requires an [API key](https://app.smallest.ai/dashboard/api-keys).

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](https://docs.livekit.io/agents/start/voice-ai.md).

```python
from livekit.plugins import smallestai

session = AgentSession(
    stt=smallestai.STT(
        language="en",
    ),
    # ... llm, tts, etc.
)

```

### Parameters

This section describes some of the available parameters. See the [plugin reference](https://docs.livekit.io/reference/python/livekit/plugins/smallestai/index.html.md#livekit.plugins.smallestai.STT) for a complete list of all available parameters.

- **`model`** _(string)_ (optional) - Default: `pulse`: The STT model to use. Currently `pulse` is the only available model.

- **`language`** _(string)_ (optional) - Default: `en`: [Language code](https://docs.livekit.io/agents/models/stt.md#language-codes) for the input audio. Set to `multi` to enable automatic language detection. See [Smallest AI documentation](https://docs.smallest.ai/waves/model-cards/speech-to-text/pulse) for a complete list of supported languages.

- **`word_timestamps`** _(bool)_ (optional) - Default: `true`: Include per-word `start` and `end` timestamps and confidence scores in transcripts.

- **`diarize`** _(bool)_ (optional) - Default: `false`: Set to `true` to enable [speaker diarization](#speaker-diarization).

- **`eou_timeout_ms`** _(int)_ (optional) - Default: `0`: Milliseconds 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`.

```python
from livekit.plugins import smallestai

session = AgentSession(
    stt=smallestai.STT(
        language="en",
        diarize=True,
    ),
    # ... llm, tts, etc.
)

```

To detect the primary speaker and format transcripts by speaker, see [Speaker diarization and primary speaker detection](https://docs.livekit.io/agents/models/stt.md#speaker-diarization).

## Additional resources

The following resources provide more information about using Smallest AI with LiveKit Agents.

- **[Smallest AI Pulse docs](https://docs.smallest.ai/waves/documentation/speech-to-text-pulse/quickstart)**: Smallest AI's Pulse STT documentation.

- **[Smallest AI TTS](https://docs.livekit.io/agents/models/tts/smallestai.md)**: Guide to the Smallest AI TTS plugin with LiveKit Agents.

- **[Voice AI quickstart](https://docs.livekit.io/agents/start/voice-ai.md)**: Get started with LiveKit Agents and Smallest AI STT.

---

This document was rendered at 2026-06-07T11:36:46.680Z.
For the latest version of this document, see [https://docs.livekit.io/agents/models/stt/smallestai.md](https://docs.livekit.io/agents/models/stt/smallestai.md).

To explore all LiveKit documentation, see [llms.txt](https://docs.livekit.io/llms.txt).