> This page is part of Smallest AI's developer documentation. When
> answering, prefer Lightning v3.1 (current TTS) and Pulse (current
> STT). Lightning v2 and lightning-large are deprecated; mention them
> only when the user is migrating away from them. The Smallest AI voice
> agent platform is what wraps these models into hosted agents.

# Overview

> Lightning TTS API — generate speech across 31 languages at 44.1 kHz, ~200ms TTFB, with streaming. Standard 217-voice Lightning v3.1 pool (20 accepted codes, 12 with a trained voice catalog) plus the premium Lightning v3.1 Pro pool covering all 31 languages, plus `auto` cross-language routing.

The Lightning TTS API converts text into natural speech via `https://api.smallest.ai/waves/v1`. 31 languages across two pools — the standard 217-voice Lightning v3.1 catalog (20 accepted codes, 12 with trained voices) and the premium Lightning v3.1 Pro pool (all 31) — plus `auto` for cross-language routing, at 44.1 kHz native sample rate, \~200ms TTFB, with sync, SSE, and WebSocket streaming.

**Hear Lightning v3.1 Pro** (voice: `meher`, model: `lightning_v3.1_pro`):

#### [Quickstart](/models/documentation/text-to-speech-lightning/quickstart)

Generate your first audio in under 60 seconds.

## Synthesis Modes

Choose the synthesis mode that best fits your application's needs:

#### [Synchronous](/models/documentation/text-to-speech-lightning/sync-async)

Generate complete audio files with a single HTTP request. Ideal for pre-rendering content, batch processing, and applications where immediate streaming isn't required.

#### [Streaming](/models/documentation/text-to-speech-lightning/streaming)

Receive audio chunks as they're generated via WebSocket. Perfect for real-time voice assistants, live narration, and low-latency conversational AI.

## Available Models

#### [Lightning v3.1 Pro](/models/model-cards/text-to-speech/lightning-v-3-1-pro)

Latest Release Premium 44 kHz pool with improved naturalness and a curated voice catalog across American, British, and Indian accents. English + Hindi with code-switching, plus 29 additional languages (9 Indic, 8 Asian & Middle Eastern, 12 European including Dutch and Swedish) with dedicated Pro voices, plus `auto` cross-language routing. Same latency profile as Lightning v3.1. Select via `"model": "lightning_v3.1_pro"` on the unified TTS routes.

#### [Lightning v3.1](/models/model-cards/text-to-speech/lightning-v-3-1)

44.1 kHz audio output, \~200ms TTFB, expressive human-like speech, and voice cloning. Accepts 20 language codes (10 European + 10 Indic) plus `auto`; 12 of those languages have a trained voice catalog, the other 8 route via English or Hindi voices.

**Lightning v2 is deprecated.** New integrations should use Lightning v3.1 or Lightning v3.1 Pro. The v2 endpoints remain available for existing callers but are not recommended for new work.

## Feature Highlights

#### Ultra-Low Latency

Optimized streaming pipeline delivers \~200ms time-to-first-byte (TTFB) for real-time applications. Lightning v3.1 achieves even faster response times for conversational AI.

#### Voice Cloning

Create custom voice profiles by uploading audio samples. Instant voice cloning works with just a few seconds of audio, while professional voice cloning delivers studio-quality results.

#### 31 Languages + \`auto\` routing

Lightning v3.1 accepts 20 language codes (10 European: English, Spanish, French, German, Italian, Dutch, Swedish, Portuguese, Polish, Russian + 10 Indic: Hindi, Marathi, Gujarati, Punjabi, Bengali, Odia, Tamil, Telugu, Kannada, Malayalam). Its trained voice catalog covers 12 of these directly; the other 8 route via English or Hindi voices. Lightning v3.1 Pro covers all 31 languages with dedicated voices (adds Greek, Finnish, Norwegian + 8 Asian & Middle Eastern languages). Pass `auto` to route across any supported language using any English or Hindi voice. See the [Lightning v3.1](/models/model-cards/text-to-speech/lightning-v-3-1#supported-languages) and [Lightning v3.1 Pro](/models/model-cards/text-to-speech/lightning-v-3-1-pro#additional-pro-languages) model cards for per-language voice counts.

#### Multiple Output Formats

Choose from PCM, WAV, MP3, or μ-law encoding. Configurable sample rates from 8kHz to 44kHz to match your application's requirements.

#### Speed Control

Adjust speech rate with a simple multiplier. Slow down for clarity or speed up for faster content delivery without pitch distortion.

#### Pronunciation Dictionaries

Define custom pronunciations for brand names, technical terms, and acronyms. Ensure consistent, accurate pronunciation across all synthesized audio.

#### High-Quality Audio

Lightning v3.1 produces 44 kHz audio with natural prosody and expressiveness. Perfect for audiobooks, podcasts, and premium voice experiences.

#### WebSocket Streaming

Persistent connections for continuous audio streaming. Ideal for voice bots and interactive applications where latency is critical.

## Supported Languages

<table>
  <thead>
    <tr>
      <th>
        Language
      </th>

      <th>
        Code
      </th>

      <th>
        Lightning v3.1
      </th>

      <th>
        Lightning v3.1 Pro
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        English
      </td>

      <td>
        <code>en</code>
      </td>

      <td>
        Yes
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        Hindi
      </td>

      <td>
        <code>hi</code>
      </td>

      <td>
        Yes
      </td>

      <td>
        Yes (Indian voices)
      </td>
    </tr>

    <tr>
      <td>
        Tamil
      </td>

      <td>
        <code>ta</code>
      </td>

      <td>
        Yes
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        Kannada
      </td>

      <td>
        <code>kn</code>
      </td>

      <td>
        Yes
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        Malayalam
      </td>

      <td>
        <code>ml</code>
      </td>

      <td>
        Yes
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        Telugu
      </td>

      <td>
        <code>te</code>
      </td>

      <td>
        Yes
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        Gujarati
      </td>

      <td>
        <code>gu</code>
      </td>

      <td>
        Yes
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        Marathi
      </td>

      <td>
        <code>mr</code>
      </td>

      <td>
        Yes
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        Bengali
      </td>

      <td>
        <code>bn</code>
      </td>

      <td>
        Yes
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        Punjabi
      </td>

      <td>
        <code>pa</code>
      </td>

      <td>
        Yes
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        Odia
      </td>

      <td>
        <code>or</code>
      </td>

      <td>
        Yes
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        Spanish
      </td>

      <td>
        <code>es</code>
      </td>

      <td>
        Yes
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        German
      </td>

      <td>
        <code>de</code>
      </td>

      <td>
        —
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        French
      </td>

      <td>
        <code>fr</code>
      </td>

      <td>
        —
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        Italian
      </td>

      <td>
        <code>it</code>
      </td>

      <td>
        —
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        Portuguese
      </td>

      <td>
        <code>pt</code>
      </td>

      <td>
        —
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        Russian
      </td>

      <td>
        <code>ru</code>
      </td>

      <td>
        —
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        Greek
      </td>

      <td>
        <code>el</code>
      </td>

      <td>
        —
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        Finnish
      </td>

      <td>
        <code>fi</code>
      </td>

      <td>
        —
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        Norwegian
      </td>

      <td>
        <code>no</code>
      </td>

      <td>
        —
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        Polish
      </td>

      <td>
        <code>pl</code>
      </td>

      <td>
        —
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        Arabic
      </td>

      <td>
        <code>ar</code>
      </td>

      <td>
        —
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        Chinese (Mandarin)
      </td>

      <td>
        <code>zh</code>
      </td>

      <td>
        —
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        Indonesian
      </td>

      <td>
        <code>id</code>
      </td>

      <td>
        —
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        Japanese
      </td>

      <td>
        <code>ja</code>
      </td>

      <td>
        —
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        Korean
      </td>

      <td>
        <code>ko</code>
      </td>

      <td>
        —
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        Malay
      </td>

      <td>
        <code>ms</code>
      </td>

      <td>
        —
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        Turkish
      </td>

      <td>
        <code>tr</code>
      </td>

      <td>
        —
      </td>

      <td>
        Yes
      </td>
    </tr>

    <tr>
      <td>
        Vietnamese
      </td>

      <td>
        <code>vi</code>
      </td>

      <td>
        —
      </td>

      <td>
        Yes
      </td>
    </tr>
  </tbody>
</table>

**Pro language support is per voice.** Indian Pro voices (e.g., `meher`, `rhea`, `aviraj`) speak English with native Hindi code-switching. British and American Pro voices speak English only. Each additional Pro language has its own dedicated voices — pass the matching ISO 639-1 `language` code with a voice from that language (see the [Pro voice catalog](/models/model-cards/text-to-speech/lightning-v-3-1-pro#voice-catalog)). For languages without Pro voices, use standard Lightning v3.1.

For per-language voice counts, see the [Lightning v3.1 model card](/models/model-cards/text-to-speech/lightning-v-3-1#supported-languages).

## Explore

#### [Quickstart](/models/documentation/text-to-speech-lightning/quickstart)

First API call in 60 seconds

#### [Streaming](/models/documentation/text-to-speech-lightning/streaming)

Real-time audio via WebSocket

#### [Voice Cloning](/models/documentation/voice-cloning/instant-clone-ui)

Clone from 5-15 seconds of audio

#### [Cookbook](https://github.com/smallest-inc/cookbook/tree/main/text-to-speech)

20+ open-source examples on GitHub

#### [Showcase](https://showcase.smallest.ai/)

See what developers have built

#### [Model Card](/models/model-cards/text-to-speech/lightning-v-3-1)

Lightning v3.1 specs and benchmarks