API Reference

Speaker APIs

Manage registered speaker voice profiles for use with enable_speaker_identification.


Register a Speaker — POST /v1/speakers/register

Use a clean 5–15 second clip of the speaker talking alone. Avoid background music or overlapping voices.

terminal
curl -X POST https://asr.shunyalabs.ai/v1/speakers/register \
  -H "Authorization: Bearer <API_KEY>" \
  -F "name=Priya" \
  -F "file=@priya_sample.wav" \
  -F "project=my_project"
json
{ "success": true, "speaker": "Priya", "message": "Registered successfully" }

List Registered Speakers — GET /v1/speakers/list

terminal
curl "https://asr.shunyalabs.ai/v1/speakers/list?project=my_project" \
  -H "Authorization: Bearer <API_KEY>"
json
{
  "speakers": [
    { "name": "Priya", "project": "my_project", "registered_at": "2026-03-17T10:00:00" },
    { "name": "Rahul", "project": "my_project", "registered_at": "2026-03-17T10:05:00" }
  ]
}

Identify a Speaker — POST /v1/speakers/identify

Returns the closest matching speaker and confidence. Returns "unknown" if no match above the threshold.

terminal
curl -X POST https://asr.shunyalabs.ai/v1/speakers/identify \
  -H "Authorization: Bearer <API_KEY>" \
  -F "[email protected]" \
  -F "project=my_project"
json
{ "speaker": "Priya", "confidence": 0.91 }

Delete a Speaker — DELETE /v1/speakers/delete

terminal
curl -X DELETE https://asr.shunyalabs.ai/v1/speakers/delete \
  -H "Authorization: Bearer <API_KEY>" \
  -F "name=Priya" \
  -F "project=my_project"
json
{ "success": true }