Whisper vs Web Speech API for booking voice
Typelessity transcribes booking voice on its server, first with Whisper, now with gpt-4o-mini-transcribe, not in the browser. What it does and does not do.
Typelessity transcribes booking voice input on its own server, not with the browser's Web Speech API. It started on OpenAI Whisper and today calls OpenAI gpt-4o-mini-transcribe. The widget records the user, sends the recording once when they stop, and feeds the transcript into the same extraction step as typed text. We have not measured transcription latency or accuracy on the current model, so this post quotes neither.
The Web Speech API ships in Chromium browsers and costs the site nothing at the point of use. Typelessity does not use it for voice booking: voice goes to Typelessity's API, which calls an OpenAI speech-to-text model and pays for each request.
What is the Web Speech API and what is Whisper?
The Web Speech API is a browser interface (SpeechRecognition) to the browser's own speech recognizer. In Chrome the audio is sent to a server-based recognition engine, so it does not work offline. It takes a language tag and returns a transcript with a confidence score per result; the current spec also adds a phrases list for contextual biasing.
Whisper is OpenAI's multilingual speech-to-text model, trained on 680,000 hours of multilingual audio and available through OpenAI's API. gpt-4o-mini-transcribe is a newer OpenAI speech-to-text model on the same API, and it is what Typelessity calls today.
Bottom line: the Web Speech API gives you the browser's recognizer; a speech-to-text API gives you one model you choose, the same in every browser that can record audio.
How does Typelessity handle voice input today?
- Recording. The widget records with the browser's
MediaRecorder. The audio stays in the browser while the user speaks. - One upload. When the user stops — or after two minutes — the widget sends the whole recording once to Typelessity's API. Nothing is sent while the user is still speaking.
- Transcription. The API calls OpenAI
gpt-4o-mini-transcribewith one fixed prompt: "Form data. Preserve email indicators as spoken words. Keep natural speech patterns." The prompt is the same for every business and carries no names or domain terms. The widget sends no language hint, so the transcription model works out the spoken language itself. - Extraction. The transcript enters the same extraction step as typed text — see Replacing a booking form with one GPT call.
The audio is not saved; it exists only while it is being transcribed. While transcription runs, the widget shows the same typing indicator it shows for any turn. There is no fallback to the Web Speech API, and our transcription call returns no confidence score, so the widget cannot flag an uncertain word. The review screen, where the user sees every field before confirming, is where a misheard name gets caught.
Bottom line: one recording, one transcription call, one extraction path for voice and text.
What does this path cost in time?
We have not measured transcription latency on the current model, so we do not quote a number. Voice adds one step before the conversation turn: the upload and the transcription call. The latency target the rest of the booking flow is designed for is in A one-second latency target for AI booking — a target, not a measurement.
Direct comparison summary
Web Speech API vs Typelessity's current voice path, on what is documented or in our code:
- Where recognition runs → Web Speech: the browser's recognizer (in Chrome, a server-based engine). Typelessity: OpenAI gpt-4o-mini-transcribe, called from our API.
- Vocabulary biasing → Web Speech: a
phraseslist in the current spec. Typelessity: none — one fixed prompt for every business. - Confidence per result → Web Speech: yes. Typelessity: not returned by our transcription call.
- Cost at the point of use → Web Speech: free to the site. Typelessity: a paid API call that we cover.
- Hosting → Typelessity is hosted only; there is no on-premise or self-hosted build.
- Latency and accuracy on booking input → not measured by us for either.
When would Typelessity reconsider the Web Speech API?
This post used to say: when the Web Speech API gains vocabulary biasing and per-result confidence. The spec now has both. What we have not done is compare it with our current path on real booking input, and until we do, we make no claim that one is more accurate than the other.
A separate option is whisper-large-v3-turbo self-hosted on a GPU. Typelessity does not offer it: there is no on-premise or self-hosted build.
When the wrong booking is more expensive than a slow one
A booking made with the wrong name produces a phone call from a confused receptionist. The cost is human time, customer trust, and the credibility of the entire conversational booking surface. A booking that takes longer to transcribe produces a slightly delayed confirmation. The cost is patience.
The user-facing rule: optimize for correctness, not speed, when the cost of a mistake is a phone call from a confused receptionist. In Typelessity today that rule is the review step: the user sees every field before the booking is sent.
FAQ
What is the difference between Whisper and the Web Speech API for booking voice input? Whisper is OpenAI's server-side multilingual speech-to-text model; the Web Speech API is the browser's own recognizer. Typelessity started on Whisper and now uses OpenAI gpt-4o-mini-transcribe, not the Web Speech API.
How does Typelessity transcribe voice today? One recording, sent when the user stops, transcribed by OpenAI gpt-4o-mini-transcribe with one fixed prompt, then extracted like typed text. The audio is not saved.
How long does voice transcription take? We have not measured it on the current model, so we do not quote a number.
Does Typelessity bias the transcription toward a business's vocabulary? No. The prompt is the same fixed text for every business.
Would Typelessity use the Web Speech API instead?
The API now has per-result confidence and a phrases list in the spec. We have not compared it with our path on booking input, so we make no accuracy claim.
For the extraction pipeline that consumes the transcript, see Replacing a booking form with one GPT call. For the multilingual prompt, see 25 interface languages, one booking prompt. For the latency target around voice input, see A one-second latency target for AI booking.
— Alex Isa, founder of Typelessity. Also founder of Webappski and TypelessForm.
Try it free on your website
What changed in this article
Updated 2026-10-21 — what changed: this list of changes now stands at the end of the article, not at its top, and the author's name in the header links to the About page. The text of the article is otherwise unchanged.
Updated 2026-10-20 — what changed: one sentence is reworded: the transcription model works out the spoken language itself, the widget does not detect it.
Updated 2026-09-25 — what changed: Typelessity no longer transcribes with Whisper. Voice goes to OpenAI gpt-4o-mini-transcribe, and the conversation runs on OpenAI (currently gpt-5.4-mini). This post used to describe streamed audio, a fallback to the Web Speech API, a confidence prompt and per-clinic vocabulary in the transcription prompt; the widget has none of these, and the latency figures were not our measurements. The sections below now say what the code does.