Providers
Flux
Deepgram speech-to-text: Flux, with every setting it accepts, the allowed value and the default.
Deepgram's turn-detecting transcribers: flux-general-en for English and flux-general-multi for multilingual calls. Flux judges the end of a turn semantically rather than waiting for silence, which makes turn-taking feel quicker than Nova at comparable settings.
Reached through the LiveKit Inference gateway.
Deepgram has two transcriber families and they take different settings, so each family has its own page. Check the model on your transcriber before tuning.
Settings#
Every setting is optional. Leave one out and OnCore sends nothing for it, so the Default applies. If invalid is what the provider does with a value it does not accept.
| Setting | Type | Allowed | Default | If invalid |
|---|---|---|---|---|
eotThreshold | number | 0.5 to 0.9 | Provider's own | Refused, call fails |
eagerEotThreshold | number | 0.3 to 0.9 | 0.5 | Refused, call fails |
eotTimeoutMs | integer (ms) | 0 or greater | Provider's own | Refused, call fails |
keyterm | string or array | terms to bias recognition toward | Provider's own | Used as sent |
mipOptOut | boolean | true or false | false | Used as sent |
tags | string or array | labels attached to the session | Provider's own | Used as sent |
sampleRate | integer (Hz) | a rate the provider supports | Provider's own | Refused, call fails |
Overriding on a single call#
Return this from your assistant-request webhook to change these settings for one call only. The stored transcriber is left untouched, and the next call starts from it again.
{
"data": {
"overrides": {
"transcriber": {
"settings": {
"eotThreshold": 0.7,
"eagerEotThreshold": 0.5,
"eotTimeoutMs": 5000,
"keyterm": [
"Sadie",
"reservation"
],
"mipOptOut": false,
"tags": [
"support-line"
],
"sampleRate": 16000
}
}
}
}
}Send only the keys you want to change: anything you leave out keeps the value the assistant already has. Add "id" beside "settings" to swap the whole transcriber for another one from your catalogue at the same time.
Both Flux models take exactly this set, which is why they share a page. They differ only in language: flux-general-en is English, and flux-general-multi covers English, Spanish, French, German, Hindi, Russian, Portuguese, Japanese, Italian and Dutch, and additionally accepts a languageHint array naming the languages you expect on the call. See multi-language calls.
Flux does its own semantic end-of-turn detection rather than waiting on silence, which is why it takes confidence thresholds instead of Nova's endpointing. A Nova key on a Flux transcriber is ignored, and the reverse is also true.
detectLanguage appears in Deepgram's own Flux documentation, but this model detects the language on its own, so setting it changes nothing. Set language instead.
Next steps#
- Nova 3, Nova 3 Medical and Nova 2: the previous Deepgram model.
- AssemblyAI: speech-to-text from AssemblyAI.
- Providers introduction: per-call overrides, and how a wrong value behaves across providers.