Skip to content

Documentation implies provider param is optional for GET /v0/tts/voices, but API returns 400 without it #457

@davidwhite-spec

Description

@davidwhite-spec

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions