Feature guide

Languages

Omi Medical STT is an English-first medical speech model. Set a known language for the lowest latency, or opt in to per-utterance detection across the eight supported language families.

English is the medically evaluated language

English is benchmarked and medically evaluated. Spanish, Portuguese, French, German, Dutch, Arabic, and Hindi were included in training and are available for testing and evaluation. They have not been medically evaluated and should not be relied on for medical accuracy.

Supported language families

LanguageFamilyAccepted examplesMedical evaluation
Englishenen-AU, en-GB, en-USBenchmarked
Spanisheses-ES, es-MX, es-419Testing only
Portugueseptpt-BR, pt-PTTesting only
Frenchfrfr-FR, fr-CATesting only
Germandede-DE, de-ATTesting only
Dutchnlnl-NL, nl-BETesting only
Arabicarar-SA, ar-AETesting only
Hindihihi-INTesting only

Regional BCP-47 tags are accepted and preserved in verbose audit metadata.

Three language modes

RequestBehaviorWhen to use
language=es-MXTranscribes using the supported language you name.You know the recording language. Lowest latency and simplest audit.
language=autoDetects every closed utterance and groups consecutive same-language utterances.A conversation may switch among supported languages.
language omittedDetects the dominant language from the first speech-bearing window, then routes the full recording.Ordinary monolingual audio when the caller does not know the language.

Feature availability by language

Transcription and vocabulary are separate from acoustic word alignment. All eight supported families can return real acoustic speaker intervals. The resident forced aligner currently covers five families, so Dutch, Arabic, and Hindi return segment speakers without guessed word ownership.

LanguageTranscriptionVocabularySegment speakersWord timing
en / es / pt / fr / deYesYesYesYes
nl / ar / hiYesYesYesNo — speaker_segments only

Inspect speaker_timing.word_timing in a verbose response. When it is false, usespeaker_segments for acoustic speaker intervals; the transcript text remains authoritative.

Automatic per-utterance detection

curl https://api.omi.health/v1/audio/transcriptions \
  -H "Authorization: Bearer $OMI_API_KEY" \
  -F [email protected] \
  -F model=omi-medical-1 \
  -F language=auto \
  --form-string 'language_hints=["en","es-MX","pt-BR"]' \
  -F response_format=verbose_json

language_hints is optional. It accepts 1–8 unique candidate tags and can reduce ambiguity when you know the likely languages. Without hints, all eight supported families are candidates.

{
  "text": "Good morning. Buenos días.",
  "language": "mixed",
  "language_detection": {
    "mode": "per_utterance",
    "candidates": ["en", "es", "pt"],
    "languages": ["en", "es"],
    "utterances": 2,
    "fallbacks": 0
  },
  "segments": [
    {"text":"Good morning.","language":"en"},
    {"text":"Buenos días.","language":"es"}
  ]
}
  • Very short utterances are joined to nearby context for detection while transcript boundaries stay intact.
  • A language change inside one uninterrupted utterance follows the dominant detected language.
  • Token-level code switching and translation are outside V1.
  • A detected language outside the candidate set fails explicitly; Omi never silently falls back to English.

Availability

SurfaceExplicit languagelanguage=auto
Short inline transcriptionEvery planEvery plan
Long-audio transcriptionEvery planPro/Enterprise or named evaluation account
RealtimePrivate pilotPrivate pilot

Automatic detection on long batch jobs is a Pro/Enterprise feature and may also be enabled for named evaluation accounts.

No calibrated language confidence

Automatic detection does not expose a calibrated confidence score. Verbose responses report the selected languages, not a probability that could be mistaken for a clinical certainty.

Omitted and explicit auto are different

Omission is a bounded monolingual safety path and returnslanguage_source: "detected" withlanguage_detection.mode: "dominant_probe". Explicit language=auto requests full per-utterance routing and may include language_hints.