> ## 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-turbo 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 adjustments; supports proportional voice mixing and fixed interval time control; supports multiple audio specifications and formats including: mp3, pcm, flac, wav, and streaming output.

After submitting a long text speech synthesis request, please note that the returned URL is valid for 24 hours from the time it is returned. Please be mindful of the download timing.

<Tip>Suitable for short sentence generation, voice chat, online social scenarios, with low latency but a text length limit of less than 10,000 characters. For long texts, it is recommended to use [Async Text-to-Speech](/docs/models/reference-minimax-speech-2.6-turbo-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 the pause duration in the speech, insert \<#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 the interval must be set between two text segments that can be vocalized, and multiple consecutive 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

      Speech speed of the generated voice. Optional; higher values produce faster speech.
    </ParamField>

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

      Volume of the generated voice. Optional; higher values produce louder audio.
    </ParamField>

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

      Pitch of the generated voice. Optional (0 outputs the original voice pitch; 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 system voices (ID) and cloned voices (ID). The available system voice IDs are as follows:

      * Youthful Young Man: `male-qn-qingse`
      * Elite Young Man: `male-qn-jingying`
      * Assertive Young Man: `male-qn-badao`
      * College Student: `male-qn-daxuesheng`
      * Young Girl: `female-shaonv`
      * Mature Lady: `female-yujie`
      * Mature Woman: `female-chengshu`
      * Sweet Woman: `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 Young Man (beta): `male-qn-qingse-jingpin`
      * Elite Young Man (beta): `male-qn-jingying-jingpin`
      * Assertive Young Man (beta): `male-qn-badao-jingpin`
      * College Student (beta): `male-qn-daxuesheng-jingpin`
      * Young Girl (beta): `female-shaonv-jingpin`
      * Mature Lady (beta): `female-yujie-jingpin`
      * Mature Woman (beta): `female-chengshu-jingpin`
      * Sweet Woman (beta): `female-tianmei-jingpin`
      * Clever Boy: `clever_boy`
      * Cute Boy: `cute_boy`
      * Lovely Girl: `lovely_girl`
      * Cartoon Pig: `cartoon_pig`
      * Clingy Brother: `bingjiao_didi`
      * Handsome Boyfriend: `junlang_nanyou`
      * Innocent Junior: `chunzhen_xuedi`
      * Cool Senior: `lengdan_xiongzhang`
      * Bossy Young Master: `badao_shaoye`
      * Sweetheart Xiaoling: `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 LaTeX formula reading is supported. 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 derivative formula 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 may slightly increase latency. Default: 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]

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

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

      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 generated audio format. Default: mp3. Possible values: \[mp3, pcm, flac, wav]. wav is only supported in non-streaming output.
    </ParamField>

    <ParamField body="channel" type="int" default="1">
      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 text, symbols, and their corresponding pronunciations that require special annotation.

      Pronunciation replacement (adjust tones / replace with other character pronunciations), format as follows:

      `["omg/oh my god"]`

      For Chinese text, 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 filled in together with the weight parameter.
    </ParamField>

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

      Weight, must be filled in together with voice\_id. Supports up to 4 voice mixtures. Values must be integers; a higher proportion for a single voice makes the synthesized voice more similar to it.
    </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 set to True, the last chunk in streaming will not contain the concatenated complete audio hex data. Default: False, meaning the last chunk includes the concatenated complete audio hex data.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="language_boost" type="string" default="null">
  Enhances recognition capability for 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">
  Controls the output format. Possible values: `url`, `hex`. Default: `hex`. This parameter only takes effect in non-streaming scenarios; streaming only supports hex format. 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 voice; values closer to 100 produce a brighter voice.
    </ParamField>

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

    <ParamField body="timbre" type="integer">
      Timbre adjustment (resonant/crisp), Range \[-100, 100]. Values closer to -100 produce a richer voice; values closer to 100 produce a crisper voice.
    </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 the `output_format` setting. When `stream` is true, only hex format is supported.
</ResponseField>

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