Skip to content

List the platform stock-voice catalog

GET
/v1/voices
curl --request GET \
--url 'https://api.vocapable.com/v1/voices?limit=50' \
--header 'Authorization: Bearer <token>'
limit
Limit
integer
default: 50 >= 1 <= 200
cursor
Any of:
string

Successful Response

Media typeapplication/json
CursorPage[VoiceSummary]
object
data
required
Data
Array<object>
VoiceSummary
object
id
required
Id
string
name
required
Name
string
language
required
Language
string
gender
required
Gender
string
Allowed values: female male neutral
style_tags
required
Style Tags
Array<string>
previews
Previews
Array<object>
VoicePreview

One 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
Allowed values: availability pitch survey
uri
required
Uri
string
status
required
Status
string
Allowed values: available coming_soon
preview_uri
required
Any of:
string
next_cursor
Any of:
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>
ValidationError
object
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": {}
}
]
}