Community-maintained integration. This service is built and maintained by Chariot-AI. Pipecat does not test or officially support it. Please report issues and request changes on the source repository. Learn more about community integrations.
Overview
ChariotTTSService synthesizes speech using Chariot, which
serves lifelike voices for Indian languages and English.
The service keeps one WebSocket open for the whole conversation, with each bot
turn as its own context, and streams audio while the server is still
generating. Any voice speaks any supported language, so the audio follows the
text rather than the voice, and there is no language parameter to set.
Source Repository
Package source, the voice agent example, and issue tracker
PyPI Package
The
pipecat-chariot package on PyPIChariot
API reference, voices, and supported languages
API Keys
Create an account and manage your Chariot API keys
Installation
Prerequisites
- Create an account at platform.chariot.in. New accounts include free credits.
- Copy an API key from the console and set
CHARIOT_API_KEY. - Optionally pick a voice from
GET https://api.chariot.in/v1/voices. Without one the service uses a Chariot stock voice.
Configuration
str
required
Chariot API key.
str
default:"None"
Voice UUID from
GET /v1/voices. settings.voice takes precedence. Defaults
to a Chariot stock voice.str
default:"chariot-multilingual-v1"
chariot-multilingual-v1 or chariot-v0. settings.model takes precedence.float
default:"None"
Speaking rate. Leave unset for the voice as recorded.
settings.speed takes
precedence.bool
default:"None"
Not sent unless set. Unset or
True: your workspace’s data retention setting
decides. False keeps the generated audio out of storage.int
default:"44100"
Chariot streams 44.1 kHz; a mismatch logs a warning.
Settings
Pass these throughChariotTTSService.Settings(...). They can also be updated
while the pipeline is running with TTSUpdateSettingsFrame.
Speaking rates are pre-encoded per voice and per model, so
speed is one of a
fixed set rather than a range. GET /v1/voices lists what each voice offers
under each model as speeds.Usage
Interruptions
When the user barges in, the turn’s Chariot context is cancelled: generation stops at once and the connection stays open, so the next turn starts without a new handshake. Nothing needs configuring.Compatibility
Tested with Pipecat v1.15.0 (pipecat-ai>=1.13,<2). See the
changelog
for updates.