> 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. Atoms is the
> voice-agent platform.

# Voices, Voice IDs, and Supported Languages

> Find your voice ID, list available voices and models, and see the supported languages for each TTS model.

Use this page to find your voice ID, list all voices available on each TTS model, and check the supported languages. Works via the REST API or Python SDK.

The Lightning v3.1 model card has the curated voice catalog, "Best Voices" tables per language, and the canonical supported-language list.

The Pulse STT model card has the language list and which features are supported per language.

The `smallestai` Python SDK is being updated. If the SDK example below doesn't work, use the underlying REST API directly (see the API reference under Waves → API Reference). Streaming synthesis via `WavesStreamingTTS` is unaffected.

## Requirements

Before you begin, ensure you have the following:

* Python (3.9 or higher) installed on your machine.
* An API key from the Smallest AI [platform](https://app.smallest.ai/dashboard/api-keys?utm_source=documentation\&utm_medium=text-to-speech).
* The Smallest AI Python SDK installed. If you haven't installed it yet, follow the instructions below:

### Install the SDK

```bash
pip install smallestai
```

Set your API key as an environment variable:

```bash
export SMALLEST_API_KEY=YOUR_API_KEY
```

## Fetch Available Voices, Models, and Languages

The Smallest AI SDK allows you to query the available languages, voices, and models for your TTS needs. Here's how you can do it:

```python python
from smallestai.waves import WavesClient

def main():
    client = WavesClient(api_key="YOUR_API_KEY")

    # Get available languages
    languages = client.get_languages()
    print(f"Available Languages: {languages}")

    # Get available voices for the "lightning-v3.1" model
    voices = client.get_voices(model="lightning-v3.1")
    print(f"Available Voices (Model: 'lightning-v3.1'): {voices}")

    # Get user-specific cloned voices
    cloned_voices = client.get_cloned_voices()
    print(f"Available Cloned Voices: {cloned_voices}")

    # Get available models
    models = client.get_models()
    print(f"Available Models: {models}")

if __name__ == "__main__":
    main()
```

## Explanation of Functions

* `get_languages()`: Retrieves the list of supported languages for Text-to-Speech.
* `get_voices(model="model_name")`: Retrieves the voices available for a specific model (e.g., "lightning-v3.1").
* `get_cloned_voices()`: Fetches all user-specific cloned voices.
* `get_models()`: Retrieves the TTS models on the platform available through API.

## Need Help?

If you have any questions or encounter issues, our community is here to help!

* Join our [Discord server](https://discord.gg/9WtSXv26WE) to connect with other developers and get real-time support.
* Contact us via email: [support@smallest.ai](mailto:support@smallest.ai).