Minimax Speech 02 Hd
Playground
Try it on WavespeedAI!MiniMax’s high-definition text-to-speech model, Your request will cost $0.05 per 1000 characters.
Features
MiniMax Speech-02-HD
MiniMax Speech-02-HD is a high-definition text-to-speech (TTS) model that brings your words to life with natural pronunciation and studio-grade clarity. Perfect for creators, educators, and developers, it supports multi-lingual voices, flexible speed / volume / pitch controls, and delivers audio that sounds as if recorded by a real human voice actor. 🎧
🌟 Why it sounds great
- 🎵 High-definition synthesis: captures human-like tone, rhythm, and emotional nuance.
- 🌍 Multi-lingual support: speaks English, Chinese, Japanese, Korean, Spanish, and more — with accent-aware precision.
- 🗣️ Clear articulation: crisp and natural delivery, free from robotic noise or digital distortion.
- 🎚️ Adjustable parameters: control speed, volume, and pitch to match your desired energy and mood.
- 👥 Multiple voice options: choose from a diverse library of professional male, female, and regional voices.
- ⚡ Real-time streaming capabilities: generate and play audio as it’s being synthesized, enabling low-latency experiences for live applications.
⚙️ Limits and Performance
- 🧾 Max input length: up to 10,000 characters per request
- ⚡ Processing speed: around 1–2 seconds of real time per second of audio
- 🎧 Output format: MP3 or WAV
- 🌐 Languages: English, Chinese, Japanese, Korean, Spanish, and more
For the full multilingual voice list, see this document.
💰 Pricing
Your request will cost $0.05 per 1000 characters.
🚀 How to Use
- ✍️ Enter or upload your text (≤10,000 characters).
- 🧠 Choose your voice ID and language_boost.
- 🎚️ Adjust speed, volume, and pitch if needed.
- ▶️ Click Generate Audio — preview or download your file in MP3/WAV/PCM/FLAC, or use streaming mode for instant real-time playback.
💡 Pro Tips for Best Quality
- Use short sentences for smoother rhythm.
- For narration, try a slightly slower speed and lower pitch.
- Include punctuation — it helps the voice breathe naturally.
- Choose HD voices for podcasts, ads, or commercial projects.
- Use streaming mode for interactive or live-response scenarios.
📝 Notes
- The generation time will also depends on the selections you choose, like bitrate and channel.
- You can also find some guidance in this article: Build your digital human.
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-02-hd" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"text": "Welcome to our advanced text-to-speech system! Experience high-quality voice synthesis with natural pronunciation and clear articulation.",
"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 | Welcome to our advanced text-to-speech system! Experience high-quality voice synthesis with natural pronunciation and clear articulation. | - | 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, 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 |