Live discovery responses
Runtime, deployment models, and GPU state
Each pack is one checkpoint. Voices sharing weights stay together so every choice affects downloads and VRAM.
Allow trusted AI agents to generate expiring audio links and manage model packs. This is not authentication; use it only on a trusted deployment.
Endpoint and temporary output directory are being detected.
SSML is used only when the orange SSML mode is active. Plain text remains the default. Language segments keep the current voice; voice segments create characters and multilingual dialogue.
<speak> <voice name="af_heart">Good morning, Michael.</voice> <break time="250ms"/> <voice name="am_michael"> <prosody speed="0.9" pitch="-1st">Good morning. Coffee first?</prosody> </voice> </speak>
<voice name="af_heart">...</voice>
<lang xml:lang="en-US">...</lang>
<prosody speed="0.9" pitch="+2st" tempo="1.05" volume="0.9">...</prosody>
<break time="500ms"/>
<sub alias="spoken text">label</sub>
<say-as interpret-as="characters">SQL</say-as>
<say-as interpret-as="number">42</say-as>
<say-as interpret-as="ordinal">3</say-as>
<phoneme alphabet="ipa" ph="wˈɜːld">world</phoneme>
Prosody ranges are speed and tempo 0.5-2, pitch -12st to +12st, and volume 0-2. Nested values compose with request-level controls and must remain in range; speed changes model delivery, while pitch, tempo, and volume are post-effects. Loudness normalization remains request-wide for complete files. One speak root is required. Voice names must be enabled by the deployment. Language tags accept served Kokoro codes and common BCP-47 forms such as en-US, zh-CN, and de-DE. Documents are limited to 50,000 characters, 256 elements, and eight nesting levels; direct phonemes to 510 characters and ordinals to 18 digits. Unsupported markup, unsafe XML, breaks over 10 seconds, and more than 30 seconds of total silence are rejected.