Live demo

Tap once. Talk like a person.

Click the orb to start. It listens, the agent answers, then it listens again — as many turns as you want, no extra taps. Click once more to hang up. The microphone is off while the agent speaks, so it never answers itself. It is not a live call.

Voice orb

Loading the voice orb…

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.

How the full loop runs

The orb at the top is the three-step loop, end to end, with no text box. The orb at the top is the three-step loop, end to end, with no text box. The two controls below the orb are the outer legs in isolation — same public routes, so a missing key shows up as a status line instead of a silent orb.

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.