Docs
Score English pronunciation from audio and reference text, with feedback for each word and phoneme.
Quickstart
Try the playground with its limited trial. For API
calls, request a key and send it in the
X-API-Key header.
curl -X POST "https://api.prosody.studio/v1/scores" \
-H "X-API-Key: $PROSODY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"audio_data": "<base64 WAV audio>",
"sample_rate": 16000,
"language": "en-US",
"reference_text": "The quick brown fox"
}'
POST /v1/scores
Score one recording against its reference text. These four JSON fields are required.
| Field | Value |
|---|---|
audio_data |
Base64-encoded WAV audio. Start with mono PCM at 16 kHz. |
sample_rate |
The WAV file's sample rate in Hz. |
language |
Use en-US for English. |
reference_text |
The words the speaker is expected to say. |
Add the optional session_id query parameter to group
recordings into a practice session.
Response
Standard responses include scores, word results, and phoneme detail. This example is an excerpt.
{
"scores": {
"pronunciation": 72.4,
"script_adherence": 100.0,
"overall": 72.4
},
"words": [
{
"word": "the",
"status": "match",
"acoustic_match": 68.1,
"timing": {
"start": 0.12,
"end": 0.24,
"duration_ms": 120
},
"phonemes": [
{ "detected": "DH", "acoustic_match": 71.2 }
]
}
]
}
Use detail=summary for fewer fields or
detail=full for additional mismatch diagnostics.
More endpoints
Batch scoring and stored results support practice workflows.
| Endpoint | Purpose |
|---|---|
POST /v1/scores/batch |
Score multiple recordings in one request. |
GET /v1/scores/{result_id} |
Retrieve a stored result when its storage UUID is known. |
| Preview APIs Contracts may change. | |
GET /v1/results
GET /v1/history
|
List stored scores and chronological practice history. |
GET /v1/sessions
POST /v1/sessions
|
List session summaries or create a practice session. |
GET /v1/sessions/{session_id}
PATCH /v1/sessions/{session_id}
|
Read, close, or abandon a session. Closed or abandoned sessions reject new scores. |
GET /v1/profile
PUT /v1/profile
|
Read preferences and learning stats; update profile preferences. |
TypeScript SDK
Use @prosody/sdk for typed requests and response
validation.
npm install @prosody/sdk
For Postman, import the collection and production environment.
Privacy
- Audio is processed for scoring and is not retained by the playground.
- Authenticated score metadata may be stored for result and history views.
- Audio is not sent to third-party speech APIs.
- Training use requires explicit consent, separate from the trial flow.
Request an API key
Email francois@prosody.studio with a short description of what you are building and your expected audio volume.