---
title: "Convert text to speech with streaming response"
method: POST
path: "/v1/text-to-speech/{voice_id}/stream"
tags: ["text_to_speech"]
---

# Convert text to speech with streaming response

`POST /v1/text-to-speech/{voice_id}/stream`

Convert text to speech using the specified voice with streaming response. Returns binary audio stream.

## Path parameters

- `voice_id` string, required

## Request body

- APIConvertTextToSpeechUsingCharacterRequest
  - `text` string, required — The text to convert to speech
  - `language` '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', required — The language code of the text
  - `style` string — The style of character to use for the text-to-speech conversion
  - `model` 'sona_speech_1' | 'sona_speech_2' | 'sona_speech_2_flash' | 'supertonic_api_1' | 'supertonic_api_3' — The model type to use for the text-to-speech conversion
  - `output_format` 'wav' | 'mp3' — The desired output format of the audio file (wav, mp3). Default is wav.
  - `voice_settings` ConvertTextToSpeechParameters
    - `pitch_shift` number
    - `pitch_variance` number
    - `speed` number
    - `duration` number — Duration parameter for TTS generation
    - `similarity` number — Similarity parameter for voice matching
    - `text_guidance` number — Text guidance parameter for generation control
    - `subharmonic_amplitude_control` number — Subharmonic amplitude control parameter
  - `include_phonemes` boolean — 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 `200`

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

## Other responses

- `400` — Bad Request: Invalid request data or parameters
- `401` — Unauthorized: Invalid API key
- `402` — Payment Required: Not enough credits
- `403` — Forbidden: Permission denied
- `404` — Not Found: Voice not found
- `408` — Request Timeout
- `429` — Too Many Requests: Rate limit exceeded
- `500` — Internal Server Error: Failed to process streaming TTS

---

[API](https://skmtc.net/supertoneapi/apis/supertone-public-api.md) · [All operations](https://skmtc.net/supertoneapi/apis/supertone-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/supertoneapi/supertone-public-api/revisions/1ac6d0957e70/schema)
