Skip to main content
If your product lets users pick a voice, you’ll want to render a searchable list with audio previews. The Supertone API supports this directly: 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.
Tip: the 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:

Tips

  • Multiple values are OR-ed. language=ko,en returns voices that support either. Use multiple filters together for AND-style narrowing.
  • No sort parameter. 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.

Voices

Conceptual overview of voice IDs and the voice object.

Search voices

Full filter parameter reference.