List TTS voices available to the current workspace.
Every filter accepts repeat-key OR semantics:
?gender=female&gender=neutral&category=narration&source=platform&source=workspace.
Filters combine across fields with AND; within a field, values OR.
language uses Postgres ?| (exists-any) against voices.supported_languages.
Platform voices with NULL supported_languages (catalog gaps) are treated
as general-use and match every locale filter. User-uploaded / cloned voices
with NULL stay excluded — NULL there means “language unknown” pending the
clone flow’s language detection.
Multi-sort: sort and order are parallel lists. ?sort=uses_count&sort=name&order=desc&order=asc
orders primarily by uses_count DESC, secondarily by name ASC. When order
is shorter than sort, missing entries default per-field:
name=asc, created_at=desc, uses_count=desc. When sort is omitted, list
defaults to newest-first (or most-recently-favorited-first if
favorites_only=true). Every sort path appends Voice.id ASC as a
deterministic tiebreaker for pagination stability.
Onepin live API key (op_live_...). Test and public keys are reserved in Phase 1.
Repeat for multi-sort. Pairs with order index-wise.
Parallel to sort[]; shorter is padded with per-field defaults.
Repeat for OR, e.g. ?provider=elevenlabs&provider=rime
Repeat for OR, e.g. ?language=en-us&language=ko-kr