API: filter GET /v1/voices by type, locale, gender, and model

GET /v1/voices now accepts four optional query filters:

FilterValuesDescription
typepersonal, sharedpersonal (the workspace’s cloned voices) or shared (the public catalogue). Omit to return both.
localeBCP-47 rangePrefix-matched and case-insensitive: en matches en-US and en-GB; en-US matches only en-US.
gendermale, female, not_specifiedOmit to return all genders.
modela model id, e.g. simba-3.2Voices that advertise the model in their models[]. Omit to return voices for all models.

For example, fetch the catalogue voices that speak English and support simba-3.2:

$curl "https://api.speechify.ai/v1/voices?type=shared&locale=en&model=simba-3.2" \
> -H "Authorization: Bearer $SPEECHIFY_API_KEY"

Filters compose with pagination: pass limit (max page size 200) and page with cursor, reading until has_more is false.