VakyamTTSService as a standalone
Pipecat community integration
(pipecat-vakyam). Install it next to pipecat-ai; it is versioned
independently of both Pipecat and the core vakyamai SDK.vakyamai[pipecat] extra and from vakyamai.pipecat import VakyamTTSService
are deprecated and will be removed. Switch to pipecat-vakyam — the service
API is the same; only the package and import path change. See
Migrate from the old SDK extra.1pip install pipecat-vakyam
vakyamai for Vakyam's WebSocket
protocol helpers, and on pipecat-ai (>=1.5,<2). It is tested with Pipecat
v1.7.0. Source, issues, and examples live in the
pipecat-vakyam repository .1export VAKYAM_API_KEY="vak_live_..."
12345678910from pipecat_vakyam import VakyamTTSService tts = VakyamTTSService( settings=VakyamTTSService.Settings( voice="Archana", model="raaga-v1", language="ta-IN", speed=1.0, ), )
VAKYAM_API_KEY from the environment by default; pass
api_key="vak_live_..." to set it explicitly.sample_rate unless you need a specific rate. Pipecat sets it from the
pipeline StartFrame. Supported values are 8000, 16000, 24000, and
48000.path api_keystringVAKYAM_API_KEY environment variable.path sample_rateinteger8000, 16000, 24000, or 48000. When
omitted, Pipecat supplies it from the pipeline StartFrame.path settingsVakyamTTSService.Settingspath text_aggregation_modeTextAggregationModepath base_urlstringdefault: https://api.vakyam.aihttps://api.vakyam.ai).path allow_insecure_base_urlbooleandefault: falsehttp:// base URLs. Defaults to false.VakyamTTSService.Settings holds the synthesis configuration and can be
updated at runtime via Pipecat's TTSUpdateSettingsFrame:path voicestringdefault: ArchanaGET /v1/voices)
or a custom voice ID beginning with vc_. See
Voices & languages.path modelstringdefault: raaga-v1path languagestringdefault: ta-INta-IN, hi-IN, or en-IN.path speednumberdefault: 1.00.5–2.0.12345678910111213141516171819202122from pipecat.pipeline.pipeline import Pipeline from pipecat.pipeline.task import PipelineParams, PipelineTask from pipecat_vakyam import VakyamTTSService tts = VakyamTTSService( settings=VakyamTTSService.Settings( voice="Archana", model="raaga-v1", language="ta-IN", ), ) pipeline = Pipeline([ transport.input(), stt, context_aggregator.user(), llm, tts, transport.output(), context_aggregator.assistant(), ]) task = PipelineTask(pipeline, params=PipelineParams(allow_interruptions=True))
cancel
and keeps the socket open — it does not reconnect — so the next turn starts
without new connection latency. See
Interrupting playback.vakyamai[pipecat], switch the package and import. The
constructor and settings are unchanged. Keep vakyamai installed if you use the
core SDK elsewhere — pipecat-vakyam already depends on it.1pip install pipecat-vakyam
12345# Before (deprecated) from vakyamai.pipecat import VakyamTTSService # After from pipecat_vakyam import VakyamTTSService