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

# MiniMax Speech-2.6-turbo Synchronous Speech Synthesis

This API supports synchronous text-to-speech generation, with a maximum of 10,000 characters per text submission. It supports 100+ system voices and custom cloned voices; volume, pitch, speed, and output format adjustments; proportional voice mixing and fixed interval timing control; and multiple audio specifications and formats, including mp3, pcm, flac, and wav. Streaming output is also supported.

After submitting a long-text speech synthesis request, note that the returned url is valid for 24 hours from the time the url is returned. Please download the information in time.

<Tip>Suitable for short sentence generation, voice chat, online social scenarios, and similar use cases. It has low latency, but the text length is limited to less than 10,000 characters. For long text, we recommend using [asynchronous speech synthesis](/en/docs/models/reference-minimax-speech-2.6-turbo-async).</Tip>

## Request Headers

<ParamField header="Content-Type" type="string" required={true}>
  Enum value: `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 synthesize. The length limit is less than 10,000 characters. Use line breaks to replace paragraph breaks. (If you need to control intervals in the speech, add \<#x#> between characters, where x is in seconds, supports 0.01-99.99, with at most two decimal places). Custom time intervals between texts are supported to achieve custom pauses in text-to-speech. Note that the text interval must be set between two pieces of text that can be pronounced, 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 value is 1.0

      The speaking speed of the generated voice. Optional. The larger the value, the faster the speech.
    </ParamField>

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

      The volume of the generated voice. Optional. The larger the value, the higher the volume.
    </ParamField>

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

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

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

      Supports two types: system voices (id) and cloned voices (id). The system voices (ID) are as follows:

      * Young male voice: `male-qn-qingse`
      * Elite young male voice: `male-qn-jingying`
      * Dominant young male voice: `male-qn-badao`
      * Male college student voice: `male-qn-daxuesheng`
      * Young girl voice: `female-shaonv`
      * Mature lady voice: `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`
      * Young male voice-beta: `male-qn-qingse-jingpin`
      * Elite young male voice-beta: `male-qn-jingying-jingpin`
      * Dominant young male voice-beta: `male-qn-badao-jingpin`
      * Male college student voice-beta: `male-qn-daxuesheng-jingpin`
      * Young girl voice-beta: `female-shaonv-jingpin`
      * Mature lady voice-beta: `female-yujie-jingpin`
      * Mature female voice-beta: `female-chengshu-jingpin`
      * Sweet female voice-beta: `female-tianmei-jingpin`
      * Clever boy: `clever_boy`
      * Cute boy: `cute_boy`
      * Lovely girl: `lovely_girl`
      * Cartoon Pig Xiaoqi: `cartoon_pig`
      * Yandere younger brother: `bingjiao_didi`
      * Handsome boyfriend: `junlang_nanyou`
      * Innocent junior schoolmate: `chunzhen_xuedi`
      * Aloof senior schoolmate: `lengdan_xiongzhang`
      * Dominant young master: `badao_shaoye`
      * Sweetheart Xiaoling: `tianxin_xiaoling`
      * Playful cute girl: `qiaopi_mengmei`
      * Charming mature lady: `wumei_yujie`
      * Cutesy junior schoolmate: `diadia_xuemei`
      * Elegant senior schoolmate: `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, and neutral;

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

    <ParamField body="latex_read" type="bool" default="false">
      Controls whether reading latex formulas is supported. Default is false.

      Notes:

      1. Formulas in the request need to be enclosed with \$\$ at the beginning and end;
      2. If the formula in the request contains "", it 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 supports English text normalization, which can improve performance in number-reading scenarios, but will slightly increase latency. If not provided, the default value is false.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="audio_setting" type="object">
  <Expandable title="properties">
    <ParamField body="sample_rate" type="int" default="32000">
      Range 【8000，16000，22050，24000，32000，44100】

      The sample rate of the generated voice. Optional, default is 32000.
    </ParamField>

    <ParamField body="bitrate" type="int" default="128000">
      Range 【32000，64000，128000，256000】

      The bitrate of the generated voice. Optional, default value is 128000. This parameter only takes effect for audio in mp3 format.
    </ParamField>

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

    <ParamField body="channel" type="int" default="1">
      The number of channels for the generated audio. Default is 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 corresponding pronunciations that require special annotation.

      Pronunciation replacement (adjust tones/replace pronunciation with other characters), in the following format:

      `["燕少飞/(yan4)(shao3)(fei1)","达菲/(da2)(fei1)"，"omg/oh my god"]`

      Use numbers to represent tones: first tone (yinping) is 1, second tone (yangping) is 2, third tone (shangsheng) is 3, fourth tone (qusheng) is 4, and 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 requested voice id. 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. Mixing up to 4 voices is supported. The value must be an integer. The higher the proportion of a single voice, the more the synthesized voice will resemble it.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="stream" type="boolean" default="false">
  Whether to stream. Default is false, meaning streaming is not enabled.
</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 final chunk in streaming will not contain the complete concatenated speech hex data. Default is False, meaning the final chunk contains the complete concatenated speech hex data.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="language_boost" type="string" default="null">
  Enhances recognition capability for specified minority languages and dialects. After setting it, speech performance can be improved in the specified minority language/dialect scenarios. If the minority language type is unclear, you can choose "auto", and the model will determine the minority language type automatically. The following values are supported:

  `'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 form of the output result. Optional values are `url` `hex`. Default value is `hex`. This parameter only takes effect in non-streaming scenarios. Streaming scenarios only support returning data in hex form. The returned url is valid for 24 hours.
</ParamField>

<ParamField body="voice_modify" type="object">
  Voice effects settings. The audio formats supported by this parameter are:

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

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

    <ParamField body="intensity" type="integer">
      Intensity adjustment (powerful/soft), range \[-100,100]. Values close to -100 make the voice stronger; values close to 100 make the voice softer.
    </ParamField>

    <ParamField body="timbre" type="integer">
      Timbre adjustment (magnetic/crisp), range \[-100,100]. Values close to -100 make the voice richer; values close to 100 make the voice crisper.
    </ParamField>

    <ParamField body="sound_effects" type="string">
      Sound effect settings. Only one can be selected per request. Optional values:

      * `spacious_echo` (spacious echo)
      * `auditorium_echo` (auditorium broadcast)
      * `lofi_telephone` (telephone distortion)
      * `robotic` (electronic voice)
    </ParamField>
  </Expandable>
</ParamField>

## Response Information

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

<ResponseField name="status" type="number">
  The current audio stream status. Returned only when `stream` is true. 1 indicates synthesis in progress, and 2 indicates synthesis ended.
</ResponseField>
