Pipecat service integration for Gnani Vachana speech AI — STT & TTS for Indian languages
Project description
pipecat-gnani
Pipecat service integration for Gnani Vachana — high-accuracy Speech-to-Text and low-latency Text-to-Speech for Indian languages.
Vachana is a production-ready speech AI platform by Gnani.ai supporting 10+ Indian languages with 6 voices, real-time streaming, multilingual transcription, and code-switching capabilities.
Installation
pip install pipecat-gnani
This will also install the gnani-vachana (>= 0.4.3) core SDK as a dependency.
Prerequisites
You need a Gnani API key. Email speechstack@gnani.ai to get started — all new accounts receive free credits, no credit card required.
export GNANI_API_KEY="your-api-key"
Quick Start
Speech-to-Text (REST)
from pipecat_gnani import GnaniHttpSTTService
from pipecat.transcriptions.language import Language
stt = GnaniHttpSTTService(
api_key="your-api-key",
aiohttp_session=session,
settings=GnaniHttpSTTService.Settings(
language=Language.HI_IN,
),
)
Speech-to-Text (Streaming WebSocket)
from pipecat_gnani import GnaniSTTService
from pipecat.transcriptions.language import Language
stt = GnaniSTTService(
api_key="your-api-key",
settings=GnaniSTTService.Settings(
language=Language.HI_IN,
),
)
Text-to-Speech (REST)
from pipecat_gnani import GnaniHttpTTSService
tts = GnaniHttpTTSService(
api_key="your-api-key",
aiohttp_session=session,
settings=GnaniHttpTTSService.Settings(
voice="Karan",
language="hi-IN",
),
)
Text-to-Speech (SSE Streaming)
from pipecat_gnani import GnaniSSETTSService
tts = GnaniSSETTSService(
api_key="your-api-key",
aiohttp_session=session,
settings=GnaniSSETTSService.Settings(
voice="Karan",
language="hi-IN",
),
)
Text-to-Speech (WebSocket Streaming)
from pipecat_gnani import GnaniTTSService
tts = GnaniTTSService(
api_key="your-api-key",
settings=GnaniTTSService.Settings(
voice="Karan",
language="IND-IN",
),
)
Services
STT Services
| Service | Transport | Base Class | Description |
|---|---|---|---|
GnaniHttpSTTService |
REST POST | SegmentedSTTService |
File-based transcription via POST /stt/v3. Requires VAD in pipeline. |
GnaniSTTService |
WebSocket | STTService |
Real-time streaming via wss://api.vachana.ai/stt/v3/stream with VAD events. |
TTS Services
| Service | Transport | Base Class | Description |
|---|---|---|---|
GnaniHttpTTSService |
REST POST | TTSService |
Single-request synthesis via POST /api/v1/tts/inference. |
GnaniSSETTSService |
SSE | TTSService |
Streaming synthesis via POST /api/v1/tts/sse. Lower latency than REST. |
GnaniTTSService |
WebSocket | InterruptibleTTSService |
Streaming via wss://api.vachana.ai/api/v1/tts. Lowest latency, interruption support. |
Supported Languages
STT Languages (Speech-to-Text)
STT uses BCP-47 locale codes (e.g. hi-IN).
| Language | Code |
|---|---|
| Assamese | as-IN |
| Bengali | bn-IN |
| English (India) | en-IN |
| Gujarati | gu-IN |
| Hindi | hi-IN |
| Kannada | kn-IN |
| Malayalam | ml-IN |
| Marathi | mr-IN |
| Odia | or-IN |
| Punjabi | pa-IN |
| Tamil | ta-IN |
| Telugu | te-IN |
TTS Languages (Text-to-Speech)
TTS uses ISO 639 language codes (e.g. hi, bn). Note: TTS does not use the -IN suffix.
For the full list of supported languages, see TTS — Supported Languages.
Available Voices
| Voice | Gender | Description |
|---|---|---|
| Karan | Male | Bold, Trustworthy |
| Simran | Female | Confident, Bright |
| Nara | Female | Gentle, Expressive |
| Riya | Female | Cheerful, Energetic |
| Viraj | Male | Commanding, Dynamic |
| Raju | Male | Grounded, Conversational |
Architecture
gnani-vachana (>=0.4.3) ← Core SDK (REST, SSE, WebSocket clients)
↑
pipecat-gnani ← This package (Pipecat service adapters)
├── STT: REST + WebSocket
└── TTS: REST + SSE + WebSocket
This package wraps the gnani-vachana SDK into Pipecat's SegmentedSTTService, STTService, TTSService, and InterruptibleTTSService base classes.
Documentation
- Vachana API Docs
- Pipecat Docs
- gnani-vachana SDK
- STT REST API
- STT Realtime WebSocket
- TTS REST API
- TTS Streaming (SSE)
- TTS Realtime WebSocket
License
BSD 2-Clause — see LICENSE.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pipecat_gnani-0.3.0.tar.gz.
File metadata
- Download URL: pipecat_gnani-0.3.0.tar.gz
- Upload date:
- Size: 9.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
100abb0817f9fce989d36fd1b38b01e301083ef66b95a77c17ec43e6de08593a
|
|
| MD5 |
ed5074e47ffb1cebdaa557fa2847f394
|
|
| BLAKE2b-256 |
befff93b595783a52fe9ec0a047fd1a79e2dfba40fe39c871e73616552c3697a
|
Provenance
The following attestation bundles were made for pipecat_gnani-0.3.0.tar.gz:
Publisher:
workflow.yml on Gnani-AI-Mintlify/pipecat-gnani
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pipecat_gnani-0.3.0.tar.gz -
Subject digest:
100abb0817f9fce989d36fd1b38b01e301083ef66b95a77c17ec43e6de08593a - Sigstore transparency entry: 1767841402
- Sigstore integration time:
-
Permalink:
Gnani-AI-Mintlify/pipecat-gnani@7e4a75692b81fedb65b05c0aa70cfb7a0cadb869 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/Gnani-AI-Mintlify
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@7e4a75692b81fedb65b05c0aa70cfb7a0cadb869 -
Trigger Event:
release
-
Statement type:
File details
Details for the file pipecat_gnani-0.3.0-py3-none-any.whl.
File metadata
- Download URL: pipecat_gnani-0.3.0-py3-none-any.whl
- Upload date:
- Size: 12.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9bb59bf9e8e8987f5a9d8b5ea43c19e5c82944565ad934e51236ead0e6fa9bfc
|
|
| MD5 |
a02ef37c04269a472dc9ec5a5411fd59
|
|
| BLAKE2b-256 |
23fce3126288b041ab0e677d50b54b72b6a024d8485285ae245bea55282bc7a8
|
Provenance
The following attestation bundles were made for pipecat_gnani-0.3.0-py3-none-any.whl:
Publisher:
workflow.yml on Gnani-AI-Mintlify/pipecat-gnani
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pipecat_gnani-0.3.0-py3-none-any.whl -
Subject digest:
9bb59bf9e8e8987f5a9d8b5ea43c19e5c82944565ad934e51236ead0e6fa9bfc - Sigstore transparency entry: 1767842403
- Sigstore integration time:
-
Permalink:
Gnani-AI-Mintlify/pipecat-gnani@7e4a75692b81fedb65b05c0aa70cfb7a0cadb869 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/Gnani-AI-Mintlify
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@7e4a75692b81fedb65b05c0aa70cfb7a0cadb869 -
Trigger Event:
release
-
Statement type: