Skip to content
Jellypod
Esc
↑↓navigate↵open⌘Jpreview

List voices

GET/v1/voices
Authorization
AuthorizationBearer token · headerrequired

API key issued from /settings/api-keys in the Jellypod studio. Send as Authorization: Bearer <key>.

Query parameters
cursorstring
limitinteger
min 1 · max 100 · default: 20
accentstring

Exact accent name, case-insensitive, such as Irish or Northern Irish.

min length 1 · max length 64
genderstring
languagestring
matches ^[a-zA-Z]{2,3}$
querystring

Plain-text search, such as "irish male storyteller". A voice matches when any word appears in its description, accent, or style tags; male, female, man, and woman filter by gender instead. Results are not ranked by match count. Up to 8 words. Not semantic.

min length 1 · max length 200
voice_typestring
Responses
200

Page of voices

dataVoiceRow[]required
Show properties
Array of VoiceRow
accentstring | nullrequired
descriptionstring | nullrequired
genderstringrequired
Allowed:malefemaleother
idintegerrequired

Positive integer voice id. Pass this value (as a number, not a string) to voice_id on POST /v1/hosts.

languagestring | nullrequired

Language code the voice is filed under: the two-letter ISO 639-1 code where one exists, or the three-letter code where it does not (e.g. "en", "ja", "fil"). New codes appear as the catalog grows, so treat this as an open set rather than a fixed list.

modelstring | nullrequired

Provider-prefixed model string used to synthesize this voice (e.g. "elevenlabs/eleven_v3"). Null when the voice has no model configured.

voice_typestringrequired
Allowed:professionalclonedesign
400

Validation failed or malformed request.

detailstring

Longer human-readable explanation when available.

errorsobject[]

Per-field validation failures. Present when type is validation_error.

Show properties
Array of object
fieldstringrequired
messagestringrequired
reasonstring

Script import failure when one or more Speakers have no saved Character match.

Allowed:unresolved_speakers
recoveryobject
Show properties
actionstringrequired
Allowed:correct_inputchoose_characterscheck_accountpoll_contentopen_studiocheck_contentreconnectretrycheck_result
idempotency_keystring
Allowed:reusenew
poll_after_secondsnumber
min 0
toolstring
Allowed:list_characterslist_contentget_contentsave_podcast
request_idstring

Correlation id, also returned in the X-Request-Id response header. Include in support requests.

speakersstring[]

Speaker labels needing a saved Character match when reason is unresolved_speakers.

statusintegerrequired

HTTP status code mirrored from the response.

titlestringrequired

Short human-readable summary.

typestringrequired

Machine-readable error class. Suitable for switch/match in client code.

Allowed:bad_requestvalidation_errorunauthorizedforbiddennot_foundconflictmethod_not_allowedunsupported_media_typeunprocessable_entityrate_limitedbad_gatewayinternal_error
401

Missing or invalid API key.

detailstring

Longer human-readable explanation when available.

errorsobject[]

Per-field validation failures. Present when type is validation_error.

Show properties
Array of object
fieldstringrequired
messagestringrequired
reasonstring

Script import failure when one or more Speakers have no saved Character match.

Allowed:unresolved_speakers
recoveryobject
Show properties
actionstringrequired
Allowed:correct_inputchoose_characterscheck_accountpoll_contentopen_studiocheck_contentreconnectretrycheck_result
idempotency_keystring
Allowed:reusenew
poll_after_secondsnumber
min 0
toolstring
Allowed:list_characterslist_contentget_contentsave_podcast
request_idstring

Correlation id, also returned in the X-Request-Id response header. Include in support requests.

speakersstring[]

Speaker labels needing a saved Character match when reason is unresolved_speakers.

statusintegerrequired

HTTP status code mirrored from the response.

titlestringrequired

Short human-readable summary.

typestringrequired

Machine-readable error class. Suitable for switch/match in client code.

Allowed:bad_requestvalidation_errorunauthorizedforbiddennot_foundconflictmethod_not_allowedunsupported_media_typeunprocessable_entityrate_limitedbad_gatewayinternal_error
403

Authenticated, but this API key does not have access to this resource.

detailstring

Longer human-readable explanation when available.

errorsobject[]

Per-field validation failures. Present when type is validation_error.

Show properties
Array of object
fieldstringrequired
messagestringrequired
reasonstring

Script import failure when one or more Speakers have no saved Character match.

Allowed:unresolved_speakers
recoveryobject
Show properties
actionstringrequired
Allowed:correct_inputchoose_characterscheck_accountpoll_contentopen_studiocheck_contentreconnectretrycheck_result
idempotency_keystring
Allowed:reusenew
poll_after_secondsnumber
min 0
toolstring
Allowed:list_characterslist_contentget_contentsave_podcast
request_idstring

Correlation id, also returned in the X-Request-Id response header. Include in support requests.

speakersstring[]

Speaker labels needing a saved Character match when reason is unresolved_speakers.

statusintegerrequired

HTTP status code mirrored from the response.

titlestringrequired

Short human-readable summary.

typestringrequired

Machine-readable error class. Suitable for switch/match in client code.

Allowed:bad_requestvalidation_errorunauthorizedforbiddennot_foundconflictmethod_not_allowedunsupported_media_typeunprocessable_entityrate_limitedbad_gatewayinternal_error
404

Resource not found.

detailstring

Longer human-readable explanation when available.

errorsobject[]

Per-field validation failures. Present when type is validation_error.

Show properties
Array of object
fieldstringrequired
messagestringrequired
reasonstring

Script import failure when one or more Speakers have no saved Character match.

Allowed:unresolved_speakers
recoveryobject
Show properties
actionstringrequired
Allowed:correct_inputchoose_characterscheck_accountpoll_contentopen_studiocheck_contentreconnectretrycheck_result
idempotency_keystring
Allowed:reusenew
poll_after_secondsnumber
min 0
toolstring
Allowed:list_characterslist_contentget_contentsave_podcast
request_idstring

Correlation id, also returned in the X-Request-Id response header. Include in support requests.

speakersstring[]

Speaker labels needing a saved Character match when reason is unresolved_speakers.

statusintegerrequired

HTTP status code mirrored from the response.

titlestringrequired

Short human-readable summary.

typestringrequired

Machine-readable error class. Suitable for switch/match in client code.

Allowed:bad_requestvalidation_errorunauthorizedforbiddennot_foundconflictmethod_not_allowedunsupported_media_typeunprocessable_entityrate_limitedbad_gatewayinternal_error
429

Rate limit exceeded. Wait Retry-After seconds before retrying; RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset describe the window.

detailstring

Longer human-readable explanation when available.

errorsobject[]

Per-field validation failures. Present when type is validation_error.

Show properties
Array of object
fieldstringrequired
messagestringrequired
reasonstring

Script import failure when one or more Speakers have no saved Character match.

Allowed:unresolved_speakers
recoveryobject
Show properties
actionstringrequired
Allowed:correct_inputchoose_characterscheck_accountpoll_contentopen_studiocheck_contentreconnectretrycheck_result
idempotency_keystring
Allowed:reusenew
poll_after_secondsnumber
min 0
toolstring
Allowed:list_characterslist_contentget_contentsave_podcast
request_idstring

Correlation id, also returned in the X-Request-Id response header. Include in support requests.

speakersstring[]

Speaker labels needing a saved Character match when reason is unresolved_speakers.

statusintegerrequired

HTTP status code mirrored from the response.

titlestringrequired

Short human-readable summary.

typestringrequired

Machine-readable error class. Suitable for switch/match in client code.

Allowed:bad_requestvalidation_errorunauthorizedforbiddennot_foundconflictmethod_not_allowedunsupported_media_typeunprocessable_entityrate_limitedbad_gatewayinternal_error
500

Internal server error.

detailstring

Longer human-readable explanation when available.

errorsobject[]

Per-field validation failures. Present when type is validation_error.

Show properties
Array of object
fieldstringrequired
messagestringrequired
reasonstring

Script import failure when one or more Speakers have no saved Character match.

Allowed:unresolved_speakers
recoveryobject
Show properties
actionstringrequired
Allowed:correct_inputchoose_characterscheck_accountpoll_contentopen_studiocheck_contentreconnectretrycheck_result
idempotency_keystring
Allowed:reusenew
poll_after_secondsnumber
min 0
toolstring
Allowed:list_characterslist_contentget_contentsave_podcast
request_idstring

Correlation id, also returned in the X-Request-Id response header. Include in support requests.

speakersstring[]

Speaker labels needing a saved Character match when reason is unresolved_speakers.

statusintegerrequired

HTTP status code mirrored from the response.

titlestringrequired

Short human-readable summary.

typestringrequired

Machine-readable error class. Suitable for switch/match in client code.

Allowed:bad_requestvalidation_errorunauthorizedforbiddennot_foundconflictmethod_not_allowedunsupported_media_typeunprocessable_entityrate_limitedbad_gatewayinternal_error
Try it
Server
Authorization
Parameters
Request
curl -X GET 'https://api.jellypod.com/v1/voices' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Accept: application/json'
Response
{
  "data": [
    {
      "accent": "string",
      "description": "string",
      "gender": "male",
      "id": 30142,
      "language": "en",
      "model": "elevenlabs/eleven_v3",
      "voice_type": "professional"
    }
  ]
}

Was this page helpful?