Ditto Audio · Schema
CreateCustomVoiceDto
Text-to-SpeechVoice PluginsAudiobooksNeural VoiceOn-Device AI
Properties
| Name | Type | Description |
|---|---|---|
| name | string | |
| engine | string | xtts (default) or rvc. RVC voices persist model.onnx + model.pth. |
| sourceHash | string | sha-256 of the source model.pth (for an in-browser pth→onnx voice). Stored so a future client can skip re-converting via GET /models/custom/by-source/:hash. |
| baseSlug | string | base XTTS voice to overlay (omit for a full self-contained bundle) |
| files | array | the files to upload (full-bundle mode) |
| language | string | |
| sampleRate | number | |
| description | string | |
| gender | string | |
| age | string | |
| accent | string | |
| styles | array | |
| useCases | array |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/ditto-audio/json-schema/ditto-audio-create-custom-voice-dto-schema.json",
"title": "CreateCustomVoiceDto",
"x-generated": "2026-11-05",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/ditto-audio-openapi.json#/components/schemas/CreateCustomVoiceDto",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"engine": {
"type": "string",
"enum": [
"piper",
"xtts",
"kokoro",
"pocket",
"rvc",
"system",
"morpho"
],
"description": "xtts (default) or rvc. RVC voices persist model.onnx + model.pth."
},
"sourceHash": {
"type": "string",
"description": "sha-256 of the source model.pth (for an in-browser pth→onnx voice). Stored so a future client can skip re-converting via GET /models/custom/by-source/:hash."
},
"baseSlug": {
"type": "string",
"description": "base XTTS voice to overlay (omit for a full self-contained bundle)"
},
"files": {
"description": "the files to upload (full-bundle mode)",
"type": "array",
"items": {
"$ref": "#/$defs/CustomVoiceFileDto"
}
},
"language": {
"type": "string"
},
"sampleRate": {
"type": "number"
},
"description": {
"type": "string"
},
"gender": {
"type": "string",
"enum": [
"female",
"male",
"neutral"
]
},
"age": {
"type": "string",
"enum": [
"young",
"middle-aged",
"older"
]
},
"accent": {
"type": "string"
},
"styles": {
"type": "array",
"items": {
"type": "string"
}
},
"useCases": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"name"
],
"$defs": {
"CustomVoiceFileDto": {
"type": "object",
"properties": {
"fileName": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"model",
"config",
"vocab",
"speakers",
"index",
"sample",
"archive",
"other"
]
},
"contentHash": {
"type": "string",
"description": "sha-256 of the file — drives dedup (skip re-upload if present)"
},
"sizeBytes": {
"type": "number"
}
},
"required": [
"fileName",
"contentHash"
]
}
}
}
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-create-custom-voice-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.