List the voices you can synthesize with: the public voice library plus any voices you have cloned.
Headers
X-API-KeystringrequiredYour VisionStory API key (sk-vs-...), kept server-side. Create or manage keys in API keys (Pro plan and up).
Responses
200Successful Response
application/json
dataGetVoicesResponse | nullrequirednullableThe endpoint payload. Its shape is specific to each endpoint (see that endpoint's response schema); null for operations that return no body, such as delete.
my_voicesVoiceDto[]requiredVoices this account has cloned.
is_freebooleanrequiredWhether this voice is usable on the free plan; premium voices require a paid plan.
languagestringrequiredPrimary language this voice speaks, e.g. english.
preview_audio_urlstringrequiredURL of a short sample clip demonstrating how this voice sounds.
providerstringSpeech engine this voice comes from (e.g. elevenlabs / gemini / minimax), so you can pick voices by engine. Descriptive, not a guarantee: synthesis may fall back to another engine.
tagsstring | nullnullableFree-text descriptors (e.g. accent, gender, age) to help pick a voice; may be empty.
voice_idstringrequiredVoice identifier. Pass it as voice_id in a text script, or as the target voice when converting uploaded audio.
public_voicesVoiceDto[]requiredPlatform-provided voices available for text-to-speech.
is_freebooleanrequiredWhether this voice is usable on the free plan; premium voices require a paid plan.
languagestringrequiredPrimary language this voice speaks, e.g. english.
preview_audio_urlstringrequiredURL of a short sample clip demonstrating how this voice sounds.
providerstringSpeech engine this voice comes from (e.g. elevenlabs / gemini / minimax), so you can pick voices by engine. Descriptive, not a guarantee: synthesis may fall back to another engine.
tagsstring | nullnullableFree-text descriptors (e.g. accent, gender, age) to help pick a voice; may be empty.
voice_idstringrequiredVoice identifier. Pass it as voice_id in a text script, or as the target voice when converting uploaded audio.
messagestringHuman-readable status message; "success" on a successful call.
server_timestring · date-timerequiredServer-side timestamp when the response was produced, in ISO 8601 format (UTC).
defaultError response. All failures share one 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 (useful for AI agents).
application/json
errorErrorDetailrequiredcodeintegerrequiredMachine-readable error code. Mirrors the HTTP status for transport-level failures (e.g. 401, 404, 422, 500) and may carry a business-specific code otherwise.
detailsstring | nullnullableOptional structured detail about the failure, e.g. a JSON string of per-field validation errors on a 422. Absent when there is nothing extra to report.
hintstring | nullnullableActionable next step for resolving the error, written for both humans and AI agents (e.g. how to fix the request, or where to obtain an API key). May be absent.
messagestringrequiredHuman-readable explanation of what went wrong. Safe to log or surface to end users; not localized.