Feature guide
Speaker diarization and word timestamps
Attach who-spoke-when metadata to the sealed transcript. The decoration lanes receive the final text and audio, then map speaker labels and acoustic word boundaries without changing a single transcript word.
Request diarization
curl https://api.omi.health/v1/audio/transcriptions \
-H "Authorization: Bearer $OMI_API_KEY" \
-F [email protected] \
-F model=omi-medical-1 \
-F language=en \
-F response_format=verbose_json \
-F diarize=trueUse response_format=verbose_json and diarize=true. Async job JSON accepts the same Boolean plus max_speakers from 1 through 4. On the synchronous endpoint, the current preview uses the service default speaker maximum.
Response shape
{
"text": "Where does it hurt? My chest, mostly.",
"segments": [
{"id":"seg_0001","speaker":"A","text":"Where does it hurt?","start":0.32,"end":1.44},
{"id":"seg_0002","speaker":"B","text":"My chest, mostly.","start":1.76,"end":2.93}
],
"words": [
{"word":"Where","start":0.32,"end":0.58,"speaker":"A"},
{"word":"My","start":1.76,"end":1.91,"speaker":"B"}
],
"speakers": [{"speaker":"A"},{"speaker":"B"}]
}| Field | Meaning |
|---|---|
segments[].speaker | Anonymous session-local label on a text segment. |
words[].speaker | Speaker mapped to an acoustic word boundary when available. |
start / end | Seconds from the start of the input audio. |
Important semantics
- Speaker labels such as A and B identify clusters within one recording; they are not names or inferred clinical roles.
- Word timestamps are acoustic boundaries and may not exactly match subtitle-style display timing.
- Very short interjections, overlapping speech, strong reverberation, and background speech can reduce attribution quality.
- Consumers should tolerate an unattributed word or speaker transition near overlap.
- Use the same speaker label only within the response that produced it; labels are not stable identities across jobs.
Zero text mutation is a product invariant
Diarization, word alignment, and speaker reconciliation are decoration lanes. They can fail explicitly, but they cannot rewrite the sealed
text field.