Live demo

Hear it speak. Watch it listen.

Two controls on this page, both live. The first sends your text to the speech route and plays the audio that comes back. The second records a few seconds from your microphone and shows the transcript. Nothing is faked here — if a deployment has no key for one of them, the control says so instead of pretending.

Type something, hear it back

Checking whether this deployment can speak, and how many voices it offers. The answer appears here before you press anything.

Up to 400 characters here. The route itself accepts 4,000.

The route is public and unauthenticated, so it sheds floods: twenty requests a minute per address, then a plain 429 with a Retry-After. Ask for more and you will see that answer here rather than a spinner.

Say a few words, read them back

Checking whether this deployment can turn recorded audio into text. The answer appears here before you press anything.

Transcript

Nothing recorded yet.

Whether your browser turns speech into words itself, or records and uploads instead, is checked when this page loads. The answer appears here.

Visualiser slot

The animated aura that moves with the voice mounts here. It is not wired up yet, so this page leaves the space empty rather than drawing a picture of something that does not run.

When it lands it reads the level from the same audio element the Speak control above already drives, and it paints in whatever colours the site is set to.

How the full loop runs

The two controls above are the outer legs of a three-step loop. Dropped onto a published page as a block, they run end to end with no text box at all.

Listen

Some browsers turn speech into words themselves. Where they cannot, the audio is recorded and posted to the transcription route, which is the control in the middle of this page. The line under that control tells you which one you are on.

Think

The words go to the same chat door the typed chat uses, and the agent answers in a stream. That leg is not demonstrated here, because it needs a workspace and an agent to answer as.

Speak

The reply is spoken through the speech route — the control at the top of this page. While it plays, the microphone is shut, or the agent hears itself and answers its own voice.

What each half needs

Half Runs on If the key is missing
Speaking An OpenAI key gives six named voices. Without one, the Workers AI model still speaks, in a single generic voice, and cuts the text at 500 characters. Both absent: the route answers 503 and the control above says so.
Listening An OpenAI key. There is no second provider — claiming one that is not wired would make the check on this page lie. Absent: 503, and browsers that recognise speech locally carry on regardless.

Uploads are capped at 4 MB, and both routes count against the same twenty a minute per address.

The phone number is a separate thing

A real phone number that answers in an AI voice is a different setup, with its own provider account and its own settings page. It shares no code with the two controls here. This page is the in-page loop only: your browser, our routes, nothing else in between.