
Contextual StepFun text-to-speech model with natural-language voice direction and expressive delivery.
Contextual StepFun text-to-speech model with natural-language voice direction and expressive delivery.
Character counting follows StepFun pricing: one Chinese character counts as one character, two English letters count as one character, and two punctuation marks count as one character.
Also known as StepAudio TTS, StepFun StepAudio 2.5 TTS, StepAudio-2.5-TTS, stepaudio-2-5-tts
stepaudio-2-5-tts/v1/audio/speechstepaudio-2.5-ttsstepfun/stepaudio-2-5-ttsstepfun/stepaudio-2.5-ttsLive pay-as-you-go rates from the EmpirioLabs catalog. You are billed only for what you use, with no monthly minimum.
StepAudio 2.5 TTS serves speech through POST /v1/audio/speech and returns playable audio. Send the text to speak as input with the model id stepaudio-2-5-tts. Get an API key from the EmpirioLabs dashboard.
curl https://api.empiriolabs.ai/v1/audio/speech \
-H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "stepaudio-2-5-tts",
"input": "Welcome to EmpirioLabs. Your build just finished."
}' \
--output speech.mp3import requests
response = requests.post(
"https://api.empiriolabs.ai/v1/audio/speech",
headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
json={"model": "stepaudio-2-5-tts", "input": "Welcome to EmpirioLabs."},
)
with open("speech.mp3", "wb") as f:
f.write(response.content)Request parameters supported by the StepAudio 2.5 TTS API on EmpirioLabs. Defaults apply when a field is omitted.
| Parameter | Type | Default | Range / values | Description |
|---|---|---|---|---|
| input | string | - | max 1000 | Text to synthesize. Maximum 1,000 characters. |
| voice | enum | lively-girl | lively-girl, vibrant-youth, soft-spoken-gentleman, magnetic-v... | Official StepFun voice. Custom cloned voice IDs are also accepted via the API. |
| response_format | enum | mp3 | mp3, wav, flac, opus, pcm | Output audio format. |
| speed | number | 1 | 0.5 to 2 | Speech speed. |
| volume | number | 1 | 0.1 to 2 | Output volume. |
| sample_rate | enum | 24000 | 8000, 16000, 22050, 24000 | Output sample rate in Hz. |
| instruction | string | - | max 200 | Global emotion or style guidance. Only supported by StepAudio 2.5 TTS. |
| pronunciation_map | object | - | - | Optional pronunciation mapping. |
| markdown_filter | boolean | false | - | Filter markdown syntax before synthesis. |
Maximum input is 1,000 characters. Content in parentheses is treated as direction and is not spoken. Use instruction for global emotion or style guidance. StepAudio 2.5 TTS does not support voice_label.
On EmpirioLabs, StepAudio 2.5 TTS is billed pay as you go: Synthesis $0.85 per 10,000 characters. The live rate card on this page always matches what the API charges.
StepAudio 2.5 TTS is served through POST /v1/audio/speech on api.empiriolabs.ai with standard bearer-token authentication.
Yes. The EmpirioLabs playground runs StepAudio 2.5 TTS in the browser with the same parameters the API exposes, so you can test prompts before writing code.
Create an EmpirioLabs account, then generate a key under API Keys in the dashboard. Billing is pay-as-you-go credits, so you only pay for the requests you make.
Check out our pricing or reach out if you want your own model deployed on our stack.