STT Playground
Picking a speech-to-text vendor for a voice agent is a transcription-quality decision, and it is hard to make blind. The STT Playground lets you try a short clip against every speech-to-text vendor Orbit recognises — from the dashboard, with no API integration — and read each vendor’s transcript, confidence, and latency side by side before you commit one to an agent. Open it under Voice → STT Playground in the dashboard. It is gated to theowner, admin, and developer roles because each comparison run invokes
metered upstream transcription calls.
What it compares
Each run sends your clip to every catalogued STT vendor independently and returns one row per vendor:
Vendors are compared in parallel. If one vendor fails — bad credentials, an
upstream outage — it gets its own error row and the rest of the comparison
still comes back. One bad vendor never sinks the run.
Honest availability
Today, Deepgram is the vendor with a provisioned batch transcription path. The other catalogued vendors — Soniox, Speechmatics, AssemblyAI, and xAI — are recognised by Orbit and appear in the comparison, but are not yet provisioned. They show as “Not yet available” rather than a fabricated result. That honesty is deliberate: the playground shows you the same availability the per-agent STT picker sees, so the comparison never promises a vendor you cannot actually wire. A vendor’s status flips toAvailable on its own once its
upstream credentials are provisioned.
Record or upload
Two ways to get a clip in — both feed the same comparison:- Record from your microphone. Use the mic button on the page; speak the kind of prompt a caller would actually say (numbers, names, accents, background noise — whatever your agents will face).
- Upload a clip. Accepted formats are MP3, WAV, OGG, AAC, and M4A, up to 25 MB. Keep clips short and representative: one prompt, not a whole call.
Upload contract
The page calls a single endpoint, and the same contract applies if you script your own comparison:POST /api/v1/voice/stt-preview
multipart/form-datawith onefilefield holding the audio clip.- Optional
vendorsform field: a comma-separated list of vendor ids to restrict the run (for exampledeepgram). Omit it to compare every catalogued vendor. - Auth: an API key or session token with the
voice:writescope, on anowner,admin, ordeveloperrole. - Response:
{ results: [{ vendor, label, provisioned, transcript?, confidence?, latency_ms?, error? }] }— one entry per vendor compared.
415 when the upload is not multipart or not an accepted
audio type, 422 when no file (or an empty file) was provided, and 413 when
the clip exceeds the 25 MB limit.
Clips are sent only to the catalogued STT vendors for transcription quality
comparison. They are never used to originate any call and never touch a PSTN
leg.
Reading the comparison
Read the three numbers together rather than picking the highest single score:- Transcript first. A vendor with a slightly lower confidence score but a word-perfect transcript on your real audio beats a confident-but-wrong one. Run the same clip you expect in production — proper nouns, numbers, and noisy callers are where vendors diverge.
- Confidence as a tiebreaker. Transcript-equal vendors: prefer the higher self-reported confidence.
- Latency for the live path. For real-time agents, the latency delta between vendors on the same clip is what a caller will feel. For batch or post-call transcription it barely matters.
vendors field narrowed to a shortlist once you are converging
— uploads are cheap, and per-vendor numbers from one run are not directly
comparable to another run because each run measures the vendor fresh.
Ephemeral by design
Nothing you upload is stored. The clip lives only for the duration of the comparison request and is discarded the moment every vendor responds server- side; on the client, the browser discards the clip when you replace it, discard it, or navigate away. The comparison is recorded in your account’s audit log as metadata (filename, size, vendors compared) — never the audio.Before you wire an agent
The vendor you pick here becomes the one your agent’s transcription depends on. Use the playground as the last gate before you set it:- Compare your real audio — greetings, IVR prompts, the phrases your callers say.
- Shortlist on transcript accuracy, then confidence, then latency.
- Pick the winner in the agent’s STT settings.
Available here is
wireable in the agent config today, and a Not yet available vendor there is
just as unavailable here.
The TTS analogue
The text-to-speech counterpart already exists: a listen-back preview on the same authoring surfaces that lets you hear a voice before assigning it (POST /api/v1/voice/tts-preview behind the dashboard’s voice pickers). Use both
together — audition the TTS voice, and benchmark the STT vendor — so the agent
you wire sounds right and hears right on the first call.
See also
- IVR routing with NLU — speech intents run on the transcription layer you are choosing here.
- Voice queues — routing callers to agents once the audio pipeline is tuned.