Speech routing
Recognition routing by endpoint
Section titled “Recognition routing by endpoint”Selecting the same language on different endpoints does not select the same finalization path. Use this table with each endpoint’s configuration and error handling.
| Endpoint and selection | Partials | Final text |
|---|---|---|
gpu-asr (realtime), every locale |
Realtime recognition | A final at each pause (about 1 s after the speaker stops) and on commit; zh, fr, nl, ja, ko, ar, it finals get a second accuracy pass |
gpu-live (live captions), en, hi, es, fr (auto or pinned) and pinned de, pt, ru, ar, zh, ja, ko, it, nl, vi |
Realtime recognition | A final at each pause (about 1 s after the speaker stops) |
gpu-asrhq (Hindi, Hinglish, other languages) |
No streaming partials | Batch recognition of the whole file |
gpu-transcribe (en, es, fr, de, pt, ru, it, nl) |
No streaming partials | Batch recognition of the whole file, processed in parallel parts |
On both WebSocket lanes English, Hindi, German, Spanish, French, Portuguese and Russian finals carry spoken numbers as digits; in other languages numbers may remain words. About 2 % of finals wait several seconds instead of about 1 s. Do not treat one endpoint’s latency, timeout or concurrency result as a guarantee for another.
When a lane is busy
Section titled “When a lane is busy”Capacity is shared by every caller; it is not reserved per partner.
| Lane | When it is full | What it does not guarantee |
|---|---|---|
gpu-asr + gpu-live |
a new session gets busy and close 1013 at once; retry with back-off |
Reserved sessions per partner, or low-latency finals for every session at once |
gpu-asrhq |
503 busy with Retry-After: 1 |
Immediate processing of every request |
gpu-tts / gpu-voice |
requests queue; 503 when busy or briefly unavailable |
Immediate generation for every request |
Sessions have no time limit. Partial captions can remain responsive while finals are delayed. Request admission, successful completion and transcript accuracy are three separate checks.
For a class or meeting, count active speakers, not attendees: one caption connection per speaker can be shared with every listener of that room. Before a large event, agree the expected number of speakers, languages and an acceptable caption delay with your ollalink contact. Keep partial captions visible, handle errors, close unused sessions and use bounded retries with back-off.
Translating captions (live translation)
Section titled “Translating captions (live translation)”Live captions arrive in the speaker’s language. For live translation, take the finals from gpu-live or gpu-asr,
translate each finalized utterance with POST /v1/translate (any of the 14 languages or Tamil, any direction;
"stream": true so words appear within about a second), render the captions, and optionally send the translated text to
text-to-speech in English, Spanish, French, German, Brazilian Portuguese or Hindi.
Preserve raw transcripts and check decimal precision, identifiers, actions and negation in important instructions. A numeric match does not certify the full instruction. See Hindi and Hinglish.
