include_phonemes: true on a TTS request.
Supported on
sona_speech_2, sona_speech_2_flash, and sona_speech_1. Not supported on supertonic_api_3 or supertonic_api_1.Usage
- Python
- TypeScript
- cURL
Response shape
The three phoneme arrays are aligned —
symbols[i], start_times_seconds[i], and durations_seconds[i] describe the same phoneme.
Streaming with phonemes
When you callstream_speech with include_phonemes: true, the response becomes NDJSON (newline-delimited JSON). Each line is a chunk with its own audio_base64 and phonemes data:
Use cases
- Lip-sync in games and animation. Map each phoneme to a viseme (mouth shape) and play visemes in sync with the audio. Most engines come with a default phoneme-to-viseme table — Supertone’s symbols are standard IPA-style and compatible with most rigs.
- Karaoke / word highlighting. Use phoneme start times to highlight words as they’re spoken.
- Pronunciation analysis. Compare actual phonemes against an expected sequence to check pronunciation in language-learning apps.
Related
Lip sync example
Build a phoneme → viseme pipeline.
Normalized text
Improve pronunciation for ambiguous inputs.