> For the complete documentation index, see [llms.txt](https://api-docs.speechace.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://api-docs.speechace.com/api-reference/score-text.md).

# Score Text

{% hint style="info" %}
**Run in Postman:** [Score Text](https://docs.speechace.com/#23421587-4c6c-4a67-8575-295d50d6a55b)
{% endhint %}

The **Score Text** API scores a speaker reading a **known script aloud** — a phrase, a sentence, or a passage of up to 45 seconds. Pronunciation is always scored; fluency, lexical stress, and intonation are added on demand, and you can override the expected phonemes with markup or match the speaker against a set of choices. Everything runs through a single endpoint — the capabilities below are switched on with request parameters, not separate APIs.

For scoring a single word, letter name, letter sound, or non-word, use [Score Word](/api-reference/score-word.md). For spontaneous, open-ended speech, use [Score Speech](/api-reference/score-speech.md).

### Scoring modes

<table><thead><tr><th width="210">Mode</th><th width="243.2109375">Turn it on with</th><th>What it adds to the response</th></tr></thead><tbody><tr><td><strong>Pronunciation</strong></td><td><em>(default — always on)</em></td><td>Word, syllable, and phoneme <code>quality_score</code>, phoneme and syllable <code>stress_score</code> plus overall Pronunciation score.</td></tr><tr><td><strong>Fluency</strong></td><td><code>include_fluency=1</code></td><td>Overall Fluency score (Speechace, IELTS, PTE, TOEIC, CEFR).<br>A <code>fluency</code> node with rate, pauses, and articulation metrics, segment level metrics, plus <a href="#fidelity-detection">fidelity detection</a>.</td></tr><tr><td><strong>Intonation</strong></td><td><code>include_intonation=1</code></td><td>Pitch and intonation information in <code>word_intonation_list</code> and <code>syllable_intonation_list</code>.</td></tr><tr><td><strong>Markup language</strong></td><td><code>markup_language=arpa_mark</code></td><td>Scores against phonemes you specify inside the <code>text</code>, instead of the Speechace lexicon.</td></tr><tr><td><strong>Multiple choice</strong></td><td>A list of Newline-separated options in the <code>text</code> parameter</td><td>Matches the speaker to the closest option, then scores that option's pronunciation.</td></tr></tbody></table>

{% hint style="info" %}
Modes combine freely on one request — for example, send `include_fluency=1` **and** `include_intonation=1` to score a passage for pronunciation, fluency, stress, and intonation in a single call.
{% endhint %}

### Request Format

The endpoint you use depends on the [region](/getting-started/api-regions-and-endpoints.md) of your subscription. For example, for US West the endpoint is <https://api.speechace.co>.

`POST` [`https://api.speechace.co/api/scoring/text/v9/json`](https://api.speechace.co/api/scoring/text/v9/json)

### Query Parameters

<table><thead><tr><th width="126">Parameter</th><th width="91">Type</th><th>Description</th></tr></thead><tbody><tr><td>key</td><td>String</td><td><em>API</em> <a href="/pages/FY5QJQ5NVDkUtPtG080s"><em>key</em></a> <em>issued by Speechace.</em></td></tr><tr><td>dialect</td><td>String</td><td><p><em>This is the</em> <a href="/pages/PM2D802SgqeoWM8lrey5"><em>dialect</em></a> <em>in which the speaker will be assessed.</em></p><p><strong>Note: Not all features of the score/text API support every dialect. Applicable dialects will be explicitly mentioned.</strong></p></td></tr><tr><td>user_id</td><td>String</td><td><em><strong>Optional</strong>: A unique anonymized identifier (generated by your application) for the end-user who spoke the audio.</em></td></tr></tbody></table>

### Request Body

<table><thead><tr><th width="196">Parameter</th><th width="98">Type</th><th>Description</th></tr></thead><tbody><tr><td>text</td><td>String</td><td><em>A word, phrase, or sentence to score. This should be in the</em> <a href="/pages/PM2D802SgqeoWM8lrey5"><em>dialect</em></a> <em>chosen. For example, if <code>fr-fr</code> is the chosen dialect, then the word can be <code>Salut</code>.</em></td></tr><tr><td>user_audio_file</td><td>File</td><td><em>file with user audio (wav, mp3, m4a, webm, ogg, aiff)</em></td></tr><tr><td>question_info</td><td>String</td><td><em><strong>Optional</strong>: A unique identifier (generated by your application) for the activity or question this user audio is answering.</em></td></tr><tr><td>no_mc</td><td>String</td><td><em><strong>Optional</strong>: <code>no_mc = 1</code> to indicate the text field is not a Multiple Choice request. This is the default when <code>include_fluency = 1</code>.</em></td></tr><tr><td>include_fluency</td><td>String</td><td><em><strong>Optional:</strong></em> <code>include_fluency</code><em><code>= 1</code> to include fluency scoring in the response.</em><br><em>See this</em> <a href="#fluency-metrics"><em>guide</em></a> <em>for how to use this field.</em></td></tr><tr><td>include_intonation</td><td>String</td><td><em><strong>Optional:</strong></em> <code>include_intonation</code><em><code>= 1</code> to include intonation (pitch) scores.</em><br><em>See this</em> <a href="#intonation-metrics"><em>guide</em></a> <em>for how to use this field.</em></td></tr><tr><td>markup_language</td><td>String</td><td><p><em><strong>Optional:</strong></em> <code>markup_language = arpa_mark</code><br><em>This key signifies that the</em> <code>text</code> <em>parameter may contain markup annotations.</em></p><p><em>See this</em> <a href="/pages/wBMWk5fbhSundzSnmzHR"><em>guide</em></a> <em>for how to use this field.</em></p></td></tr><tr><td>include_unknown_words</td><td>String</td><td><p><strong>Optional:</strong> <code>include_unknown_words = 1</code></p><p><em>This key instructs Speechace to automatically infer the expected pronunciation for unknown terms, such as names, places, and other specific terminology. This ensures accurate feedback even for unfamiliar words.</em></p></td></tr><tr><td>detect_dialect</td><td>String</td><td><p><em><strong>Optional field</strong>: Possible values - 0 | 1</em></p><p><em>1: will apply language detection and warn if the majority of the response language is different from the intended scoring dialect.</em></p></td></tr></tbody></table>

### Request Examples

The examples below show each mode called against a sentence or passage. Request parameters are identical across modes — only the highlighted fields change.

<table><thead><tr><th width="200">Example</th><th width="340">Request Body Parameters</th><th>When to use</th></tr></thead><tbody><tr><td>A. Pronunciation</td><td><code>text="Some parents admire famous athletes as strong role models, so they name their children after them."</code></td><td><em>Score how clearly a read-aloud phrase, sentence, or passage is pronounced.</em></td></tr><tr><td>B. Fluency</td><td><code>text="Yes, I do. Travel today is vastly different…"</code> <em>(full passage)</em><br><code>include_fluency="1"</code></td><td><em>Score fluency together with pronunciation for a passage read aloud (up to 45 seconds).</em></td></tr><tr><td>C. Intonation</td><td><code>text="Some parents admire famous athletes as strong role models…"</code><br><code>include_intonation="1"</code></td><td><em>Add pitch and intonation metrics for the passage. (Lexical stress is returned by default.)</em></td></tr><tr><td>D. Markup</td><td><code>text="I love to [read]{r iy1 d}. Last year I [read]{r eh1 d} Anna Karenina by [Tol|stoy]{t ow1 l|s t oy2}."</code><br><code>markup_language="arpa_mark"</code></td><td><em>Prescribe the exact expected phonemes — e.g. to fix a heteronym or spell out an acronym.</em></td></tr><tr><td>E. Multiple Choice</td><td><code>text="I went to the park.\nI went to the market."</code></td><td><em>Match the speaker to the closest of several target sentences, then score that sentence.</em></td></tr></tbody></table>

{% hint style="info" %}
**Multiple choice:** the options are passed in the `text` field separated by newline (`\n`) characters. Your application should decide which option is the correct answer, compare it to the target the API matched, and surface pronunciation feedback only when the correct option was spoken.
{% endhint %}

### Markup language

When `markup_language=arpa_mark` is set, the `text` may carry markup on zero, one, or many words. Each markup has the pattern `[l1|l2|...|ln]{s1|s2|...|sn}`, where `l1..ln` are substrings of the word and `s1..sn` are the corresponding syllables; each syllable is a space-separated list of [ARPABET](/reference-data/phonetic-notation.md) phonemes, and a vowel phoneme ends in `0`, `1`, or `2` to mark its stress. Use it to:

1. **Specify exact syllable boundaries and phonemes** — `There was [noth|ing]{n ah1 th|ih0 ng} on the rock.`
2. **Disambiguate a heteronym** (same spelling, different pronunciation) — `He [read]{r eh1 d} his [frag|ments]{f r ae1 g|m ah0 n t s} aloud.`
3. **Handle acronyms, numbers, or special terms** — `Agent [0||||07]{d ah1 | b ah0 l | ow1 | s eh1 | v ah0 n} worked for MI6.`

The spoken-score interpretation is unchanged from the default mode — the only difference is that the expected phonemes come from your markup rather than the Speechace lexicon. For the full specification, see the [Markup Language guide](/reference-data/markup-language.md).

### Response Examples

{% tabs %}
{% tab title="A. Pronunciation" %}
{% code overflow="wrap" lineNumbers="true" expandable="true" %}

```json
{
  "status": "success",
  "quota_remaining": -1,
  "text_score": {
    "text": "Some parents admire famous athletes as strong role models, so they name their children after them.",
    "word_score_list": [
      {
        "word": "Some",
        "quality_score": 100,
        "quality_class": "pass",
        "phone_score_list": [
          {
            "phone": "s",
            "stress_level": null,
            "extent": [
              11,
              26
            ],
            "quality_score": 100,
            "word_extent": [
              0,
              1
            ],
            "sound_most_like": "s"
          },
          {
            "phone": "ah",
            "stress_level": 1,
            "extent": [
              26,
              32
            ],
            "quality_score": 99.5,
            "stress_score": 100,
            "predicted_stress_level": 0,
            "word_extent": [
              1,
              2
            ],
            "sound_most_like": "ah"
          },
          {
            "phone": "m",
            "stress_level": null,
            "extent": [
              32,
              41
            ],
            "quality_score": 100,
            "word_extent": [
              2,
              3
            ],
            "sound_most_like": "m"
          }
        ],
        "syllable_score_list": [
          {
            "phone_count": 3,
            "stress_level": 1,
            "letters": "some",
            "quality_score": 100,
            "stress_score": 100,
            "predicted_stress_level": 0,
            "extent": [
              11,
              41
            ]
          }
        ]
      },
      "... (15 more)"
    ],
    "ielts_score": {
      "pronunciation": 9
    },
    "pte_score": {
      "pronunciation": 90
    },
    "speechace_score": {
      "pronunciation": 99
    },
    "toeic_score": {
      "pronunciation": 200
    },
    "cefr_score": {
      "pronunciation": "C2"
    }
  },
  "version": "9.17"
}
```

{% endcode %}
{% endtab %}

{% tab title="B. Fluency" %}
{% code overflow="wrap" lineNumbers="true" expandable="true" %}

```json
{
  "status": "success",
  "quota_remaining": -1,
  "text_score": {
    "text": "Yes, I do. Travel today is vastly different than what it used to be. In the past, a traveller had little idea about what to expect when they arrived at their destination. These days, the internet connects our world in ways previous generations could only dream about. We can instantly review destination information and make travel arrangements. Also, in the past, people could only travel by land or sea and travelling was often long and unsafe.",
    "word_score_list": [
      {
        "word": "Yes",
        "quality_score": 97,
        "quality_class": "pass",
        "phone_score_list": [
          {
            "phone": "y",
            "stress_level": null,
            "extent": [
              74,
              83
            ],
            "quality_score": 97.33333333333333,
            "word_extent": [
              0,
              1
            ],
            "sound_most_like": "y"
          },
          {
            "phone": "eh",
            "stress_level": 1,
            "extent": [
              83,
              92
            ],
            "quality_score": 95.33333333333333,
            "stress_score": 100,
            "predicted_stress_level": 0,
            "word_extent": [
              1,
              2
            ],
            "sound_most_like": "eh"
          },
          {
            "phone": "s",
            "stress_level": null,
            "extent": [
              92,
              98
            ],
            "quality_score": 99.5,
            "word_extent": [
              2,
              3
            ],
            "sound_most_like": "s"
          }
        ],
        "ending_punctuation": ",",
        "syllable_score_list": [
          {
            "phone_count": 3,
            "stress_level": 1,
            "letters": "yes",
            "quality_score": 97,
            "stress_score": 100,
            "predicted_stress_level": 0,
            "extent": [
              74,
              98
            ]
          }
        ]
      },
      "... (75 more)"
    ],
    "ielts_score": {
      "pronunciation": 8.5,
      "fluency": 9
    },
    "pte_score": {
      "pronunciation": 90,
      "fluency": 90
    },
    "speechace_score": {
      "pronunciation": 96,
      "fluency": 98
    },
    "toeic_score": {
      "pronunciation": 190,
      "fluency": 200
    },
    "cefr_score": {
      "pronunciation": "C2",
      "fluency": "C2"
    },
    "fluency": {
      "segment_metrics_list": [
        {
          "segment": [
            0,
            3
          ],
          "duration": 0.99,
          "articulation_length": 0.66,
          "syllable_count": 3,
          "correct_syllable_count": 3,
          "correct_word_count": 3,
          "word_count": 3,
          "speech_rate": 3.0303030303030303,
          "articulation_rate": 4.545454545454545,
          "syllable_correct_per_minute": 181.8181818181818,
          "word_correct_per_minute": 181.8181818181818,
          "all_pause_count": 1,
          "all_pause_duration": 0.33,
          "mean_length_run": 0.66,
          "max_length_run": 0.66,
          "all_pause_list": [
            [
              140,
              173
            ]
          ],
          "ielts_score": {
            "pronunciation": 9,
            "fluency": 7.5
          },
          "pte_score": {
            "pronunciation": 90,
            "fluency": 79
          },
          "speechace_score": {
            "pronunciation": 98,
            "fluency": 86
          },
          "toeic_score": {
            "pronunciation": 200,
            "fluency": 170
          },
          "cefr_score": {
            "pronunciation": "C2",
            "fluency": "C1"
          }
        },
        "... (5 more)"
      ],
      "overall_metrics": {
        "segment": [
          0,
          76
        ],
        "duration": 25.59,
        "articulation_length": 21.73,
        "syllable_count": 121,
        "correct_syllable_count": 114,
        "correct_word_count": 75,
        "word_count": 76,
        "speech_rate": 4.7284095349746,
        "articulation_rate": 5.568338702254947,
        "syllable_correct_per_minute": 267.2919109026964,
        "word_correct_per_minute": 175.84994138335287,
        "all_pause_count": 10,
        "all_pause_duration": 3.86,
        "mean_length_run": 1.9754545454545454,
        "max_length_run": 4.56,
        "all_pause_list": [
          [
            140,
            206
          ],
          [
            401,
            407
          ],
          "... (8 more)"
        ]
      },
      "fluency_version": "0.10"
    }
  },
  "version": "9.17"
}
```

{% endcode %}
{% endtab %}

{% tab title="C. Intonation" %}
{% code overflow="wrap" lineNumbers="true" expandable="true" %}

```json
{
  "status": "success",
  "quota_remaining": -1,
  "text_score": {
    "text": "Some parents admire famous athletes as strong role models, so they name their children after them.",
    "word_score_list": [
      {
        "word": "Some",
        "quality_score": 100,
        "quality_class": "pass",
        "phone_score_list": [
          {
            "phone": "s",
            "stress_level": null,
            "extent": [
              11,
              26
            ],
            "quality_score": 100,
            "word_extent": [
              0,
              1
            ],
            "sound_most_like": "s"
          },
          {
            "phone": "ah",
            "stress_level": 1,
            "extent": [
              26,
              32
            ],
            "quality_score": 99.5,
            "stress_score": 100,
            "predicted_stress_level": 0,
            "word_extent": [
              1,
              2
            ],
            "sound_most_like": "ah"
          },
          {
            "phone": "m",
            "stress_level": null,
            "extent": [
              32,
              41
            ],
            "quality_score": 100,
            "word_extent": [
              2,
              3
            ],
            "sound_most_like": "m"
          }
        ],
        "syllable_score_list": [
          {
            "phone_count": 3,
            "stress_level": 1,
            "letters": "some",
            "quality_score": 100,
            "stress_score": 100,
            "intonation": [
              null,
              "RISE"
            ],
            "pitch_range": [
              474.34,
              520.71
            ],
            "predicted_stress_level": 0,
            "extent": [
              11,
              41
            ]
          }
        ]
      },
      "... (15 more)"
    ],
    "word_intonation_list": [
      {
        "word": "Some",
        "syllable_intonation_list": [
          [
            null,
            "RISE"
          ]
        ]
      },
      "... (15 more)"
    ],
    "ielts_score": {
      "pronunciation": 9
    },
    "pte_score": {
      "pronunciation": 90
    },
    "speechace_score": {
      "pronunciation": 99
    },
    "toeic_score": {
      "pronunciation": 200
    },
    "cefr_score": {
      "pronunciation": "C2"
    }
  },
  "version": "9.17"
}
```

{% endcode %}
{% endtab %}

{% tab title="D. Markup" %}
{% code overflow="wrap" lineNumbers="true" expandable="true" %}

```json
{
  "status": "success",
  "quota_remaining": -1,
  "text_score": {
    "text": "I love to read. Last year I read Anna Karenina by Tolstoy.",
    "word_score_list": [
      {
        "word": "I",
        "quality_score": 100,
        "quality_class": "pass",
        "phone_score_list": [
          {
            "phone": "ay",
            "stress_level": 1,
            "extent": [
              14,
              26
            ],
            "quality_score": 100,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "word_extent": [
              0,
              1
            ],
            "sound_most_like": "ay"
          }
        ],
        "syllable_score_list": [
          {
            "phone_count": 1,
            "stress_level": 1,
            "letters": "i",
            "quality_score": 100,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "extent": [
              14,
              26
            ]
          }
        ]
      },
      {
        "word": "love",
        "quality_score": 100,
        "quality_class": "pass",
        "phone_score_list": [
          {
            "phone": "l",
            "stress_level": null,
            "extent": [
              26,
              35
            ],
            "quality_score": 99.33333333333333,
            "word_extent": [
              0,
              1
            ],
            "sound_most_like": "l"
          },
          {
            "phone": "ah",
            "stress_level": 1,
            "extent": [
              35,
              44
            ],
            "quality_score": 100,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "word_extent": [
              1,
              2
            ],
            "sound_most_like": "ah"
          },
          {
            "phone": "v",
            "stress_level": null,
            "extent": [
              44,
              53
            ],
            "quality_score": 100,
            "word_extent": [
              2,
              4
            ],
            "sound_most_like": "v"
          }
        ],
        "syllable_score_list": [
          {
            "phone_count": 3,
            "stress_level": 1,
            "letters": "love",
            "quality_score": 100,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "extent": [
              26,
              53
            ]
          }
        ]
      },
      {
        "word": "to",
        "quality_score": 99,
        "quality_class": "pass",
        "phone_score_list": [
          {
            "phone": "t",
            "stress_level": null,
            "extent": [
              53,
              59
            ],
            "quality_score": 97.5,
            "word_extent": [
              0,
              1
            ],
            "sound_most_like": "t"
          },
          {
            "phone": "ah",
            "stress_level": 0,
            "extent": [
              59,
              62
            ],
            "quality_score": 100,
            "stress_score": 100,
            "predicted_stress_level": 0,
            "word_extent": [
              1,
              2
            ],
            "sound_most_like": "ah"
          }
        ],
        "syllable_score_list": [
          {
            "phone_count": 2,
            "stress_level": 0,
            "letters": "to",
            "quality_score": 99,
            "stress_score": 100,
            "predicted_stress_level": 0,
            "extent": [
              53,
              62
            ]
          }
        ]
      },
      {
        "word": "read",
        "quality_score": 100,
        "quality_class": "pass",
        "phone_score_list": [
          {
            "phone": "r",
            "stress_level": null,
            "extent": [
              62,
              71
            ],
            "quality_score": 100,
            "sound_most_like": "r"
          },
          {
            "phone": "iy",
            "stress_level": 1,
            "extent": [
              71,
              86
            ],
            "quality_score": 100,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "sound_most_like": "iy"
          },
          {
            "phone": "d",
            "stress_level": null,
            "extent": [
              86,
              98
            ],
            "quality_score": 100,
            "sound_most_like": "d"
          }
        ],
        "ending_punctuation": ".",
        "syllable_score_list": [
          {
            "phone_count": 3,
            "stress_level": 1,
            "letters": "read",
            "quality_score": 100,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "extent": [
              62,
              98
            ]
          }
        ]
      },
      {
        "word": "Last",
        "quality_score": 100,
        "quality_class": "pass",
        "phone_score_list": [
          {
            "phone": "l",
            "stress_level": null,
            "extent": [
              149,
              158
            ],
            "quality_score": 100,
            "word_extent": [
              0,
              1
            ],
            "sound_most_like": "l"
          },
          {
            "phone": "ae",
            "stress_level": 1,
            "extent": [
              158,
              170
            ],
            "quality_score": 99.75,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "word_extent": [
              1,
              2
            ],
            "sound_most_like": "ae"
          },
          {
            "phone": "s",
            "stress_level": null,
            "extent": [
              170,
              179
            ],
            "quality_score": 100,
            "word_extent": [
              2,
              3
            ],
            "sound_most_like": "s"
          },
          {
            "phone": "t",
            "stress_level": null,
            "extent": [
              179,
              185
            ],
            "quality_score": 99,
            "word_extent": [
              3,
              4
            ],
            "sound_most_like": "t"
          }
        ],
        "syllable_score_list": [
          {
            "phone_count": 4,
            "stress_level": 1,
            "letters": "last",
            "quality_score": 100,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "extent": [
              149,
              185
            ]
          }
        ]
      },
      {
        "word": "year",
        "quality_score": 100,
        "quality_class": "pass",
        "phone_score_list": [
          {
            "phone": "y",
            "stress_level": null,
            "extent": [
              185,
              191
            ],
            "quality_score": 100,
            "word_extent": [
              0,
              1
            ],
            "sound_most_like": "y"
          },
          {
            "phone": "ih",
            "stress_level": 1,
            "extent": [
              191,
              194
            ],
            "quality_score": 100,
            "stress_score": 100,
            "predicted_stress_level": 0,
            "word_extent": [
              1,
              3
            ],
            "sound_most_like": "ih"
          },
          {
            "phone": "r",
            "stress_level": null,
            "extent": [
              194,
              203
            ],
            "quality_score": 98.66666666666667,
            "word_extent": [
              3,
              4
            ],
            "sound_most_like": "r"
          }
        ],
        "syllable_score_list": [
          {
            "phone_count": 3,
            "stress_level": 1,
            "letters": "year",
            "quality_score": 100,
            "stress_score": 100,
            "predicted_stress_level": 0,
            "extent": [
              185,
              203
            ]
          }
        ]
      },
      {
        "word": "I",
        "quality_score": 100,
        "quality_class": "pass",
        "phone_score_list": [
          {
            "phone": "ay",
            "stress_level": 1,
            "extent": [
              203,
              212
            ],
            "quality_score": 100,
            "stress_score": 100,
            "predicted_stress_level": 2,
            "word_extent": [
              0,
              1
            ],
            "sound_most_like": "ay"
          }
        ],
        "syllable_score_list": [
          {
            "phone_count": 1,
            "stress_level": 1,
            "letters": "i",
            "quality_score": 100,
            "stress_score": 100,
            "predicted_stress_level": 2,
            "extent": [
              203,
              212
            ]
          }
        ]
      },
      {
        "word": "read",
        "quality_score": 85,
        "quality_class": "pass",
        "phone_score_list": [
          {
            "phone": "r",
            "stress_level": null,
            "extent": [
              212,
              221
            ],
            "quality_score": 99.66666666666667,
            "sound_most_like": "r"
          },
          {
            "phone": "eh",
            "stress_level": 1,
            "extent": [
              221,
              230
            ],
            "quality_score": 55.222222222222214,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "sound_most_like": "iy"
          },
          {
            "phone": "d",
            "stress_level": null,
            "extent": [
              230,
              239
            ],
            "quality_score": 100,
            "sound_most_like": "d"
          }
        ],
        "syllable_score_list": [
          {
            "phone_count": 3,
            "stress_level": 1,
            "letters": "read",
            "quality_score": 85,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "extent": [
              212,
              239
            ]
          }
        ]
      },
      {
        "word": "Anna",
        "quality_score": 99,
        "quality_class": "pass",
        "phone_score_list": [
          {
            "phone": "ae",
            "stress_level": 1,
            "extent": [
              239,
              254
            ],
            "quality_score": 97.8,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "word_extent": [
              0,
              1
            ],
            "sound_most_like": "ae"
          },
          {
            "phone": "n",
            "stress_level": null,
            "extent": [
              254,
              260
            ],
            "quality_score": 100,
            "word_extent": [
              1,
              3
            ],
            "sound_most_like": "n"
          },
          {
            "phone": "ah",
            "stress_level": 0,
            "extent": [
              260,
              266
            ],
            "quality_score": 100,
            "stress_score": 100,
            "predicted_stress_level": 0,
            "word_extent": [
              3,
              4
            ],
            "sound_most_like": "ah"
          }
        ],
        "syllable_score_list": [
          {
            "phone_count": 1,
            "stress_level": 1,
            "letters": "a",
            "quality_score": 98,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "extent": [
              239,
              254
            ]
          },
          {
            "phone_count": 2,
            "stress_level": 0,
            "letters": "nna",
            "quality_score": 100,
            "stress_score": 100,
            "predicted_stress_level": 0,
            "extent": [
              254,
              266
            ]
          }
        ]
      },
      {
        "word": "Karenina",
        "quality_score": 96,
        "quality_class": "pass",
        "phone_score_list": [
          {
            "phone": "k",
            "stress_level": null,
            "extent": [
              266,
              275
            ],
            "quality_score": 99.66666666666667,
            "word_extent": [
              0,
              1
            ],
            "sound_most_like": "k"
          },
          {
            "phone": "ah",
            "stress_level": 0,
            "extent": [
              275,
              278
            ],
            "quality_score": 93,
            "stress_score": 100,
            "predicted_stress_level": 0,
            "word_extent": [
              1,
              2
            ],
            "sound_most_like": "ah"
          },
          {
            "phone": "r",
            "stress_level": null,
            "extent": [
              278,
              287
            ],
            "quality_score": 100,
            "word_extent": [
              2,
              3
            ],
            "sound_most_like": "r"
          },
          {
            "phone": "eh",
            "stress_level": 1,
            "extent": [
              287,
              293
            ],
            "quality_score": 97.5,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "word_extent": [
              3,
              4
            ],
            "sound_most_like": "eh"
          },
          {
            "phone": "n",
            "stress_level": null,
            "extent": [
              293,
              299
            ],
            "quality_score": 98,
            "word_extent": [
              4,
              5
            ],
            "sound_most_like": "n"
          },
          {
            "phone": "ih",
            "stress_level": 0,
            "extent": [
              299,
              302
            ],
            "quality_score": 86,
            "stress_score": 100,
            "predicted_stress_level": 0,
            "word_extent": [
              5,
              6
            ],
            "sound_most_like": "ih"
          },
          {
            "phone": "n",
            "stress_level": null,
            "extent": [
              302,
              305
            ],
            "quality_score": 100,
            "word_extent": [
              6,
              7
            ],
            "sound_most_like": "n"
          },
          {
            "phone": "ah",
            "stress_level": 0,
            "extent": [
              305,
              317
            ],
            "quality_score": 95.75,
            "stress_score": 100,
            "predicted_stress_level": 0,
            "word_extent": [
              7,
              8
            ],
            "sound_most_like": "ah"
          }
        ],
        "syllable_score_list": [
          {
            "phone_count": 2,
            "stress_level": 0,
            "letters": "ka",
            "quality_score": 96,
            "stress_score": 100,
            "predicted_stress_level": 0,
            "extent": [
              266,
              278
            ]
          },
          {
            "phone_count": 2,
            "stress_level": 1,
            "letters": "re",
            "quality_score": 99,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "extent": [
              278,
              293
            ]
          },
          {
            "phone_count": 2,
            "stress_level": 0,
            "letters": "ni",
            "quality_score": 92,
            "stress_score": 100,
            "predicted_stress_level": 0,
            "extent": [
              293,
              302
            ]
          },
          {
            "phone_count": 2,
            "stress_level": 0,
            "letters": "na",
            "quality_score": 98,
            "stress_score": 100,
            "predicted_stress_level": 0,
            "extent": [
              302,
              317
            ]
          }
        ]
      },
      {
        "word": "by",
        "quality_score": 99,
        "quality_class": "pass",
        "phone_score_list": [
          {
            "phone": "b",
            "stress_level": null,
            "extent": [
              317,
              323
            ],
            "quality_score": 99,
            "word_extent": [
              0,
              1
            ],
            "sound_most_like": "b"
          },
          {
            "phone": "ay",
            "stress_level": 1,
            "extent": [
              323,
              332
            ],
            "quality_score": 99.66666666666667,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "word_extent": [
              1,
              2
            ],
            "sound_most_like": "ay"
          }
        ],
        "syllable_score_list": [
          {
            "phone_count": 2,
            "stress_level": 1,
            "letters": "by",
            "quality_score": 99,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "extent": [
              317,
              332
            ]
          }
        ]
      },
      {
        "word": "Tolstoy",
        "quality_score": 92,
        "quality_class": "pass",
        "phone_score_list": [
          {
            "phone": "t",
            "stress_level": null,
            "extent": [
              332,
              344
            ],
            "quality_score": 100,
            "sound_most_like": "t"
          },
          {
            "phone": "ow",
            "stress_level": 1,
            "extent": [
              344,
              350
            ],
            "quality_score": 58.5,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "sound_most_like": "ah",
            "child_phones": [
              {
                "extent": [
                  344,
                  347
                ],
                "quality_score": 82,
                "sound_most_like": "ih"
              },
              {
                "extent": [
                  347,
                  350
                ],
                "quality_score": 35,
                "sound_most_like": "ah"
              }
            ]
          },
          {
            "phone": "l",
            "stress_level": null,
            "extent": [
              350,
              356
            ],
            "quality_score": 100,
            "sound_most_like": "l"
          },
          {
            "phone": "s",
            "stress_level": null,
            "extent": [
              356,
              368
            ],
            "quality_score": 96.25,
            "sound_most_like": "s"
          },
          {
            "phone": "t",
            "stress_level": null,
            "extent": [
              368,
              374
            ],
            "quality_score": 100,
            "sound_most_like": "t"
          },
          {
            "phone": "oy",
            "stress_level": 2,
            "extent": [
              374,
              404
            ],
            "quality_score": 98,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "sound_most_like": "oy"
          }
        ],
        "ending_punctuation": ".",
        "syllable_score_list": [
          {
            "phone_count": 3,
            "stress_level": 1,
            "letters": "tol",
            "quality_score": 86,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "extent": [
              332,
              356
            ]
          },
          {
            "phone_count": 3,
            "stress_level": 2,
            "letters": "stoy",
            "quality_score": 98,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "extent": [
              356,
              404
            ]
          }
        ]
      }
    ],
    "ielts_score": {
      "pronunciation": 8.5
    },
    "pte_score": {
      "pronunciation": 90
    },
    "speechace_score": {
      "pronunciation": 97
    },
    "toeic_score": {
      "pronunciation": 190
    },
    "cefr_score": {
      "pronunciation": "C2"
    }
  },
  "version": "9.17"
}
```

{% endcode %}
{% endtab %}

{% tab title="E. Multiple Choice" %}
{% code overflow="wrap" lineNumbers="true" expandable="true" %}

```json
{
  "status": "success",
  "quota_remaining": -1,
  "text_score": {
    "text": "I went to the park.",
    "word_score_list": [
      {
        "word": "I",
        "quality_score": 100,
        "quality_class": "pass",
        "phone_score_list": [
          {
            "phone": "ay",
            "stress_level": 1,
            "extent": [
              14,
              26
            ],
            "quality_score": 100,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "word_extent": [
              0,
              1
            ],
            "sound_most_like": "ay"
          }
        ],
        "syllable_score_list": [
          {
            "phone_count": 1,
            "stress_level": 1,
            "letters": "i",
            "quality_score": 100,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "extent": [
              14,
              26
            ]
          }
        ]
      },
      {
        "word": "went",
        "quality_score": 100,
        "quality_class": "pass",
        "phone_score_list": [
          {
            "phone": "w",
            "stress_level": null,
            "extent": [
              26,
              35
            ],
            "quality_score": 100,
            "word_extent": [
              0,
              1
            ],
            "sound_most_like": "w"
          },
          {
            "phone": "eh",
            "stress_level": 1,
            "extent": [
              35,
              41
            ],
            "quality_score": 100,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "word_extent": [
              1,
              2
            ],
            "sound_most_like": "eh"
          },
          {
            "phone": "n",
            "stress_level": null,
            "extent": [
              41,
              47
            ],
            "quality_score": 99.5,
            "word_extent": [
              2,
              3
            ],
            "sound_most_like": "n"
          }
        ],
        "syllable_score_list": [
          {
            "phone_count": 3,
            "stress_level": 1,
            "letters": "went",
            "quality_score": 100,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "extent": [
              26,
              47
            ]
          }
        ]
      },
      {
        "word": "to",
        "quality_score": 93,
        "quality_class": "pass",
        "phone_score_list": [
          {
            "phone": "t",
            "stress_level": null,
            "extent": [
              47,
              53
            ],
            "quality_score": 99.5,
            "word_extent": [
              0,
              1
            ],
            "sound_most_like": "t"
          },
          {
            "phone": "uw",
            "stress_level": 1,
            "extent": [
              53,
              56
            ],
            "quality_score": 87,
            "stress_score": 100,
            "predicted_stress_level": 0,
            "word_extent": [
              1,
              2
            ],
            "sound_most_like": "uw"
          }
        ],
        "syllable_score_list": [
          {
            "phone_count": 2,
            "stress_level": 1,
            "letters": "to",
            "quality_score": 93,
            "stress_score": 100,
            "predicted_stress_level": 0,
            "extent": [
              47,
              56
            ]
          }
        ]
      },
      {
        "word": "the",
        "quality_score": 99,
        "quality_class": "pass",
        "phone_score_list": [
          {
            "phone": "dh",
            "stress_level": null,
            "extent": [
              56,
              65
            ],
            "quality_score": 98,
            "word_extent": [
              0,
              2
            ],
            "sound_most_like": "dh"
          },
          {
            "phone": "ah",
            "stress_level": 0,
            "extent": [
              65,
              68
            ],
            "quality_score": 100,
            "stress_score": 100,
            "predicted_stress_level": 0,
            "word_extent": [
              2,
              3
            ],
            "sound_most_like": "ah"
          }
        ],
        "syllable_score_list": [
          {
            "phone_count": 2,
            "stress_level": 0,
            "letters": "the",
            "quality_score": 99,
            "stress_score": 100,
            "predicted_stress_level": 0,
            "extent": [
              56,
              68
            ]
          }
        ]
      },
      {
        "word": "park",
        "quality_score": 96,
        "quality_class": "pass",
        "phone_score_list": [
          {
            "phone": "p",
            "stress_level": null,
            "extent": [
              68,
              77
            ],
            "quality_score": 99.66666666666667,
            "word_extent": [
              0,
              1
            ],
            "sound_most_like": "p"
          },
          {
            "phone": "aa",
            "stress_level": 1,
            "extent": [
              77,
              86
            ],
            "quality_score": 99.66666666666667,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "word_extent": [
              1,
              2
            ],
            "sound_most_like": "aa"
          },
          {
            "phone": "r",
            "stress_level": null,
            "extent": [
              86,
              95
            ],
            "quality_score": 100,
            "word_extent": [
              2,
              3
            ],
            "sound_most_like": "r"
          },
          {
            "phone": "k",
            "stress_level": null,
            "extent": [
              95,
              110
            ],
            "quality_score": 83.53333333333333,
            "word_extent": [
              3,
              4
            ],
            "sound_most_like": "k"
          }
        ],
        "ending_punctuation": ".",
        "syllable_score_list": [
          {
            "phone_count": 4,
            "stress_level": 1,
            "letters": "park",
            "quality_score": 96,
            "stress_score": 100,
            "predicted_stress_level": 1,
            "extent": [
              68,
              110
            ]
          }
        ]
      }
    ],
    "ielts_score": {
      "pronunciation": 8.5
    },
    "pte_score": {
      "pronunciation": 90
    },
    "speechace_score": {
      "pronunciation": 97
    },
    "toeic_score": {
      "pronunciation": 190
    },
    "cefr_score": {
      "pronunciation": "C2"
    }
  },
  "version": "9.17"
}
```

{% endcode %}
{% endtab %}
{% endtabs %}

### Response fields

#### Overall scores

The overall score rates the pronunciation quality of the whole utterance, expressed on several standard scales.

{% code lineNumbers="true" expandable="true" %}

```json
"ielts_score":    { "pronunciation": 9 },
"pte_score":      { "pronunciation": 90 },
"speechace_score":{ "pronunciation": 100 },
"toeic_score":    { "pronunciation": 200 },
"cefr_score":     { "pronunciation": "C2" }
```

{% endcode %}

{% hint style="info" %}
Use the [overall-scores guide](/interpreting-results/interpreting-overall-scores.md) to interpret each scale. When `include_fluency=1` is set, the same score objects also carry a `fluency` value.
{% endhint %}

#### Word scores

Each entry in `word_score_list[]` carries a `quality_score` (0–100) for that word. Use it to colour-code feedback:

<table><thead><tr><th width="118">Score</th><th width="95">Colour</th><th>Description</th></tr></thead><tbody><tr><td>90 – 100</td><td>Green</td><td>Excellent. Native or native-like.</td></tr><tr><td>80 – 90</td><td>Green</td><td>Very good and clearly intelligible.</td></tr><tr><td>70 – 80</td><td>Orange</td><td>Good. Intelligible but with one or two evident mistakes.</td></tr><tr><td>60 – 70</td><td>Red</td><td>Fair. Possibly not intelligible, with several evident mistakes.</td></tr><tr><td>0 – 60</td><td>Red</td><td>Poor and must be reattempted.</td></tr></tbody></table>

See the [quality-score guide](/interpreting-results/interpreting-quality-score.md) for the full scale.

#### Phoneme & syllable scores

Within each word, `phone_score_list[]` and `syllable_score_list[]` give a `quality_score` at the phoneme and syllable level. Each syllable also reports `stress_level` (the expected stress), `predicted_stress_level` (the stress detected in the audio), and `stress_score` (0–100, how correct the stress was), where stress is `0` = unstressed, `1` = primary, `2` = secondary. Each phoneme reports `sound_most_like` — the phoneme the speaker's sound most resembled, which pinpoints substitution errors.

#### Intonation metrics

Returned when `include_intonation=1`. Lexical stress (`stress_level`, `predicted_stress_level`, `stress_score`) is part of the default response — see **Phoneme & syllable scores** above; `include_intonation` adds pitch and intonation on top of it.

`syllable_score_list[]` adds:

* `pitch_range[]` — `[begin_pitch, end_pitch]` for the syllable, in Hertz.

`word_intonation_list[]` adds, per syllable, `syllable_intonation_list[]` = `[pitch_change_from_previous, pitch_change_in_current]`:

* **pitch\_change\_from\_previous** — pitch movement from the previous syllable to the start of this one. `null` if the syllable wasn't recognised; `REDUCED` if recognised but unvoiced.
* **pitch\_change\_in\_current** — pitch movement across the current syllable. Values: `RISE`, `FALL`, `FLAT`, `REDUCED`, or `null`.

Compare the expected against the detected intonation to visualise an intonation "staircase" for the learner.

#### Fluency metrics

Returned when `include_fluency=1`, under the `fluency` node. Overall fluency scores appear alongside the pronunciation scores on the standard scales (see the [overall-scores guide](/interpreting-results/interpreting-overall-scores.md)); the per-response metrics are:

<table><thead><tr><th width="270">Field</th><th>Description</th></tr></thead><tbody><tr><td><code>duration</code></td><td>Total length of speech in seconds.</td></tr><tr><td><code>articulation</code></td><td>Length of articulation (speech minus pauses, hesitations, and non-speech events such as laughter). Excludes leading silence on the first segment and trailing silence on the last.</td></tr><tr><td><code>speech_rate</code></td><td>Speaking rate in syllables per second.</td></tr><tr><td><code>syllable_count</code> / <code>word_count</code></td><td>Count of syllables / words in the segment.</td></tr><tr><td><code>correct_syllable_count</code> / <code>correct_word_count</code></td><td>Count of correctly spoken syllables / words in the segment.</td></tr><tr><td><code>syllable_correct_per_minute</code> / <code>word_correct_per_minute</code></td><td>Correct count divided by duration in minutes.</td></tr><tr><td><code>all_pause_count</code> / <code>all_pause_duration</code></td><td>Count and total seconds of all pauses (filled and unfilled) longer than the minimum threshold.</td></tr><tr><td><code>all_pause_list[]</code></td><td>Every pause with begin/end markers, in extents of 10 ms.</td></tr><tr><td><code>mean_length_run</code> / <code>max_length_run</code></td><td>Mean / max run length in syllables between pauses.</td></tr><tr><td><code>segment_metrics_list[]</code></td><td>The above metrics computed per segment of the text/audio.</td></tr></tbody></table>

The most commonly surfaced metrics are `word_correct_per_minute` (compare against \~120 wpm, a common minimum fluent rate), `all_pause_list[]` (flag medium pauses ≥500 ms and long pauses >1 s), and `duration` vs. `articulation` (how much of the time was actual speech).

#### Fidelity detection

A unique capability of fluency scoring: it detects incomplete or off-script attempts, where the speaker deviates from the intended passage. When this happens the API lowers the overall scores and adds a `score_issue_list[]` entry:

{% code overflow="wrap" lineNumbers="true" expandable="true" %}

```json
"score_issue_list": [
  {
    "status": "warning",
    "short_message": "response_incomplete",
    "detail_message": "The response doesn't follow the script completely.",
    "source": "fluency"
  }
]
```

{% endcode %}

See [interpreting fidelity class](/interpreting-results/interpreting-fidelity-class.md) for how to read and act on these signals.
