List the platform stock-voice catalog
GET
/v1/voices
const url = 'https://api.vocapable.com/v1/voices?limit=50';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.vocapable.com/v1/voices?limit=50' \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Responses
Section titled “Responses”Successful Response
Media typeapplication/json
CursorPage[VoiceSummary]
object
data
required
Data
Array<object>
VoiceSummaryobject
id
required
Id
string
name
required
Name
string
language
required
Language
string
gender
required
Gender
string
style_tags
required
Style Tags
Array<string>
previews
Previews
Array<object>
VoicePreviewOne rendered audition clip, addressable by the script it speaks.
uri always sits on the platform asset origin: the catalog loader refuses any other
host, because a third-party synthesis presented as one of our voices misrepresents
the product. A script with no rendered clip is ABSENT from VoiceSummary.previews
rather than present with a null uri - “not rendered yet” is a missing entry, never a
player pointed at nothing.
object
script
required
Script
string
uri
required
Uri
string
status
required
Status
string
has_more
Has More
boolean
Example
{ "data": [ { "gender": "female", "previews": [ { "script": "availability" } ], "status": "available" } ], "has_more": false}Validation Error
Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationErrorobject
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Examplegenerated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example", "input": "example", "ctx": {} } ]}