> 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/use-cases/automated-language-assessment-with-ai/assessing-existing-interview-recordings.md).

# Assessing existing interview recordings

If you already run interviews, AI-led or human, you can assess language from the recording you already have, with no separate test. Take the segments where the candidate speaks, score them, and average to a CEFR level.

```mermaid
flowchart LR
  A["Recorded interview<br/>(AI or human, ~25 min)"] --> B["Candidate segments<br/>~5 x 1 min"]
  B --> C["score/speech"]
  C --> D["CEFR level (A1-C2)"]
  C --> E["Fluency, Pronunciation,<br/>Grammar, Vocabulary, Coherence"]
  C --> F["Transcript"]
```

## How to construct it

1. **Isolate the candidate's speech.** Speaker separation happens in your pipeline before the API. The API scores whatever audio you send, so exclude the interviewer.
2. **Take about five one-minute segments** where the candidate speaks naturally. Roughly one minute gives a stable score.
3. **Score each segment** with [score/speech](/api-reference/score-speech.md). You get pronunciation, fluency, grammar, vocabulary, coherence, a transcript, and the CEFR and IELTS mapping.
4. **Average across segments** for the candidate's overall level.

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

```json
{
  "speech_score": {
    "transcript": "So in my last role I was responsible for ...",
    "speechace_score": { "pronunciation": 80, "fluency": 76, "grammar": 73, "vocab": 77, "coherence": 74, "overall": 76 },
    "cefr_score": { "overall": "B2", ... }
  }
}
```

{% endcode %}

## Best practices

* Set `detect_dialect=1` to confirm the candidate spoke the target language.
* Drop segments that are too short to score; `score/speech` marks them with `response_too_short` (see [Scoring errors & warnings](/interpreting-results/scoring-errors-and-warnings.md)).
* Average across all usable segments. More segments give a more reliable level.

This uses the same open-ended scoring as a [screening interview](/use-cases/automated-language-assessment-with-ai/screening-interviews.md); the only difference is that the audio comes from a recording you already have.
