Skip to main content

Speech Analysis overview

The Speech module returns CEFR-aligned vocabulary, fluency, and accent scores from an interview recording, plus a full transcript with speaker diarization and automatic candidate detection.

Base URL: https://platform.zenhire.ai/api/v1/speech

Speech is asynchronous: you submit audio, get an id back immediately, then poll for results. Typical processing time is 2–5 minutes.

Endpoints

All public Speech endpoints are namespaced under /api/v1/speech/*:

MethodPathWhat it does
POST/api/v1/speech/analyzeSubmit an audio file — returns id. See Quickstart.
GET/api/v1/speech/analyze/{id}Poll for the result. See Async polling.
GET/api/v1/speech/runsList your runs with the unified filters.

Credits and health are not Speech-specific — they're Universal endpoints at /api/v1/credits and /api/v1/health.

Public API vs. the console playground

There are two completely separate Speech surfaces. Don't confuse them.

Public Speech APIConsole playground
AudienceYour server-to-server integrationA human in the ZenHire dashboard
Paths/api/v1/speech/*/api/transcribe, /api/runs/* (internal)
AuthX-API-KeyLogged-in browser session
Documented here?Yes — this is the public contractNo — internal-only, not part of the public namespace
Counts toward API runs?Yes — appears in GET /api/v1/speech/runsNo — playground runs are tracked separately

The console playground (/api/transcribe, /api/runs/*) exists so staff can try the analyzer interactively from the dashboard. It is a separate session-authed surface, is not under the /api/v1/speech/* public namespace, and is not part of the documented public API. Build against /api/v1/speech/* only.

Scores

A successful run produces vocabulary, fluency, and accent scores plus an overall CEFR level (A1–C2). See Candidate detection and Multilingual scoring for the details, and the Quickstart for an end-to-end first call.

Identifiers, errors, credits

These follow the shared Universal model: