Skip to main content

Smallest AI TTS plugin guide

How to use the Smallest AI Waves TTS plugin for LiveKit Agents.

Available inPython

Overview

This plugin allows you to use the Smallest AI  Waves platform as a TTS provider for your voice agents.

Installation

Install the plugin from PyPI:

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

Authentication

The Smallest AI plugin requires an API key .

Set SMALLEST_API_KEY in your .env file.

Usage

Use Smallest AI TTS within an AgentSession or as a standalone speech generator. For example, you can use this TTS in the Voice AI quickstart.

from livekit.plugins import smallestai
session = AgentSession(
tts=smallestai.TTS(
model="lightning_v3.1_pro",
voice_id="meher",
),
# ... llm, stt, etc.
)

Parameters

This section describes some of the available parameters. See the plugin reference for a complete list of all available parameters.

model"lightning_v3.1" | "lightning_v3.1_pro"Default: lightning_v3.1_pro

Model to use. lightning_v3.1_pro provides a curated set of American, British, and Indian voices. lightning_v3.1 is the standard model with 217 voices across 12 languages. For the full list of models and voices, see the Smallest AI docs .

voice_idstring

The voice ID for synthesis. Pair Pro voices with lightning_v3.1_pro and standard voices with lightning_v3.1. Defaults to meher for lightning_v3.1_pro and sophia for lightning_v3.1. For the full list of voices, see the Pro  and standard  model cards.

languagestringDefault: en

Language of the synthesized speech. Use auto for automatic detection and mid-sentence language switching. lightning_v3.1_pro supports en, hi, and auto only.

speednumberDefault: 1.0

Speech rate, from 0.5 to 2.0.

sample_ratenumberDefault: 24000

Target audio sample rate in Hz. Both models render natively at 44.1 kHz, so requesting 44100 avoids downsampling. Supported rates are 8000, 16000, 24000, and 44100. Match the rate to the rest of your audio pipeline to avoid resampling artifacts.

output_format"pcm" | "mp3" | "wav" | "ulaw" | "alaw"Default: pcm

Encoding format for synthesized audio. Applies to HTTP synthesize() calls only. WebSocket streaming, which the agent pipeline uses, always returns PCM.

Additional resources

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