Skip to content

For developers / Voice AI use cases

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.
Words on screen as they're spoken.
A workflow plan

Live transcription & captions

  1. 01Stream audio up
  2. 02Render partials
  3. 03Move to full voice agents

Hear · Omni
An example setup to adapt to your own workflow.

What you are building toward

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.

  1. 01

    Stream audio up

    Send pcm/audio frames over the streaming transcription socket.

  2. 02

    Render partials

    Display partial results immediately; replace with finals per utterance.

  3. 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.

Try your audio. Take the code.

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.

No signup

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 Playground

The 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.