> ## Documentation Index
> Fetch the complete documentation index at: https://docs.myrouter.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# MiniMax Speech-2.6-hd Synchronous Text-to-Speech

This API supports synchronous text-to-speech generation with a maximum of 10,000 characters per request. Supports 100+ system voices and cloned voices; supports volume, pitch, speed, and output format customization; supports proportional voice mixing and fixed interval time control; supports multiple audio specifications and formats including: mp3, pcm, flac, wav, with streaming output support.

After submitting a long text speech synthesis request, please note that the returned URL is valid for 24 hours from the time it is generated. Please download the content in time.

<Tip>Suitable for short sentence generation, voice chat, online social scenarios with low latency, but text length limit is less than 10,000 characters. For long text, it is recommended to use [Async Text-to-Speech](/docs/models/reference-minimax-speech-2.6-hd-async).</Tip>

## Request Headers

<ParamField header="Content-Type" type="string" required={true}>
  Enum: `application/json`
</ParamField>

<ParamField header="Authorization" type="string" required={true}>
  Bearer authentication format: Bearer \{\{API Key}}.
</ParamField>

## Request Body

<ParamField body="text" type="string" required={true}>
  The text to be synthesized, length limit less than 10,000 characters. Use newline characters for paragraph breaks. (To control pause duration in speech, add \<#x#> between characters, where x is in seconds, supporting 0.01-99.99 with up to two decimal places). Supports custom time intervals between text segments to achieve custom speech pause durations. Note that text intervals must be set between two text segments that can be vocalized, and multiple consecutive time intervals cannot be set.
</ParamField>

<ParamField body="voice_setting" type="object" required={true}>
  <Expandable title="properties">
    <ParamField body="speed" type="float" default="1.0">
      Range \[0.5, 2], Default: 1.0

      The speech rate of the generated audio. Optional; higher values result in faster speech.
    </ParamField>

    <ParamField body="vol" type="float" default="1.0">
      Range (0, 10], Default: 1.0

      The volume of the generated audio. Optional; higher values result in louder volume.
    </ParamField>

    <ParamField body="pitch" type="int" default="0">
      Range \[-12, 12], Default: 0

      The pitch of the generated audio. Optional (0 outputs the original voice; value must be an integer).
    </ParamField>

    <ParamField body="voice_id" type="string">
      The voice ID for the request. Either this or timbre\_weights is required.

      Supports both system voices (ID) and cloned voices (ID). The system voice IDs are as follows:

      * Youthful Male Voice: `male-qn-qingse`
      * Elite Young Male Voice: `male-qn-jingying`
      * Assertive Young Male Voice: `male-qn-badao`
      * College Male Voice: `male-qn-daxuesheng`
      * Young Female Voice: `female-shaonv`
      * Mature Female Voice (Confident): `female-yujie`
      * Mature Female Voice: `female-chengshu`
      * Sweet Female Voice: `female-tianmei`
      * Male Presenter: `presenter_male`
      * Female Presenter: `presenter_female`
      * Male Audiobook 1: `audiobook_male_1`
      * Male Audiobook 2: `audiobook_male_2`
      * Female Audiobook 1: `audiobook_female_1`
      * Female Audiobook 2: `audiobook_female_2`
      * Youthful Male Voice-beta: `male-qn-qingse-jingpin`
      * Elite Young Male Voice-beta: `male-qn-jingying-jingpin`
      * Assertive Young Male Voice-beta: `male-qn-badao-jingpin`
      * College Male Voice-beta: `male-qn-daxuesheng-jingpin`
      * Young Female Voice-beta: `female-shaonv-jingpin`
      * Mature Female Voice (Confident)-beta: `female-yujie-jingpin`
      * Mature Female Voice-beta: `female-chengshu-jingpin`
      * Sweet Female Voice-beta: `female-tianmei-jingpin`
      * Smart Boy: `clever_boy`
      * Cute Boy: `cute_boy`
      * Adorable Girl: `lovely_girl`
      * Cartoon Pig: `cartoon_pig`
      * Cute Little Brother: `bingjiao_didi`
      * Handsome Boyfriend: `junlang_nanyou`
      * Innocent Junior: `chunzhen_xuedi`
      * Cool Senior: `lengdan_xiongzhang`
      * Assertive Young Master: `badao_shaoye`
      * Sweet Ling: `tianxin_xiaoling`
      * Playful Girl: `qiaopi_mengmei`
      * Charming Lady: `wumei_yujie`
      * Cute Junior Girl: `diadia_xuemei`
      * Elegant Senior Girl: `danya_xuejie`
      * Santa Claus: `Santa_Claus`
      * Grinch: `Grinch`
      * Rudolph: `Rudolph`
      * Arnold: `Arnold`
      * Charming Santa: `Charming_Santa`
      * Charming Lady: `Charming_Lady`
      * Sweet Girl: `Sweet_Girl`
      * Cute Elf: `Cute_Elf`
      * Attractive Girl: `Attractive_Girl`
      * Serene Woman: `Serene_Woman`
    </ParamField>

    <ParamField body="emotion" type="string">
      Controls the emotion of the synthesized speech.

      Currently supports 7 emotions: happy, sad, angry, fearful, disgusted, surprised, neutral.

      Possible values: `["happy", "sad", "angry", "fearful", "disgusted", "surprised", "neutral"]`
    </ParamField>

    <ParamField body="latex_read" type="bool" default="false">
      Controls whether to support reading LaTeX formulas. Default: false.

      Notes:

      1. Formulas in the request must be wrapped with \$\$ at the beginning and end;
      2. If formulas contain "", they must be escaped as "\\".

      Example: The basic formula for derivatives is `$$\\frac{d}{dx}(x^n) = nx^{n-1}$$`
    </ParamField>

    <ParamField body="text_normalization" type="bool" default="false">
      This parameter enables English text normalization, which can improve performance in number reading scenarios but slightly increases latency. If not provided, defaults to false.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="audio_setting" type="object">
  <Expandable title="properties">
    <ParamField body="sample_rate" type="int" default="32000">
      Possible values: \[8000, 16000, 22050, 24000, 32000, 44100]

      The sample rate of the generated audio. Optional, Default: 32000.
    </ParamField>

    <ParamField body="bitrate" type="int" default="128000">
      Possible values: \[32000, 64000, 128000, 256000]

      The bitrate of the generated audio. Optional, Default: 128000. This parameter only applies to mp3 format audio.
    </ParamField>

    <ParamField body="format" type="string" default="mp3">
      The format of the generated audio. Default: mp3, options: \[mp3, pcm, flac, wav]. wav is only supported in non-streaming output.
    </ParamField>

    <ParamField body="channel" type="int" default="1">
      The number of audio channels. Default 1: mono. Options:

      1: Mono

      2: Stereo
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="pronunciation_dict" type="object">
  <Expandable title="properties">
    <ParamField body="tone" type="list">
      Replace characters, symbols, and their corresponding pronunciations that require special annotation.

      Replace pronunciation (adjust tone/replace with other character pronunciation), format as follows:

      `["omg/oh my god"]`

      Tones are represented by numbers: 1st tone (high level) is 1, 2nd tone (rising) is 2, 3rd tone (dipping) is 3, 4th tone (falling) is 4, neutral tone is 5.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="timbre_weights" type="object[]">
  Either this or voice\_id is required.

  <Expandable title="properties">
    <ParamField body="voice_id" type="string">
      The voice ID for the request. Must be provided together with the weight parameter.
    </ParamField>

    <ParamField body="weight" type="int">
      Range \[1, 100]

      Weight, must be provided together with voice\_id. Supports mixing up to 4 voices. Values must be integers; a higher proportion for a single voice results in a synthesized voice more similar to that voice.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="stream" type="boolean" default="false">
  Whether to enable streaming. Default: false (streaming disabled).
</ParamField>

<ParamField body="stream_options" type="object">
  <Expandable title="properties">
    <ParamField body="exclude_aggregated_audio" type="boolean" default="false">
      When this parameter is set to True, the last chunk in streaming will not contain the concatenated complete audio hex data. Default: False, meaning the last chunk contains the concatenated complete audio hex data.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="language_boost" type="string" default="null">
  Enhances recognition of specified minority languages and dialects. When set, it can improve speech performance for the specified language/dialect. If the language type is unclear, you can select "auto" and the model will automatically determine the language type. Supported values:

  `'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'`
</ParamField>

<ParamField body="output_format" type="string" default="hex">
  Parameter that controls the output format. Possible values: `url`, `hex`. Default: `hex`. This parameter only takes effect in non-streaming scenarios; streaming scenarios only support hex output. The returned URL is valid for 24 hours.
</ParamField>

<ParamField body="voice_modify" type="object">
  Voice effect settings. Supported audio formats for this parameter:

  * Non-streaming: mp3, wav, flac
  * Streaming: mp3

  <Expandable title="properties">
    <ParamField body="pitch" type="integer">
      Pitch adjustment (deep/bright), range \[-100, 100]. Values closer to -100 produce a deeper sound; values closer to 100 produce a brighter sound.
    </ParamField>

    <ParamField body="intensity" type="integer">
      Intensity adjustment (powerful/soft), range \[-100, 100]. Values closer to -100 produce a more powerful sound; values closer to 100 produce a softer sound.
    </ParamField>

    <ParamField body="timbre" type="integer">
      Timbre adjustment (rich/crisp), range \[-100, 100]. Values closer to -100 produce a richer sound; values closer to 100 produce a crisper sound.
    </ParamField>

    <ParamField body="sound_effects" type="string">
      Sound effect settings. Only one can be selected at a time. Possible values:

      * `spacious_echo` (Spacious Echo)
      * `auditorium_echo` (Auditorium Broadcast)
      * `lofi_telephone` (Telephone Distortion)
      * `robotic` (Electronic Voice)
    </ParamField>
  </Expandable>
</ParamField>

## Response

<ResponseField name="audio" type="string">
  The synthesized audio segment, hex-encoded, generated in the format defined by the input (`audio_setting.format`) (mp3/pcm/flac). The return format is determined by `output_format`; when `stream` is true, only hex format is supported.
</ResponseField>

<ResponseField name="status" type="number">
  Current audio stream status, only returned when `stream` is true. 1 indicates synthesis in progress, 2 indicates synthesis complete.
</ResponseField>
