Skip to main content
Every score the API returns is a number between 0 and 100, where higher means the model is more certain. There are two families:
  • Frame-level probability scores — well-calibrated probabilities sampled on a regular time axis, describing what is happening in the audio at each instant.
  • Confidence scores — how certain the model is about a speaker assignment, per turn.

Which scores are available

All of these work the same way on diarize and identify.

Frame-level probability scores

The three probability scores answer three different questions about the same moment in time:
  • speechProbability — is anyone speaking?
  • crosstalkProbability — is more than one person speaking?
  • speakerProbability — is this particular speaker speaking?
Each is a boolean request parameter, defaulting to false. Each returns an object with a score and a resolution:
Example output
  • score — for speechProbability and crosstalkProbability, an array of values between 0 and 100. For speakerProbability, an object keyed by speaker label, each holding such an array.
  • resolution — seconds per sample. Fixed at 0.02 (20ms).
All three share the same frame axis, so index i refers to the same 20ms window in every score. To convert an index to a timestamp, multiply by the resolution: sample i starts at i * resolution seconds.
On identification jobs, speakerProbability is always keyed by diarization labels (SPEAKER_00, SPEAKER_01, …) — never by the voiceprint or target name. Use the identification array to map a diarization label to a matched name.

Example request

output_scores.py

What to use the scores for

The scores exist so the decision can belong to your product logic rather than to the model.
  • Building high-quality voiceprints — keep only segments above a speakerProbability or turnLevelConfidence threshold, trading recall for precision.
  • Routing to human review — flag segments below a threshold instead of reviewing a whole transcript.
  • Monitoring quality over time — track probability distributions per audio source to catch drift before it reaches your users.
  • Resolving overlap for speech-to-text — most STT engines transcribe one speaker at a time. Use speakerProbability to decide which speaker is most likely being transcribed, or let exclusive diarization do it for you.
  • Extracting clean training data — raise crosstalkSensitivity to over-detect overlap (or filter on crosstalkProbability) to remove every contaminated section.

Confidence scores

Confidence scores measure how certain the model is about a speaker assignment, rather than about acoustic activity. There are two kinds.

Turn-level confidence

Add "turnLevelConfidence": true to your request. Each diarization segment gains a confidence object, keyed by speaker, giving the confidence of that speaker assignment:

Identification confidence

Identification confidence is specific to speaker identification and shows how well each voiceprint matches each speaker. It is included automatically when using the identify endpoint — no parameter required.
Identification confidence scores are different from diarization confidence scores. They measure how well a voiceprint matches a speaker, not how certain the diarization model is about the speaker assignment.