
StepFun text-to-speech model with official voices, custom cloned voices, and voice tag controls.
StepFun text-to-speech model with official voices, custom cloned voices, and voice tag controls.
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 StepFun Step TTS 2, Step-TTS-2
step-tts-2/v1/audio/speechstepfun/step-tts-2Live pay-as-you-go rates from the EmpirioLabs catalog. You are billed only for what you use, with no monthly minimum.
Step TTS 2 serves speech through POST /v1/audio/speech and returns playable audio. Send the text to speak as input with the model id step-tts-2. 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": "step-tts-2",
"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": "step-tts-2", "input": "Welcome to EmpirioLabs."},
)
with open("speech.mp3", "wb") as f:
f.write(response.content)Request parameters supported by the Step TTS 2 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. |
| voice_label | object | - | - | Emotion and speaking-style tags for step-tts-2. |
| pronunciation_map | object | - | - | Optional pronunciation mapping. |
| markdown_filter | boolean | false | - | Filter markdown syntax before synthesis. |
Maximum input is 1,000 characters. Supports official voice IDs, custom cloned voices, voice_label emotion tags, and voice_label style tags. The instruction parameter is only for stepaudio-2.5-tts.
On EmpirioLabs, Step TTS 2 is billed pay as you go: Synthesis $0.40 per 10,000 characters. The live rate card on this page always matches what the API charges.
Step TTS 2 is served through POST /v1/audio/speech on api.empiriolabs.ai with standard bearer-token authentication.
Yes. The EmpirioLabs playground runs Step TTS 2 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.