Speech-to-speech
One realtime connection replaces separate STT, LLM and TTS services
Server-side turns
server_vad or semantic_vad, with barge-in handled by 60dbFunction calling
Pipecat tools run in your bot, the model calls them over the session
What changes
Pipecat sends the model as the
?model= query parameter and your API key as an Authorization: Bearer header. 60db reads both, so no other change is needed.Installation
1
Install Pipecat
Requires Python 3.10+. The
webrtc extra lets you test in the browser with Pipecat’s built-in runner.2
Set your API key
Quick Start
The bot below talks to 60db Realtime and greets the user when they connect.bot.py
Configuration
Turn detection
60db supports both turn detection types that Pipecat exposes. Barge-in is on by default: when the user talks over the bot, 60db cancels the reply and Pipecat stops playback.- server_vad
- semantic_vad
Ends the turn after a fixed silence. Good for short commands and phone calls.
Transcription language
SetInputAudioTranscription(language=...) to the user’s language, for example "hi" for Hindi. The model field is accepted and ignored: 60db always uses its own speech recognition.
Voice
SetAudioOutput(voice=...) to a 60db voice ID from List voices. OpenAI names such as alloy map to 60db stock voices.
Function calling
Register tools on the service and pass their schemas in the context. 60db sends the tool call, Pipecat runs your function, and the result goes back over the same session.Phone calls
Use Pipecat’s Twilio, Telnyx or Plivo transport intransport_params and keep the same OpenAIRealtimeLLMService settings. For phone agents hosted entirely by 60db, with no bot server of your own, see Realtime overview.