Skip to main content
POST

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

text is always required. Exactly one of voice_id or timbre_weights is required (mutually exclusive). stream, stream_options, and output_format are not accepted.

text
string
required

Text to synthesize (fewer than 10000 characters). Supports pause markers such as <#0.5#>, inline pronunciation in parentheses, and paralinguistic tags such as (laughs) or (sighs).

Required string length: 1 - 9999
Example:

"Hello, this is MiniMax speech synthesis."

voice_id
string
required

Required when not using timbre_weights (exactly one of voice_id or timbre_weights). Accepts a system, cloned, or AI-generated voice ID. Mutually exclusive with timbre_weights. Full official system voice catalog: https://platform.minimax.io/docs/faq/system-voice-id . Sample system voices (not exhaustive): English_expressive_narrator, English_radiant_girl, English_magnetic_voiced_man, Chinese (Mandarin)_News_Anchor, Chinese (Mandarin)_Lyrical_Voice, Chinese (Mandarin)_Reliable_Executive.

Required string length: 1 - 256
Example:

"English_expressive_narrator"

timbre_weights
object[]

Required when not using voice_id (exactly one of voice_id or timbre_weights). Mix up to 4 voices by weight. Mutually exclusive with top-level voice_id.

Required array length: 1 - 4 elements
speed
number
default:1

Speech rate multiplier. Higher is faster.

Required range: 0.5 <= x <= 2
Example:

1

vol
number
default:1

Speech volume. Range (0, 10].

Required range: x <= 10
Example:

1

pitch
integer
default:0

Pitch adjustment in semitones. Distinct from modify_pitch (voice effect slider).

Required range: -12 <= x <= 12
Example:

0

emotion
enum<string>

Optional emotion control. Leave unset to let the model choose naturally. whisper is not supported on speech-2.8-hd or speech-2.8-turbo.

Available options:
happy,
sad,
angry,
fearful,
disgusted,
surprised,
calm,
fluent
Example:

"calm"

text_normalization
boolean
default:false

Enable Chinese/English text normalization for better number reading; may add slight latency.

Example:

false

latex_read
boolean
default:false

Enable LaTeX formula reading (Chinese). When enabled, language_boost may be forced to Chinese. Wrap formulas with $$.

Example:

false

sample_rate
enum<integer>
default:32000

Output sample rate in Hz.

Available options:
8000,
16000,
22050,
24000,
32000,
44100
Example:

32000

bitrate
enum<integer>
default:128000

Audio bitrate. Applies to mp3 only.

Available options:
32000,
64000,
128000,
256000
Example:

128000

format
enum<string>
default:mp3

Output audio format. pcmu_raw and pcmu_wav are G.711 mu-law (8 kHz).

Available options:
mp3,
pcm,
flac,
wav,
pcmu_raw,
pcmu_wav,
opus
Example:

"mp3"

channel
enum<integer>
default:1

Number of channels. 1 is mono, 2 is stereo.

Available options:
1,
2
Example:

1

force_cbr
boolean
default:false

Force constant bitrate encoding. Optional; typically unused for standard async synthesis.

Example:

false

pronunciation_tone
string[]

Custom pronunciation rules in original/replacement form, for example omg/oh my god or Chinese pinyin with tone numbers.

Example:
language_boost
enum<string>

Boost recognition for a language or dialect. Use auto when the language is unknown.

Available options:
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
Example:

"English"

modify_pitch
integer

Voice effect: deepen (negative) to brighten (positive). Distinct from pitch (semitone).

Required range: -100 <= x <= 100
Example:

0

modify_intensity
integer

Voice effect: stronger (negative) to softer (positive).

Required range: -100 <= x <= 100
Example:

0

modify_timbre
integer

Voice effect: fuller (negative) to crisper (positive).

Required range: -100 <= x <= 100
Example:

0

sound_effects
enum<string>

Optional single sound effect applied to the output.

Available options:
spacious_echo,
auditorium_echo,
lofi_telephone,
robotic
Example:

"spacious_echo"

subtitle_enable
boolean
default:false

Whether to generate a subtitle file download link.

Example:

false

subtitle_type
enum<string>
default:sentence

Subtitle granularity. word_streaming is not supported.

Available options:
sentence,
word
Example:

"sentence"

Response

Task submitted successfully. Poll GET /api/v1/tasks/{task_id} until the task completes; synthesized audio is returned on the task result.

Response object for asynchronous task submission.

code
integer
required

Response code, 0 indicates success

Example:

0

message
string
required

Response message

Example:

"success"

data
object
required

Task submission details. Poll GET /api/v1/tasks/{task_id} until status is success; audio appears in result.resources.