LiveKit docs › Models › TTS › Additional models › Gnani

---

# Gnani TTS plugin guide

> How to use the Gnani TTS plugin for LiveKit Agents.

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

## Overview

This plugin allows you to use [Gnani](https://gnani.ai/) Vachana as a TTS provider for your voice agents. Gnani provides low-latency, natural-sounding speech synthesis for Indian languages, with batch and streaming synthesis over REST, Server-Sent Events (SSE), and WebSocket.

### Installation

Install the plugin from PyPI:

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

```

### Authentication

The Gnani plugin requires a [Gnani Vachana API key](https://vachana.ai/).

Set `GNANI_API_KEY` in your `.env` file:

```shell
GNANI_API_KEY=<your-gnani-api-key>

```

### Usage

Use Gnani TTS within an `AgentSession` or as a standalone speech generator. For example, you can use this TTS in the [Voice AI quickstart](https://docs.livekit.io/agents/start/voice-ai.md).

```python
from livekit.agents import AgentSession
from livekit.plugins import gnani

session = AgentSession(
   tts=gnani.TTS(
      voice="Karan",
      language="hi",
      model="vachana-voice-v3",
      sample_rate=16000,
   ),
   # ... llm, stt, etc.
)

```

### Parameters

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

- **`voice`** _(string)_ (optional) - Default: `Karan`: Voice to use for synthesis. Supported voices: `Karan`, `Simran`, `Nara`, `Riya`, `Viraj`, `Raju`.

- **`model`** _(string)_ (optional) - Default: `vachana-voice-v3`: The Gnani TTS model to use.

- **`language`** _(string)_ (optional) - Default: `hi`: Language code for the generated speech. Defaults to Hindi (`hi`).

- **`sample_rate`** _(integer)_ (optional) - Default: `16000`: Output sample rate in Hz. Supported values: `8000`, `16000`, `22050`, `44100`.

- **`encoding`** _(string)_ (optional) - Default: `linear_pcm`: Output audio encoding. Supported values: `linear_pcm`, `oggopus`.

- **`container`** _(string)_ (optional) - Default: `wav`: Output audio container. Supported values: `raw`, `mp3`, `wav`, `mulaw`, `ogg`.

- **`num_channels`** _(integer)_ (optional) - Default: `1`: Number of audio channels in the output.

- **`synthesize_method`** _(string)_ (optional) - Default: `rest`: Transport used for batch synthesis through `synthesize()`. One of `rest` (single-request HTTP), `sse` (chunked Server-Sent Events for lower latency), or `websocket` (lowest latency). Realtime streaming through `stream()` always uses WebSocket, regardless of this setting.

## Additional resources

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

- **[Python package](https://pypi.org/project/livekit-plugins-gnani/)**: The `livekit-plugins-gnani` package on PyPI.

- **[Plugin reference](https://docs.livekit.io/reference/python/livekit/plugins/gnani/index.html.md#livekit.plugins.gnani.TTS)**: Reference for the Gnani TTS plugin.

- **[GitHub repo](https://github.com/livekit/agents/tree/main/livekit-plugins/livekit-plugins-gnani)**: View the source or contribute to the LiveKit Gnani TTS plugin.

- **[Gnani site](https://gnani.ai/)**: Gnani's official site and product documentation.

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

- **[Gnani STT](https://docs.livekit.io/agents/models/stt/gnani.md)**: Guide to the Gnani STT plugin with LiveKit Agents.

---

This document was rendered at 2026-06-21T04:06:15.464Z.
For the latest version of this document, see [https://docs.livekit.io/agents/models/tts/gnani.md](https://docs.livekit.io/agents/models/tts/gnani.md).

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