Voices/List voices
List voices
GET/api/v1/voices
List the voices you can synthesize with: the public voice library plus any voices you have cloned. Optionally filter by locale and/or provider. Pass limit (and the returned next_cursor) to page through the filtered public library; without limit the full list is returned in one response.
Query parameters
cursorintegerOptionalDefault
0Pagination cursor over
public_voices, from the previous page's next_cursor. Omit or pass 0 for the first page.limitinteger | nullOptional
Maximum
public_voices per page (1-500). Omit to return the full library unpaginated (my_voices is always returned in full on the first page).localestring | nullOptional
Filter by BCP 47 locale (case-insensitive). A bare language such as
en or zh matches every regional variant; en-GB / zh-TW / zh-HK match that region only. See the locale field of each voice.providerstring | nullOptional
Filter to voices from this engine (case-insensitive):
elevenlabs / seed / gemini / minimax.Headers
X-API-KeystringRequired
Your VisionStory API key (
sk-vs-...), kept server-side. Create one at OpenApi (Pro plan and up).Response
200Successful Response
Successful calls return a standard envelope: the endpoint payload under data (its fields are documented below), plus a message string ("success") and an ISO 8601 server_time.
Response fields (
data)public_voicesarray of VoiceDtoRequired
Platform-provided voices available for text-to-speech.
my_voicesarray of VoiceDtoRequired
Voices this account has cloned. Included on the first page only when paginating.
next_cursorintegerOptionalDefault
0Cursor for the next page of
public_voices; pass it back as cursor. 0 means no more pages (always 0 when the request did not paginate).Errors
All error responses share one JSON envelope: an error object with a numeric code, a human-readable message, an optional details string, and an optional hint giving an actionable next step (handy for AI agents).
errorErrorDetailRequired
Error payload returned with every non-2xx response. Present only on failure; successful calls use the standard success envelope instead.