API Reference
Voices
Every template narrates with ElevenLabs and takes a voiceId. This endpoint lists the ids you can use, so you don't have to hardcode them or look them up in the app.
GET
/v1/voicesList voices
Returns the voices bundled with Vsub plus any voice your workspace imported. The list rarely changes, so cache it rather than calling it before every video.
Response fields
voices[].idrequiredstring
Pass this as voiceId when creating a video.voices[].namerequiredstring
Display name, the same one shown in the voice picker in the app. Voices you imported yourself are suffixed with (private).voices[].descriptionstring
How the voice sounds, when the voice has one.voices[].genderstring
Usually male or female.voices[].accentstring
Such as american, british or australian.voices[].agestring
Such as young, middle_aged or old.voices[].useCasestring
What the voice was made for, such as narration, conversational or social_media.voices[].previewUrlstring
Short mp3 sample you can play to audition the voice. No authentication needed.Request
curl "https://api.vsub.io/v1/voices" \
-H "Authorization: Bearer vp_a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90"Response 200
{
"voices": [
{
"id": "aEO01A4wXwd1O8GPgGlF",
"name": "Arabella",
"description": "A young engaging female voice, enchanting and compelling with every word.",
"gender": "female",
"accent": "australian",
"age": "young",
"useCase": "conversational",
"previewUrl": "https://storage.googleapis.com/eleven-public-prod/.../B0TnT9nA9kj4OFUzZ3BQ.mp3"
}
]
}Fields other than id and name come from ElevenLabs and are left out when the voice doesn't declare them, so treat them as optional.
To narrate with a voice you cloned on your own ElevenLabs account, link the account in workspace settings and pick the voice in the app. Those voices aren't returned here yet. Fine tune how a voice reads a script with voiceStyle, documented on each template page.
