Properties
| Name | Type | Description |
|---|---|---|
| ttsVoices | array | |
| hasMore | boolean | When true, there are more voices available. Pass `nextCursor` as the `cursor` query param to fetch the next page. |
| nextCursor | stringnull | Opaque cursor to fetch the next page. `null` when `hasMore` is false. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/videogen-io/json-schema/videogen-io-tts-voice-list-response-schema.json",
"title": "TtsVoiceListResponse",
"x-generated": "2026-11-10",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/videogen-io-resources-api-openapi.yml#/components/schemas/TtsVoiceListResponse",
"type": "object",
"required": [
"ttsVoices",
"hasMore",
"nextCursor"
],
"properties": {
"ttsVoices": {
"type": "array",
"items": {
"$ref": "#/$defs/TtsVoice"
}
},
"hasMore": {
"type": "boolean",
"description": "When true, there are more voices available. Pass `nextCursor` as the `cursor` query param to fetch the next page."
},
"nextCursor": {
"type": [
"string",
"null"
],
"description": "Opaque cursor to fetch the next page. `null` when `hasMore` is false."
}
},
"$defs": {
"TtsVoice": {
"type": "object",
"description": "A text-to-speech voice.",
"required": [
"voiceId",
"languageCode",
"displayName",
"displayGender",
"supportsDirectToolExecution",
"supportsAllLanguages",
"isDeprecated"
],
"properties": {
"voiceId": {
"type": "string",
"description": "Voice id (e.g. `vg_voic_...`). Pass this or `displayName` as `voiceId` to `POST /v1/tools/text-to-speech`."
},
"languageCode": {
"type": "string",
"description": "Locale tag for the voice (e.g. `en-US`, `es-ES`)."
},
"displayName": {
"type": "string",
"description": "Human-readable voice name."
},
"displayGender": {
"type": "string",
"enum": [
"MALE",
"FEMALE",
"NEUTRAL"
],
"description": "Voice gender."
},
"accent": {
"type": [
"string",
"null"
],
"description": "Accent (e.g. `american`, `british`)."
},
"description": {
"type": [
"string",
"null"
],
"description": "Description of the voice."
},
"supportsDirectToolExecution": {
"type": "boolean",
"description": "When false, this voice cannot be used directly with `POST /v1/tools/text-to-speech`. All voices, regardless of this field, can be used in full video generation workflows such as script-to-video."
},
"supportsAllLanguages": {
"type": "boolean",
"description": "When true, this voice can synthesize text in any language regardless of its `languageCode`. When false, the voice only supports its listed language."
},
"isDeprecated": {
"type": "boolean",
"description": "When true, this voice is deprecated and may be removed in a future API version. Prefer non-deprecated voices for new integrations."
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/videogen-io-tts-voice-list-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.