Overview
The API returns a single JSON object describing per‑phoneme scoring, edits, and prosody.Top‑level fields
language,dialect: Language settings used during analysis (e.g.,language: "en",dialect: "en-us").match_score_mode: Scoring style used formatch_score_pct.lenientis the default and gives near-matches some credit.strictonly gives credit for accepted matches.model: Optional public model selector. Sendaurora-1for multilingual adult speech,nova-1for early-childhood speech, or leave it unset for standard English analysis. The response phone predictions andtopkvalues follow the selected analysis mode.reference_text: Text used for alignment. If you supplytext, this is that value; otherwise it is the auto‑transcription.reference_phones: IPA phone sequence derived from the reference (array of tokens).predicted_phones: IPA phone sequence predicted from the audio (array of tokens).audio:{ duration_sec }for the analyzed clip.audio_duration_sec: Audio duration in seconds (top-level convenience alias).pause_threshold_sec: Minimum gap size (seconds) used to count a pause.pauses: List of detected pause spans from model phone timings.pause_metrics: Aggregate pause statistics for the utterance.speech_rate_wpm: Words per minute including silence.articulation_rate_wpm: Words per minute excluding detected silence.rate_metrics: Expanded speaking-rate object with word count and speaking-time details.summary: Aggregate accuracy metrics and counts.word_groups: Intended/reference words used for pronunciation scoring, with canonical IPA, aligned phones, and summaries.
recording_quality: Preview signal-quality measurements and recommended result handling. It does not change pronunciation scores or grades. See Recording quality.transcription: Auto-transcribed text with word timings, timestamped surface-phone observations, and, in verbatim mode, normalized speech events. See Transcription modes.pronunciation_lattice: Pronunciation selection metadata (whenpronunciation_debug=true).proficiency_metrics: Fluency, prosody, and intelligibility scores (whenenable_proficiency_metrics=true).
Recording quality
The optional top-levelrecording_quality preview describes whether noise,
speech level, clipping, or reverberation may make the pronunciation result less
reliable. It includes:
status:good,marginal,poor, orunknown;score_action:use_result,confirm_negative, orretry_recording;metrics: estimated SNR, speech and noise levels, clipping, duration, and experimental reverberation risk;reasons: stable machine-readable reason codes;recommendation: a stable instruction code and whether a retry is recommended;gate_applied: alwaysfalseduring the preview.
Summary object
avg_match_score_pct: Mean match score across phones.total_phones: Number of target phones included in the summary.matches: Count of phones gradedmatch.num_insertions: Count of inserted phones.num_deletions: Count of deleted phones.num_substitutions: Count of substituted phones.
Word groups
Each entry inword_groups includes:
index: Zero‑based word index.text: Word text from the reference.ipa: IPA phone sequence for that word (array of tokens).syllables: Written syllable chunks and their canonical-phone spans. Supported requests can also include preview lexical-stress metadata. See Lexical stress.phones: Phone entries belonging to the word.insertions: Extra predicted phones aligned within this word’s span that do not appear in the reference for that word.summary: Per‑word aggregates.prosody: Word‑level pitch and stress contours (whenenable_prosody_contours=true).
acceptable_pronunciations: Candidate pronunciations.selected_pronunciation: Chosen pronunciation.selected_pronunciation_index: Index intoacceptable_pronunciations.
insertions contains:
predicted: The predicted phone.position:beforeorafterrelative toword_phone_index.word_phone_index: Index within this word’sipa/phonesthe insertion anchors to (ornull).word_phone_insert_index: Index where the insertion should be placed inside the word’sipaarray.predicted_index: Index into the utterance‑levelpredicted_phonessequence for this inserted phone.word_phone: The anchor phone token from the word’s IPA (ornull).timestamp_ms:{ start, end }boundaries for the inserted phone in milliseconds; either value can benullwhen no reliable boundary is available.
Phone entries
Each phone entry contains:index: Zero‑based phone index in the utterance.target: Expected IPA phone.predicted: Predicted IPA phone.timestamp_ms:{ start, end }in milliseconds.match_score_pct: Match score between target and predicted phones. Inlenientmode, near-matches can still receive partial credit. Instrictmode, substitutions score0and accepted matches score100.grade:match,substitute, ordelete.
predicted is null. match_score_pct is nullable, so clients should handle null values.
Optional:
topk: The model’s top alternative guesses for that phone, with aconfidence_pctfor each option.functional_load: Priority metadata for substituted phones when the error can affect meaning or involves an important phoneme contrast. See Functional load.
Prosody
Word‑level prosody appears on eachword_groups[i].prosody (when enable_prosody_contours=true):
pitch_contour_hz: Frame‑level pitch contour (Hz) across the word span, sampled every 10 ms. Unvoiced frames are0.stress_contour: Frame‑level stress values (unitless 0–1) sampled every 10 ms. Derived by normalizing log‑energy and relative pitch (semitones vs. the utterance median) and averaging them, so it is best interpreted as relative emphasis within the word, not absolute loudness.
Proficiency metrics
Returned whenenable_proficiency_metrics=true. Evaluates the speech audio holistically.
Set enable_proficiency_metrics=true in the analyze request (form field or JSON body) to include this object.
Pause metrics
audio_duration_sec: Clip duration in seconds.pause_threshold_sec: Minimum duration required for a silence gap to be counted as a pause.pauses[].start: Pause start time in seconds.pauses[].end: Pause end time in seconds.pauses[].duration_sec: Pause length in seconds.pause_metrics.pause_count: Number of pauses detected.pause_metrics.average_pause_duration_sec: Mean pause duration.pause_metrics.total_silence_time_sec: Sum of all detected pause durations.pause_metrics.pause_ratio:total_silence_time_sec / audio_duration_sec.
Speaking rate metrics
speech_rate_wpm: Words per minute including pauses/silence.articulation_rate_wpm: Words per minute excluding detected pause time.rate_metrics.word_count: Words used for the rate calculation.rate_metrics.speaking_time_sec:audio_duration_sec - total_silence_time_sec.
fluency, prosody, and intelligibility contains:
value: Score out of 100.note: Short English explanation of the score.
Notes
pitch_contour_hzincludes values for every frame and is not voiced‑masked.- Per‑word stress is normalized within each word, so values are relative rather than absolute.
