Skip to content
All products
LiveREST

Hear

Hear - speech-to-text (STT), telephony-native.

Hear is PyAI's speech-to-text (STT) API: telephony-grade transcription tuned for 8 kHz call audio, with eager streaming partials and an async batch tier. It's a drop-in OpenAI replacement - change two lines of your OpenAI client and keep your code.

Price
$0.001/min
Endpoint
POST /v1/audio/transcriptions
Scope
hear:transcribe
Model id
pyai-hear
Batch (async, -50%)$0.0005/min

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
Streaming STT, one WebSocket
// Pass the key as a WebSocket subprotocol (browser-safe).
const ws = new WebSocket(
  "wss://api.pyai.com/v1/audio/transcriptions/stream" +
    "?model=pyai-hear&encoding=pcm16&sample_rate=16000&interim_results=true",
  ["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);
};

What you get

Built for the phone

Tuned on narrowband 8 kHz call audio, so accuracy holds up where studio-trained STT falls apart.

Stream the words as they happen

Eager partials let you barge-in, endpoint, and react mid-utterance instead of waiting for the final.

Async batch for archives

Queue long recordings to the async jobs API with webhooks on completion.

Capabilities

  • Telephony 8 kHz
  • Streaming partials
  • Whisper-compatible
  • Async batch
  • Idempotent jobs
  • OpenAI drop-in

First partials in ~185 ms (in-region, revisable - stable_text follows); batch real-time factor 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 products of different things - kept separate on purpose.)

Start in minutes

cURL
curl https://api.pyai.com/v1/audio/transcriptions \
  -H "Authorization: Bearer $PYAI_KEY" \
  -F model=pyai-hear \
  -F file=@call.wav

FAQ

What is Hear?

Hear is PyAI's speech-to-text (STT) API. It transcribes audio - especially 8 kHz telephone audio - into text, with both batch (file upload) and realtime streaming modes. It speaks the OpenAI transcription contract, so it's a drop-in replacement for OpenAI Whisper.

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), returning partial results as the caller speaks and a final result per utterance - so you can barge-in and endpoint mid-turn instead of waiting for the clip to finish.

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.

Start free with $50.00 in credit - no card. Your test key works instantly.

No credit card - OpenAI-compatible - cancel anytime