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.