Speech-to-text for phone audio.
Hear is PyAI's multilingual speech-to-text API: tuned for 8 kHz call audio, first partials in about 200 ms in-region (revisable), and an OpenAI-compatible drop-in. On English finals you can turn on cleanup (digits, punctuation, filler drop, per-call vocabulary) without rewriting the live partials.
- Price
- $0.001/min
- Endpoint
POST /v1/audio/transcriptions- Scope
hear:transcribe- Model id
pyai-hear
Hear it transcribe a real call
Drop a call recording in the Playground and watch Hear split the speakers and build a searchable transcript. No signup.
Transcribe a call in the Playground// Pass the key as a WebSocket subprotocol (browser-safe).
const ws = new WebSocket(
"wss://api.pyai.com/v1/audio/transcriptions/stream" +
"?protocol=pyai-hear-v1&model=pyai-hear&encoding=pcm16&sample_rate=16000&interim_results=true",
["pyai.v1", "pyai-key." + apiKey],
);
ws.onmessage = (e) => {
const f = JSON.parse(e.data); // bare JSON frames
if (f.type === "partial" || f.type === "partial_stable") render(f.text);
else if (f.type === "speech_final" || f.type === "final") commit(f.text);
};Start in minutes
curl https://api.pyai.com/v1/audio/transcriptions \
-H "Authorization: Bearer $PYAI_KEY" \
-F model=pyai-hear \
-F file=@call.wavSpeaker diarization: know who said what
Turn recorded conversations into speaker-labelled transcripts with PyAI Hear.
Use Hear async transcription jobs for speaker diarization on mono audio, or preserve separate participants in dual-channel recordings. Speaker labels help you review conversations and prepare transcripts for call analysis.
Language support
Hear across every supported language
Use one PyAI product surface across the language your customers speak.
English
English
Explore Hear
Español
Spanish
Explore Hear
Français
French
Explore Hear
हिन्दी
Hindi
Explore Hear
Deutsch
German
Explore Hear
Italiano
Italian
Explore Hear
Português
Portuguese
Explore Hear
Nederlands
Dutch
Explore Hear
Kreyòl ayisyen
Haitian Creole
Explore Hear
普通话
Mandarin Chinese
Explore Hear
العربية
Arabic
Explore Hear
What you get
Built for the phone
Tuned on narrowband 8 kHz call audio, so names and digits hold up on the line noise and codecs studio STT was never trained on.
Partials stay raw. Finals can clean up.
Live partials stay fast and revisable. On English finals, opt in to numerals, sentence punctuation, spoken dictation, filler drop, and a per-call vocabulary. Fail-open: a miss returns the unformatted text.
Replace Deepgram in an afternoon
Point your existing OpenAI client at https://api.pyai.com/v1. Same request shape, one-line base URL change.
Capabilities
- Telephony 8 kHz
- Eight sync/streaming languages
- Streaming partials ~200 ms
- Final-text cleanup
- OpenAI-compatible
- Speaker diarization (async)
- Async batch
- OpenAI drop-in
First partials in ~200 ms in-region. They are revisable and stable_text follows. Batch real-time factor is 92-247x. Streaming STT runs over a WebSocket so you transcribe live call audio as it arrives. First-partial latency and batch throughput are different metrics.
FAQ
Does PyAI support speaker diarization?
Yes. Hear async transcription jobs support speaker diarization for mono recordings with diarize: true. For recordings with one participant on each stereo channel, use channel: true instead. Results include speaker-labelled segments and timestamps. Labels identify speakers within a recording, not verified identities or agent/customer roles. Check that the returned segments contain speaker labels before relying on them.
What is Hear?
Hear is PyAI's speech-to-text API. It transcribes 8 kHz telephone audio in batch or realtime, speaks the OpenAI transcription contract, and can clean English finals (digits, punctuation, fillers, vocabulary) without touching the live partials.
How much does Hear STT cost?
You pay only for audio transcribed, billed per minute - no seats, no platform fee, no minimums. Check our pricing page for the latest rates.
How do I migrate from OpenAI Whisper?
Change two lines: point your existing OpenAI SDK at https://api.pyai.com/v1 and pass your PyAI key. The request and response shapes match, so the rest of your code is unchanged.
Does Hear stream?
Yes. Realtime STT runs over a WebSocket (GET /v1/audio/transcriptions/stream?protocol=pyai-hear-v1), returning partial results as the caller speaks and a final result per utterance.
When is Hear the right fit?
Hear is built for phone calls. If you transcribe narrowband 8 kHz call audio - IVR, contact-center, voicemail, real-time agents - Hear is tuned for it where studio-trained STT degrades. For long recordings you don't need instantly, the async batch tier halves the cost.
Is it accurate on bad phone lines?
Hear is trained on real narrowband call audio rather than clean studio takes, so the accuracy holds up on the 8 kHz lines and codecs that real telephony actually uses.
Build with Hear today.
An instant sandbox key lets you test without billing. Create an account when you want saved projects, and fund a live key for production traffic.