search_voices returns voices that match your filters along with pre-rendered sample clips you can play in the browser.
Python — filter and print samples
TypeScript — render a picker
Render a picker in the browser
If you’re showing voices in a web UI, fetch the list from your backend (never call the Supertone API directly from the browser with your key), then render the sample URLs as<audio> elements.
samples field is keyed by (language, style, model) — pick the sample that matches the combination your app actually uses, so the preview matches production output.
Pagination
search_voices returns up to page_size voices (default 20, max 100) plus a next_page_token if there are more. Pass that token back to fetch the next page:
- Python
- TypeScript
Tips
- Multiple values are OR-ed.
language=ko,enreturns voices that support either. Use multiple filters together for AND-style narrowing. - No
sortparameter. Results come back in their natural order; if you need custom ordering, sort client-side. - Cache responses. The voice library doesn’t change often. Cache lists in your backend (15–60 minutes is reasonable) to reduce calls and improve picker latency.
Related
Voices
Conceptual overview of voice IDs and the voice object.
Search voices
Full filter parameter reference.