Skip to main content
POST

Authorizations

Authorization
string
header
required

Modellix API Key. Format: Bearer <your_api_key>

Body

application/json

One-shot voice clone + TTS request. Required: model, audio_url, text. Optional: prompt_audio/prompt_text, clone processing, language_boost, AIGC watermark, TTS prosody/audio/pronunciation/voice effects, and subtitles. The cloned voice is temporary and is not returned.

model
enum<string>
required

Supported MiniMax speech model for both voice clone and TTS in this request.

Available options:
speech-2.8-hd,
speech-2.8-turbo
Example:

"speech-2.8-turbo"

audio_url
string
required

Primary reference audio URL for cloning. Must be publicly accessible without auth. Formats: mp3, m4a, wav. Duration 10 seconds–5 minutes. File size ≤20 MB. Distinct from prompt_audio.

Required string length: 1 - 2048
Example:

"https://example.com/reference.wav"

text
string
required

Text to synthesize with the temporarily cloned voice. Required. Fewer than 10,000 Unicode characters. On speech-2.8-hd / speech-2.8-turbo, may include paralinguistic tags such as (laughs), (breath), or (sighs).

Required string length: 1 - 9999
Example:

"Welcome to Modellix speech synthesis."

prompt_audio
string

Optional short example audio URL to improve clone similarity and stability. Not a substitute for audio_url. Formats: mp3, m4a, wav. Duration must be under 8 seconds. File size ≤20 MB.

Required string length: 1 - 2048
Example:

"https://example.com/short-sample.wav"

prompt_text
string

Optional transcript matching prompt_audio. Must align with the example audio content; end with punctuation. Not a substitute for text.

Required string length: 1 - 1000
Example:

"Short sample content."

need_noise_reduction
boolean
default:false

Whether to enable noise reduction on the clone reference audio. Default false.

Example:

false

need_volume_normalization
boolean
default:false

Whether to enable volume normalization for cloning. Default false.

Example:

false

language_boost
enum<string>

Optional language or dialect boost for both cloning and synthesis. Omit for default behavior. Use auto to let the model decide.

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:

"Chinese"

aigc_watermark
boolean
default:false

Whether to append an AIGC watermark to the returned audio. Default false.

Example:

false

speed
number
default:1

Speech rate multiplier for synthesis. Default 1.0. Range [0.5, 2.0].

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

1

vol
number
default:1

Speech volume for synthesis. Default 1.0. Range (0.0, 10.0].

Required range: x <= 10
Example:

1

pitch
integer
default:0

Pitch adjustment in semitones. Default 0. Range [-12, 12]. Distinct from modify_pitch (voice effect).

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

0

emotion
enum<string>

Optional emotion control. Leave unset to let the model infer from text.

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

"happy"

text_normalization
boolean
default:false

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

Example:

false

latex_read
boolean
default:false

Enable reading LaTeX formulas aloud (Chinese only). When true, language_boost may be forced to Chinese. Wrap formulas with $$ and escape backslashes. Default false.

Example:

false

sample_rate
enum<integer>
default:32000

Output sample rate in Hz. Default 32000.

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

32000

bitrate
enum<integer>
default:128000

Audio bitrate. Default 128000. Only effective when format is mp3; ignored for other formats.

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

128000

format
enum<string>
default:mp3

Output audio encoding format. Default mp3. Result audio is returned as a URL on the completed task.

Available options:
mp3,
pcm,
flac,
wav
Example:

"mp3"

channel
enum<integer>
default:1

Output channel count. 1 is mono, 2 is stereo. Default 1.

Available options:
1,
2
Example:

1

force_cbr
boolean
default:false

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

Example:

false

pronunciation_tone
string[]

Custom pronunciation rules. Use / as separator. For Mandarin entries, tones are digits 1-5 (5=neutral), e.g. name/(yan4)(shao3)(fei1). Example: ["omg/oh my god"].

Example:
modify_pitch
integer

Voice effect pitch: lower is deeper, higher is brighter. Range [-100, 100]. Distinct from pitch (semitone).

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

0

modify_intensity
integer

Voice effect intensity: lower is stronger, higher is softer. Range [-100, 100].

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

0

modify_timbre
integer

Voice effect timbre: lower is thicker, higher is brighter or crisper. Range [-100, 100].

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

0

sound_effects
enum<string>

Optional sound effect applied to the output. Supported for mp3, wav, and flac.

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

"spacious_echo"

subtitle_enable
boolean
default:false

Whether to generate a subtitle download link. Default false.

Example:

false

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.