Skip to main content
POST
Convert text to speech with streaming response
Streams generated speech back chunk-by-chunk so you can start playback before the full clip is ready. For when to use streaming versus a fast non-streaming model, see Docs: Stream speech and Latency optimization.
Streaming is currently supported on sona_speech_1 only.

Endpoint

Path parameters

Request body

Content-Type: application/json

Response

Default (include_phonemes=false): Binary audio stream.
  • Content-Type: audio/wav or audio/mpeg (matches output_format).
  • The first chunk includes the audio file header; subsequent chunks are raw audio data.
When include_phonemes=true: Newline-delimited JSON (NDJSON), one object per chunk:

Notes

  • Stream speech is currently in beta and supports only sona_speech_1.
  • text over 300 characters returns 400. SDKs auto-chunk longer input and forward chunks to your iterator.
  • speed applies after duration (e.g. duration=5 + speed=2 ≈ 10 seconds).
  • When style is omitted, the voice’s default style is used. Use Get voice to inspect defaults.

See also

Docs: Stream speech

When to stream and how to consume chunks in each SDK.

LLM streaming TTS

End-to-end recipes with OpenAI and Anthropic.

Authorizations

x-sup-api-key
string
header
required

Path Parameters

voice_id
string
required

Body

application/json
text
string
required

The text to convert to speech

Maximum string length: 300
language
enum<string>
required

The language code of the text

Available options:
en,
ko,
ja,
bg,
cs,
da,
el,
es,
et,
fi,
hu,
it,
nl,
pl,
pt,
ro,
ar,
de,
fr,
hi,
id,
ru,
vi,
hr,
lt,
lv,
sk,
sl,
sv,
tr,
uk
style
string

The style of character to use for the text-to-speech conversion

model
enum<string>
default:sona_speech_1

The model type to use for the text-to-speech conversion

Available options:
sona_speech_1,
sona_speech_2,
sona_speech_2_flash,
supertonic_api_1,
supertonic_api_3
output_format
enum<string>
default:wav

The desired output format of the audio file (wav, mp3). Default is wav.

Available options:
wav,
mp3
voice_settings
object
include_phonemes
boolean
default:false

Return phoneme timing data with the audio

normalized_text
string

Pre-normalized text for TTS. Only used with sona_speech_2 and sona_speech_2_flash models.

Response

Streaming audio data in binary format or NDJSON format with phoneme data based on includePhonemes parameter

Binary audio stream (when includePhonemes=false or omitted)