Overview
MiniMax Speech 2.8 is an async text-to-speech model for high-quality speech generation. APIXO supports built-in preset voices through the documented presetvoice_id list, and also accepts custom voice_id values created by MiniMax Voice.
| Capability | Value |
|---|---|
| Model ID | minimax-speech-2-8 |
| Modes | speech-turbo, speech-hd |
| Built-in preset voices | Yes, via documented preset voice_id list |
| Custom voices | Yes |
| Prompt length | 1-10000 characters |
| Pronunciation dictionary format | Alias/Pronunciation |
| Speed range | 0.5 to 2.0 |
| Volume range | 0.1 to 10.0 |
| Pitch range | -12 to 12 |
Endpoint and authentication
Base URL:| Method | Endpoint | Purpose |
|---|---|---|
POST | /generateTask/minimax-speech-2-8 | Submit a speech task |
GET | /statusTask/minimax-speech-2-8?taskId={taskId} | Poll task status and retrieve results |
Copy-paste async quickstart
This minimal request submits a speech task and returns ataskId.
taskId; you need it to poll for the final result.
Poll for result
resultJson after state becomes success:
Request body
Parameters
Result delivery mode. Use
async for polling with statusTask, or callback for webhook delivery.Required when
request_type is callback. Must be a public HTTPS URL that can receive the final task payload. See Webhooks.MiniMax Speech 2.8 input parameters.
Voice ID rules
- Use the preset
voice_idlist on MiniMax Speech 2.8 Preset Voices for built-in voices. - Use the returned custom
voice_idfrom MiniMax Voice when you want a custom cloned or designed voice. - Custom
voice_idvalues must be valid and available for the current account. - Only the documented fields on this page are part of the public request contract. Extra unsupported fields are ignored by APIXO unless they conflict with platform behavior.
Prompt behavior
promptsupports normal narration text.- You can use pause control such as
<#0.5#>inside the text. - Inline expressive tags such as
(laughs),(sighs), and(coughs)can also be included when useful. pronunciation_dictis the right place for abbreviation or alias-to-pronunciation overrides.
Pricing
| Mode | Price |
|---|---|
speech-turbo | 0.0600 USD / 1000 characters |
speech-hd | 0.1000 USD / 1000 characters |
prompt character count.
Response format
Submit task response
POST /generateTask/minimax-speech-2-8 returns a task ID when the task is accepted:
API status code.
200 means the task was accepted.Human-readable status message.
Unique task identifier used with the status endpoint.
Status response fields
Unique task identifier.
Current task state:
processing, success, or failed.JSON string containing audio result URLs. Present when
state is success.Machine-readable failure code. Present when
state is failed.Human-readable failure message. Present when
state is failed.Task creation timestamp in Unix milliseconds.
Task completion timestamp in Unix milliseconds. Present after completion.
Processing duration in milliseconds. Present after successful completion.
Webhook callback mode
Use callback mode when your backend should receive the final result automatically instead of polling.Latency and polling
Actual latency varies by text length, selected mode, queue load, and route health.| Workflow | Typical generation time | Recommended first poll | Poll interval |
|---|---|---|---|
speech-turbo | 5s-30s | 5s after task creation | 3s-5s |
speech-hd | 5s-30s | 5s after task creation | 3s-5s |
Errors and troubleshooting
HTTP errors
| Code | Meaning | What to do |
|---|---|---|
400 | Invalid request body or parameter shape | Fix the request before retrying |
401 | Missing or invalid API key | Check the Authorization header |
402 | Insufficient balance or quota | Add balance or switch account/key |
403 | Key or route cannot access the model | Check permissions and route strategy |
429 | Rate limit or concurrency limit reached | Retry with exponential backoff |
500 | Server error | Retry with backoff |
502 | Temporary model service error | Retry with backoff |
504 | Processing timeout | Retry or use callback mode |
Common validation rules
mode,voice_id, andpromptare required.- Built-in voices must use the documented preset
voice_idlist. - Custom
voice_idvalues must be valid and available for the current account. pronunciation_dictmust be a string array, and each item must useAlias/Pronunciationformat.speed,volume, andpitchcan be numeric strings, but the final values must stay within the documented ranges.sample_rateandbitratecan be numeric strings, but only the documented option values are accepted.channelaccepts1,2,mono, orstereo, where1=monoand2=stereo.emotion,format, andlanguage_boostmust match the documented supported values.