Skip to main content

Overview

LMNTTTSService provides real-time text-to-speech synthesis through LMNT’s WebSocket-based streaming API optimized for conversational AI. The service offers ultra-low latency with high-quality voice models and supports multiple languages with automatic interruption handling.

LMNT TTS API Reference

Pipecat’s API methods for LMNT TTS integration

Example Implementation

Complete example with voice synthesis

LMNT Documentation

Official LMNT streaming speech API documentation

Voice Library

Browse and create custom voices

Installation

To use LMNT services, install the required dependencies:

Prerequisites

LMNT Account Setup

Before using LMNT TTS services, you need:
  1. LMNT Account: Sign up at LMNT Console
  2. API Key: Generate an API key from your account dashboard
  3. Voice Selection: Choose from available voice models or create custom voices

Required Environment Variables

  • LMNT_API_KEY: Your LMNT API key for authentication

Configuration

LmntTTSService

api_key
str
required
LMNT API key for authentication.
voice_id
str
required
deprecated
ID of the voice to use for synthesis. Deprecated in v0.0.105. Use settings=LmntTTSService.Settings(voice=...) instead.
model
str
default:"blizzard"
deprecated
LMNT TTS model to use. Deprecated in v0.0.105. Use settings=LmntTTSService.Settings(model=...) instead.
language
Language
default:"Language.EN"
deprecated
Language for synthesis. Supports multiple languages including German, English, Spanish, French, Hindi, and more. Deprecated in v0.0.106. Use settings=LmntTTSService.Settings(language=...) instead.
settings
LmntTTSService.Settings
default:"None"
Runtime-configurable settings. See Settings below.
sample_rate
int
default:"None"
Output audio sample rate in Hz. When None, uses the pipeline’s configured sample rate.

Settings

Runtime-configurable settings passed via the settings constructor argument using LmntTTSService.Settings(...). These can be updated mid-conversation with TTSUpdateSettingsFrame. See Service Settings for details.

Usage

Basic Setup

With Language Configuration

The InputParams / params= pattern is deprecated as of v0.0.105. Use Settings / settings= instead. See the Service Settings guide for migration details.

Notes

  • WebSocket-based streaming: LMNT uses a persistent WebSocket connection for low-latency audio synthesis with automatic reconnection.
  • Class name: The Python class is LmntTTSService (note the lowercase ‘mnt’).

Event Handlers

LMNT TTS supports the standard service connection events: