Minimax Speech 2.5 Turbo Preview
Playground
Try it on WavespeedAI!Minimax Speech 2.5 Turbo Preview: HD TTS with multilingual support, accurate voice replication across 40 languages. $0.04/1000 chars. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Features
MiniMax Speech 2.5 Turbo Preview
MiniMax’s high-definition text-to-speech model with natural pronunciation and clear articulation. Features multiple voice options, adjustable speed, volume, and pitch controls for professional-grade audio generation.
Features
Three major breakthroughs: stronger multilingual performance, more lifelike tone, and 40 languages covered — now with real-time streaming capabilities for low-latency audio generation.
Leapfrogging multilingual performance
- Chinese is the world’s strongest, English and other languages have been comprehensively improved in terms of accuracy, similarity, and natural rhythm, surpassing the previous generation Speech 02.
- English similarity has been significantly improved, and 40 languages can be switched at will, making it no longer “mechanical” in commercial meetings, daily conversations, and English podcasts.
Lifelike tone replication
- Across languages, accents, styles, and emotions, with industry-leading precision in detail.
- The model can still achieve “voice”-like realism in extreme scenarios, such as cross-language accent preservation, regional accent preservation, and special age voice replication.
40 languages are now supported
- Diversified high-quality audio library, globalized and unobstructed.
- New additions include Bulgarian, Danish, Hebrew, Malay, Persian, Slovak, Swedish, Croatian, Filipino, Hungarian, Norwegian, Slovenian, Catalan, Nynorsk, Tamil, Afrikaans… …
- Cross-border e-commerce, overseas customer service, and localized marketing are now easier than ever with globalized content creation at your fingertips.
- Streaming mode: generate and play audio as it’s being synthesized for real-time applications.
Voice ID List
We offer a rich, built-in library of multi-lingual voices. For a detailed list, please refer to this document.
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/minimax/speech-2.5-turbo-preview" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"speed": 1,
"volume": 1,
"pitch": 0,
"emotion": "happy",
"english_normalization": false,
"enable_sync_mode": false
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| text | string | Yes | - | - | Text to convert to speech. Every character is 1 token. Maximum 10000 characters. Use <#x#> between words to control pause duration (0.01-99.99s). |
| voice_id | string | Yes | - | - | Desired voice ID. Use a voice ID you have trained (https://wavespeed.ai/models/minimax/voice-clone), or one of the following system voice IDs: Wise_Woman, Friendly_Person, Inspirational_girl, Deep_Voice_Man, Calm_Woman, Casual_Guy, Lively_Girl, Patient_Man, Young_Knight, Determined_Man, Lovely_Girl, Decent_Boy, Imposing_Manner, Elegant_Man, Abbess, Sweet_Girl_2, Exuberant_Girl. |
| speed | number | No | 1 | 0.50 ~ 2.00 | Speech speed. Range: 0.5-2.0, where 1.0 is normal speed. |
| volume | number | No | 1 | 0.10 ~ 10.00 | Speech volume. Range: 0.1-10.0, where 1.0 is normal volume. |
| pitch | number | No | - | -12 ~ 12 | Speech pitch. Range: -12 to 12, where 0 is normal pitch. |
| emotion | string | No | happy | happy, sad, angry, fearful, disgusted, surprised, neutral | The emotion of the generated speech. |
| english_normalization | boolean | No | false | - | This parameter supports English text normalization, which improves performance in number-reading scenarios. |
| sample_rate | integer | No | - | 8000, 16000, 22050, 24000, 32000, 44100 | Sample rate of generated sound. |
| bitrate | integer | No | - | 32000, 64000, 128000, 256000 | Bitrate of generated sound. |
| channel | string | No | - | 1, 2 | The number of channels of the generated audio. 1: mono, 2: stereo. |
| format | string | No | - | mp3, wav, pcm, flac | Format of generated sound. |
| language_boost | string | No | - | Chinese, Chinese,Yue, English, Arabic, Russian, Spanish, French, Portuguese, German, Turkish, Dutch, Ukrainian, Vietnamese, Indonesian, Japanese, Italian, Korean, Thai, Polish, Romanian, Greek, Czech, Finnish, Hindi, Bulgarian, Danish, Hebrew, Malay, Persian, Slovak, Swedish, Croatian, Filipino, Hungarian, Norwegian, Slovenian, Catalan, Nynorsk, Tamil, Afrikaans, auto | Enhance the ability to recognize specified languages and dialects. |
| enable_sync_mode | boolean | No | false | - | If set to true, the function will wait for the result to be generated and uploaded before returning the response. It allows you to get the result directly in the response. This property is only available through the API. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data.id | string | Unique identifier for the prediction, Task Id |
| data.model | string | Model ID used for the prediction |
| data.outputs | array | Array of URLs to the generated content (empty when status is not completed) |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |