Skip to main content
POST
Generate speech (TTS endpoint)

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Body

application/json

Text-to-speech request.

Some fields apply only to specific model/platform combinations; the SpeechService validates combinations and returns 400 on a mismatch.

text
string
required

Text to synthesize.

Minimum string length: 1
model
enum<string>
default:orpheus-3b-tts

TTS model.

Available options:
orpheus-3b-tts,
spark-tts
voice
string | null

Voice/speaker. spark-tts: SpeakerID name (e.g. 'luganda_female') or id (e.g. '248'); orpheus-3b-tts: catalog tag (e.g. 'salt_lug_0001').

response_mode
enum<string>
default:url

url (signed URL), stream (raw audio), or both (SSE). stream/both require model='spark-tts' on platform='modal'.

Available options:
url,
stream,
both
language
string | null

orpheus only (ISO 639-3).

max_tokens
integer | null

orpheus only.

seed
integer | null

orpheus only.

max_new_audio_tokens
integer | null

runpod-spark only.

Response

Successful Response

Normalized response for response_mode='url' across all providers.

audio_url
string
required

Signed URL to the generated audio.

model
string
required

Model used.

voice
string
required

Resolved voice/speaker.

audio_url_expires_at
string<date-time> | null
language
string | null
sample_rate
integer | null
duration_seconds
number | null
request_id
string | null
timings_ms
Timings Ms · object | null