Cue
Telephony-grade hearing & turn detection - bring your own LLM and voice.
Cue runs the hardest part of a realtime voice agent - hearing the caller and knowing the instant they stop talking - over one streaming WebSocket. You keep the brain and the voice: route to whichever LLM you trust and whichever TTS sounds best for your language or brand.
- Price
- $0.015/min
- Endpoint
wss://api.pyai.com/v1/audio/transcriptions/stream- Scope
hear:transcribe- Model id
pyai-hear
See the moment a turn ends
Cue streams partials while the caller talks and fires speech_final the instant they stop. Hear it transcribe live in the Playground, then send the final text to your own LLM and TTS.
Open the Playground// Cue hears the caller and tells you the moment a turn ends.
const ws = new WebSocket(
"wss://api.pyai.com/v1/audio/transcriptions/stream",
["pyai-key." + apiKey],
);
ws.onmessage = (e) => {
const f = JSON.parse(e.data); // {type, text, utterance_id, ...}
if (f.type === "speech_final") {
// turn ended -> send f.text to YOUR LLM, then YOUR TTS for the voice
}
};We do the hard part. You keep the voice.
Cue takes the telephony parts that are genuinely hard - hearing the caller, detecting the end of a turn, grounding in your knowledge - and hands you clean text and context. You keep the LLM you trust and the TTS that sounds best for your language or brand.
Cue handles this
The hard realtime part
context
Stays yours
The brain & the voice
What you get
Keep the voice that fits your language
Some TTS engines are simply better in Hindi, Arabic, Japanese, or Spanish; Cue lets you keep yours instead of settling for a packaged agent's voice.
We do the hard realtime part
Cue's eager turn detection is tuned on 8 kHz call audio, so your agent replies the moment the caller stops speaking.
One clean meter
Turn detection and knowledge-base grounding bill as a single per-minute line, not a separate retrieval charge.
Capabilities
- Telephony turn detection (8 kHz)
- Eager endpointing
- Streaming
- BYO-LLM
- BYO-TTS · any language
- KB grounding (live)
Realtime streaming with eager turn detection and inline knowledge-base grounding - you add your own LLM and TTS for the reply.
Start in minutes
// Cue hears the caller and tells you the moment a turn ends.
const ws = new WebSocket(
"wss://api.pyai.com/v1/audio/transcriptions/stream",
["pyai-key." + apiKey],
);
ws.onmessage = (e) => {
const f = JSON.parse(e.data); // {type, text, utterance_id, ...}
if (f.type === "speech_final") {
// turn ended -> send f.text to YOUR LLM, then YOUR TTS for the voice
}
};FAQ
Why use Cue instead of Omni?
Omni is one model that hears, thinks, and speaks end to end. Choose Cue when you want to keep your own LLM and TTS - for example a voice engine that's strongest in your language, or a fine-tuned brand voice - but still want PyAI's telephony-grade turn detection.
Can I use any TTS provider?
Yes. Cue returns transcripts and end-of-turn signals; you send the text to whichever LLM and TTS you run. Pick the voice that sounds best for your market or brand - Cue never locks you into one.
Is knowledge-base grounding available?
Turn detection and knowledge-base grounding are live: the right context is retrieved inline as the caller speaks, billed as one Cue session and per-minute meter.
What does it cost?
Cue is billed as a single per-minute meter for the streaming turn-detection session. You pay your own LLM and TTS providers separately. Check our pricing page for current rates.
How do I connect?
Open a WebSocket to wss://api.pyai.com/v1/audio/transcriptions/stream with your PyAI key and stream caller audio up; you receive partial, final, and end-of-turn frames as turns complete.
Build with Cue today.
Start free with $50.00 in credit - no card. Your test key works instantly.
No credit card - OpenAI-compatible - cancel anytime