More articles
Higgs Realtime in Pipecat: three services become one
We’ve shipped pipecat-boson, which brings Higgs Realtime into Pipecat as a Realtime LLM option. It’s on PyPI now:
shell
uv add pipecat-bosonWhy this is more than another provider option
A typical Pipecat voice agent is three services chained together. Speech-to-text turns audio into a transcript. A language model turns the transcript into a reply. Text-to-speech turns the reply into audio. Each one is a separate vendor, a separate network hop, and a separate place where latency accumulates and things break.
It also means everything that isn’t a word gets thrown away at step one. Hesitation, frustration, urgency, the difference between “…yes” and “yes!”—transcription discards all of it before your model ever sees it.
BosonRealtimeLLMService replaces all three. It takes live audio in and streams audio back, handling understanding, reasoning, and speech generation inside a single model. In your pipeline, it goes where your STT, LLM, and TTS services used to be:
Python
import osfrom pipecat_boson.realtime import BosonRealtimeLLMServicellm = BosonRealtimeLLMService(url=os.environ["BOSON_REALTIME_URL"],api_key=os.environ["BOSON_API_KEY"],model="higgs-realtime",voice="default",instructions="You are a concise and helpful voice assistant.",)
Then drop it into the pipeline:
Python
pipeline = Pipeline([transport.input(),user_aggregator,llm,transport.output(),assistant_aggregator,])
That’s the whole integration.
What collapsing the stack buys you
The obvious win is operational: one vendor instead of three, one bill, one thing to debug. The less obvious win is that it’s what makes fast interruption possible at all.
When a user cuts in mid-sentence on a chained pipeline, you have to detect the interruption, kill the TTS playback, discard the audio that was queued but never heard, and reconcile your conversation state against what the user actually heard versus what you sent. Every one of those steps costs time and is a place to get it wrong.
To yield
125ms
After you start speaking, the model stops and picks the thread back up afterward. There is no pipeline to unwind.
Speech in to speech out
~700ms
One model does the understanding, the reasoning, and the speech generation, so there is one hop to wait for.
What’s supported
- Server and semantic voice activity detectionUsing an OpenAI-compatible turn detection configuration.
- Interruption handling and recoveryCut in mid-sentence; the model yields and picks the thread back up.
- User transcriptionIf you want transcript frames alongside audio.
- Function callingPass ordinary Python functions or Pipecat-compatible tool definitions.
- Text-only responsesIf you want the model reasoning without the voice.
- Pipecat's realtime context managementThe context aggregators follow the server-driven turn lifecycle.
- 100+ languagesIncluding switching languages mid-sentence without a language flag.
The package supports pipecat-ai 1.4 and above, and is tested against Pipecat v1.6.0.
Cost
Audio in
$0.0023/ min
Per minute of audio the model listens to.
Audio out
$0.014/ min
Per minute of speech the model generates.
Generated speech
≈ $0.84/ hour
About 84 cents for an hour of the model talking.
No platform fee, no per-seat pricing, and nothing extra for using it through Pipecat. New accounts come with free credit, so you can build something before deciding whether you like it.
Worth saying why that number matters beyond the line item: at $15–20 an hour, real-time voice only makes sense replacing expensive human labor. At under a dollar, you stop designing around minimizing talk time. Agents that stay in the conversation, practice and role-play tools that need many hours of low-stakes dialogue, per-person rather than per-company deployments—those become viable at a price point they weren’t before.
A couple of honest notes
It is a community integration
In Pipecat’s taxonomy, that means we build and maintain it, and Pipecat doesn’t test or officially support it. Issues and requests go to our repo, not theirs.
Modeled on the OpenAI Realtime API, not identical to it
Turn detection uses a compatible configuration, but the two aren’t identical everywhere: session updates, reconnection, tool configuration, and output modality handling differ in places. That’s exactly why this package exists, so you don’t have to work those differences out yourself. If you hit one we haven’t handled well, open an issue.
Get started
Integration guide and examples
Setup, the complete constructor reference, a browser example, and where to file issues.
pipecat-boson repoThe package
pipecat-boson on PyPI: releases and installation metadata.
pipecat-boson on PyPIPipecat service reference
BosonRealtimeLLMService in Pipecat's own docs, alongside the other Realtime LLM services.
BosonRealtimeLLMService referenceHiggs Realtime API docs and keys
The API the service talks to, and where to create the key it needs.
Higgs Realtime API docsIf you build something with Higgs Realtime, let us know: contact@boson.ai.