get an API key

build a voice agent with pipecat

drop rumik into a pipecat pipeline with pipecat-rumik.

building a real-time voice bot? skip the WebSocket plumbing and use pipecat-rumik, our official pipecat TTS service. it drops rumik straight into a pipecat pipeline with streaming audio, metrics, and interruption handling already wired up.

bash
pip install pipecat-rumik

pick a service#

it ships two TTS services. pick one for your transport:

servicetransportbest for
RumikTTSServiceWebSocketinteractive voice agents that need interruption-aware, streaming TTS.
RumikHttpTTSServiceHTTPsimpler request/response synthesis and batch-style flows.

add it to a pipeline#

settings map to the same request fields as the REST API.

python
import os
from pipecat_rumik import RumikTTSService

# muga: low-latency streaming voice
tts = RumikTTSService(
    api_key=os.environ["RUMIK_API_KEY"],
    gateway_url=os.environ["RUMIK_GATEWAY_URL"],
    settings=RumikTTSService.Settings(model="muga"),
)

# mulberry: expressive voice, steered by a description + preset speaker
tts = RumikTTSService(
    api_key=os.environ["RUMIK_API_KEY"],
    gateway_url=os.environ["RUMIK_GATEWAY_URL"],
    settings=RumikTTSService.Settings(
        model="mulberry",
        voice="speaker_1",          # sent to Rumik as "speaker"
        description="warm, friendly Indian narrator with clear Hinglish diction",
        f0_up_key=3,                # pitch shift in semitones
    ),
)

# Then drop `tts` into your Pipecat Pipeline alongside your STT + LLM services.

set RUMIK_API_KEY to a key from your dashboard and RUMIK_GATEWAY_URL to https://silk-api.rumik.ai. see the PyPI package for runnable voice-agent examples, settings, and event handlers.

settings#

RumikTTSSettings is shared by RumikTTSService.Settings and RumikHttpTTSService.Settings. it maps to rumik request fields:

settingrequest fieldnotes
modelmodelmuga or mulberry.
voicespeakerpreset speaker voice, e.g. speaker_1.
descriptiondescriptionexpressive voice description for mulberry.
f0_up_keyf0_up_keypitch shift for preset speaker voices.
temperaturetemperatureoptional sampling temperature.
top_ptop_poptional nucleus sampling value.
top_ktop_koptional top-k sampling value.

next: hand your coding agent the rumik TTS skill so it integrates all of this correctly on the first try.