-
Notifications
You must be signed in to change notification settings - Fork 43
Description
The Voice Management documentation states:
API: To list available voices programmatically, make a GET request to /v0/tts/voices.
By default, this endpoint returns voices from the Voice Library. To fetch your saved voices, include the provider query parameter with the value CUSTOM_VOICE.
This implies that the provider parameter is optional and defaults to returning Voice Library voices. However, when calling the endpoint without the provider parameter, the API returns a 400 error:
curl "https://api.hume.ai/v0/tts/voices?page_size=3" \ -H "X-Hume-Api-Key: $HUME_API_KEY"
Response:
{ "timestamp": "2026-02-02T04:05:42.119+00:00", "status": 400, "error": "Bad Request", "message": "Required parameter 'provider' is not present.", "path": "/voices"}
Expected Behavior
Based on the documentation, calling GET /v0/tts/voices without a provider param should return Voice Library voices by default.
Actual Behavior
The API returns a 400 error stating that provider is a required parameter.
Workaround
Explicitly include provider=HUME_AI to fetch Voice Library voices:
curl "https://api.hume.ai/v0/tts/voices?provider=HUME_AI&page_size=100" \ -H "X-Hume-Api-Key: $HUME_API_KEY"
Suggested Fix
Either:
Update the docs to clarify that provider is required, with valid values being HUME_AI (Voice Library) or CUSTOM_VOICE (saved/cloned voices)
Update the API to default to HUME_AI when provider is omitted, matching the documented behavior