For developers / Voice AI use cases
Live transcription
& captions
Live transcription & captions
- 01Stream audio up
- 02Render partials
- 03Move to full voice agents
Hear · Omni
An example setup to adapt to your own workflow.
Add realtime captions or live transcripts with eager partials.
A practical way to start
A few clear steps.
One useful workflow.
Connect the pieces for this use case, then test the full experience with the calls, recordings or text your users will bring.
- 01
Stream audio up
Send pcm/audio frames over the streaming transcription socket.
- 02
Render partials
Display partial results immediately; replace with finals per utterance.
- 03
Move to full voice agents
Switch to Omni when endpointing, grounded context, speech output, and tools should run in one voice loop.
Try the speech layer
Bring a recording.
Take back the words.
Choose your own audio or load the bundled synthetic sample. Transcription starts only when you choose; the request and matching code stay visible.
Upload a short audio clip and read the transcript. The code follows your settings.
Try a provided English recording
Recorded synthetic speech from Cast, supplied as input. Choose Transcribe to get a new Hear result.
WAV, MP3, M4A, FLAC, or OGG · Up to 8 MB. Audio is sent to PyAI only when you choose Transcribe.
Live demo: up to 8 requests per day.
import { readFile } from "node:fs/promises";
const filePath = "audio.wav";
const form = new FormData();
form.append("file", new Blob([await readFile(filePath)]), filePath);
form.append("model", "pyai-hear");
form.append("response_format", "json");
const response = await fetch("https://api.pyai.com/v1/audio/transcriptions", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.PYAI_API_KEY}` },
body: form,
});
if (!response.ok) throw new Error(await response.text());
console.log(await response.json());Set PYAI_API_KEY in your server environment. Put the selected file beside your script, or update its path.
Copy the code to use these settings. You can also open Playground and choose your audio there.
Open PlaygroundThe right part of the voice stack
Built around your job.
Powered by PyAI.
Explore the product behind each part of this use case, including its controls, API examples and integration requirements.
Before you take it further
A little more detail.
A clearer next step.
Start with a sandbox key and a representative input. Review the result before widening the workflow.
How does PyAI support live transcription & captions?
Open a streaming Hear connection and render partials as they arrive - ideal for live captions, agent-assist, and realtime UIs. Move to Omni when you want the full turn-taking voice agent.
What does it cost to test this use case?
Sandbox keys never bill, so you can try the product before sending funded live traffic. Live usage requires available credit and uses the rates for the products in your workflow. See current pricing and account terms before a production rollout.
Can we keep our existing application?
Yes. Hear and Speak support OpenAI-compatible request shapes. Omni uses its native realtime protocol through the official SDK. You can also configure a managed Agent visually and connect the knowledge and tools your business already uses.
How do we keep the experience useful in production?
Give the agent clear instructions and business content, connect tools for real actions, and define when it should reach a human. Test with representative calls before a wider rollout. Use Trace and Recap where the workflow needs reviewable findings, summaries and follow-up.
Put the idea into motion.
Sandbox keys never bill. Fund a live key when you go to production.