Project Files
schemas / prepare.schema.json
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://primary-data.dev/schemas/vibevoice-tts/prepare.json",
"title": "VibeVoice TTS Prepare Options",
"description": "Describes the options for the vibevoice-tts prepare tool — the full podcast script preparation pipeline. Handles abbreviation expansion, pause markers, direction tags, paragraph splitting, script chunking, and TTS parameter recommendations.",
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "The raw podcast script text to prepare. Supports plain text, Speaker N: format, pause markers like [pause 1s], and direction tags like [emphasis].",
"minLength": 1
},
"chunkSize": {
"type": "integer",
"description": "Target words per chunk for incremental TTS generation. 500 words is optimal for VibeVoice quality.",
"minimum": 100,
"maximum": 2000,
"default": 500
},
"paragraphPauses": {
"type": "boolean",
"description": "Insert empty-line pauses between paragraphs. VibeVoice interprets empty lines as natural pauses.",
"default": true
},
"sentencePauses": {
"type": "boolean",
"description": "Split long paragraphs into shorter ones (max sentences per paragraph). Improves TTS quality for dense text.",
"default": false
},
"maxSentencesPerParagraph": {
"type": "integer",
"description": "Maximum sentences per paragraph before auto-splitting. Only used when sentencePauses=true.",
"minimum": 1,
"maximum": 10,
"default": 3
},
"expandAbbreviations": {
"type": "boolean",
"description": "Expand common abbreviations (e.g. becomes for example, AI becomes A I). First occurrence only. Improves TTS pronunciation.",
"default": true
},
"preserveDirections": {
"type": "boolean",
"description": "Extract direction tags ([emphasis], [slower], etc.) as metadata hints instead of stripping them. Guides TTS param adjustments.",
"default": true
},
"output": {
"type": "string",
"description": "Output format: 'plain' (prepared text), 'script' (Speaker N: prefix format), or 'json' (structured chunk array).",
"enum": ["plain", "script", "json"],
"default": "script"
}
},
"required": ["text"],
"additionalProperties": false
}