Ditto Audio · Schema
UpdateVoiceModelDto
Text-to-SpeechVoice PluginsAudiobooksNeural VoiceOn-Device AI
Properties
| Name | Type | Description |
|---|---|---|
| slug | string | lowercase-kebab unique id |
| name | string | |
| description | string | |
| engine | string | |
| language | string | |
| quality | string | |
| gender | object | Who the voice sounds like: `female`, `male` or `neutral`. A label or alias (`woman`, `man`) is stored as its key; a word that names none is a 400 `VOICE_TAXONOMY`, like every word of the voice taxonom |
| accent | object | An accent of the voice taxonomy (GET /v1/models/taxonomy), when finer than what `language` says: `en-GB` is British already. |
| age | object | How old the voice sounds: `young`, `middle-aged` or `older` (a label is stored as its key). |
| styles | array | How it sounds: style keys of the voice taxonomy. |
| useCases | array | What it suits: use-case keys of the voice taxonomy. |
| taxonomySource | string | Who says the accent, styles and use cases of this request: the catalogue's record, a measurement of the audio, or the dataset the voice came from. |
| version | string | |
| format | string | |
| sampleRate | number | |
| author | string | |
| license | string | |
| sourceUrl | string | |
| tags | array | |
| coverImageUrl | string | |
| isPublic | boolean | |
| isFeatured | boolean | |
| isPremium | boolean | Premium voice — access gated by the subscriber tier quota (premiumModels). |
| baseSlug | string | For an overlay catalog voice (e.g. an XTTS studio speaker): the slug of the base XTTS voice whose heavy bundle this voice reuses. Only this voice’s latents are stored; the client loads the shared base |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/ditto-audio/json-schema/ditto-audio-update-voice-model-dto-schema.json",
"title": "UpdateVoiceModelDto",
"x-generated": "2026-11-05",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/ditto-audio-openapi.json#/components/schemas/UpdateVoiceModelDto",
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "lowercase-kebab unique id"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"engine": {
"type": "string",
"enum": [
"piper",
"xtts",
"kokoro",
"pocket",
"rvc",
"system",
"morpho"
]
},
"language": {
"type": "string"
},
"quality": {
"type": "string"
},
"gender": {
"type": "object",
"description": "Who the voice sounds like: `female`, `male` or `neutral`. A label or alias (`woman`, `man`) is stored as its key; a word that names none is a 400 `VOICE_TAXONOMY`, like every word of the voice taxonomy."
},
"accent": {
"type": "object",
"description": "An accent of the voice taxonomy (GET /v1/models/taxonomy), when finer than what `language` says: `en-GB` is British already."
},
"age": {
"type": "object",
"description": "How old the voice sounds: `young`, `middle-aged` or `older` (a label is stored as its key)."
},
"styles": {
"description": "How it sounds: style keys of the voice taxonomy.",
"type": "array",
"items": {
"type": "string"
}
},
"useCases": {
"description": "What it suits: use-case keys of the voice taxonomy.",
"type": "array",
"items": {
"type": "string"
}
},
"taxonomySource": {
"type": "string",
"enum": [
"curated",
"measured",
"import"
],
"default": "curated",
"description": "Who says the accent, styles and use cases of this request: the catalogue's record, a measurement of the audio, or the dataset the voice came from."
},
"version": {
"type": "string"
},
"format": {
"type": "string"
},
"sampleRate": {
"type": "number"
},
"author": {
"type": "string"
},
"license": {
"type": "string"
},
"sourceUrl": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"coverImageUrl": {
"type": "string"
},
"isPublic": {
"type": "boolean",
"default": true
},
"isFeatured": {
"type": "boolean",
"default": false
},
"isPremium": {
"type": "boolean",
"default": false,
"description": "Premium voice — access gated by the subscriber tier quota (premiumModels)."
},
"baseSlug": {
"type": "string",
"description": "For an overlay catalog voice (e.g. an XTTS studio speaker): the slug of the base XTTS voice whose heavy bundle this voice reuses. Only this voice’s latents are stored; the client loads the shared base and swaps them in."
}
}
}
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/ditto-audio-update-voice-model-dto"
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.