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

# MiniMax One-shot Voice Clone + TTS

> [Core Function] MiniMax Voice Clone clones a speaker from a public reference audio URL and synthesizes new speech in one async request; only the final audio is returned. [Strengths] No voice enrollment management; optional language_boost for clone and synthesis; prosody controls (speed, volume, pitch, emotion); pronunciation overrides; voice effects; flexible audio formats. [Best For] One-off cloned narration, personalized prompts, and demos where a lasting voice library is not needed. [Limitations] Do NOT use this to obtain a reusable voice library entry; the cloned voice is temporary and is not returned. audio_url must be publicly reachable (mp3/m4a/wav, 10s–5min, ≤20 MB). [Routing] Choose speech-2.8-hd for higher quality; speech-2.8-turbo for lower latency or cost. Paralinguistic tags such as (laughs) in text are supported on both speech-2.8-hd and speech-2.8-turbo.



## OpenAPI

````yaml /model-api/minimax/minimax-s2s.json post /minimax/minimax-voice-clone
openapi: 3.1.0
info:
  title: MiniMax Voice Clone API
  description: >-
    MiniMax one-shot voice cloning and speech synthesis. Submit a public
    reference audio URL with text as an async task; poll GET
    /api/v1/tasks/{task_id} for the synthesized audio. The cloned voice is
    temporary and is not returned to the client. Supported speech models:
    speech-2.8-hd, speech-2.8-turbo.
  version: 1.0.0
  contact:
    name: Modellix Support
    email: support@modellix.ai
servers:
  - url: https://api.modellix.ai/api/v1
    description: Modellix API
security:
  - bearerAuth: []
paths:
  /minimax/minimax-voice-clone:
    post:
      summary: MiniMax One-shot Voice Clone + TTS
      description: >-
        [Core Function] MiniMax Voice Clone clones a speaker from a public
        reference audio URL and synthesizes new speech in one async request;
        only the final audio is returned. [Strengths] No voice enrollment
        management; optional language_boost for clone and synthesis; prosody
        controls (speed, volume, pitch, emotion); pronunciation overrides; voice
        effects; flexible audio formats. [Best For] One-off cloned narration,
        personalized prompts, and demos where a lasting voice library is not
        needed. [Limitations] Do NOT use this to obtain a reusable voice library
        entry; the cloned voice is temporary and is not returned. audio_url must
        be publicly reachable (mp3/m4a/wav, 10s–5min, ≤20 MB). [Routing] Choose
        speech-2.8-hd for higher quality; speech-2.8-turbo for lower latency or
        cost. Paralinguistic tags such as (laughs) in text are supported on both
        speech-2.8-hd and speech-2.8-turbo.
      operationId: minimaxVoiceClone
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MiniMaxVoiceCloneRequest'
            examples:
              basic:
                summary: Minimal clone + TTS
                value:
                  model: speech-2.8-turbo
                  audio_url: https://example.com/reference.wav
                  text: Welcome to Modellix speech synthesis.
              with_controls:
                summary: With language boost and prosody
                value:
                  model: speech-2.8-hd
                  audio_url: https://example.com/reference.wav
                  text: There is a large garden behind my house.
                  language_boost: English
                  format: mp3
                  sample_rate: 32000
                  speed: 1
                  vol: 1
                  pitch: 0
                  need_noise_reduction: false
              with_clone_prompt:
                summary: Optional short prompt_audio to stabilize clone
                value:
                  model: speech-2.8-hd
                  audio_url: https://example.com/reference.wav
                  text: This is the longer text for final synthesis.
                  prompt_audio: https://example.com/short-sample.wav
                  prompt_text: Short sample content.
                  language_boost: English
      responses:
        '200':
          description: >-
            Task submitted successfully. Poll GET /api/v1/tasks/{task_id} until
            the task completes; synthesized audio is returned on the task
            result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskResponse'
              example:
                code: 0
                message: success
                data:
                  status: pending
                  task_id: task-minimax-voice-clone-001
                  model_id: minimax/minimax-voice-clone
                  get_result:
                    method: GET
                    url: >-
                      https://api.modellix.ai/api/v1/tasks/task-minimax-voice-clone-001
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    MiniMaxVoiceCloneRequest:
      type: object
      required:
        - model
        - audio_url
        - text
      description: >-
        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.
      properties:
        model:
          $ref: '#/components/schemas/MiniMaxSpeechModel'
        audio_url:
          type: string
          description: >-
            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.
          minLength: 1
          maxLength: 2048
          example: https://example.com/reference.wav
        text:
          type: string
          description: >-
            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).
          minLength: 1
          maxLength: 9999
          example: Welcome to Modellix speech synthesis.
        prompt_audio:
          type: string
          description: >-
            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.
          minLength: 1
          maxLength: 2048
          example: https://example.com/short-sample.wav
        prompt_text:
          type: string
          description: >-
            Optional transcript matching prompt_audio. Must align with the
            example audio content; end with punctuation. Not a substitute for
            text.
          minLength: 1
          maxLength: 1000
          example: Short sample content.
        need_noise_reduction:
          type: boolean
          description: >-
            Whether to enable noise reduction on the clone reference audio.
            Default false.
          default: false
          example: false
        need_volume_normalization:
          type: boolean
          description: Whether to enable volume normalization for cloning. Default false.
          default: false
          example: false
        language_boost:
          $ref: '#/components/schemas/MiniMaxLanguageBoost'
        aigc_watermark:
          type: boolean
          description: >-
            Whether to append an AIGC watermark to the returned audio. Default
            false.
          default: false
          example: false
        speed:
          type: number
          description: Speech rate multiplier for synthesis. Default 1.0. Range [0.5, 2.0].
          minimum: 0.5
          maximum: 2
          default: 1
          example: 1
        vol:
          type: number
          description: Speech volume for synthesis. Default 1.0. Range (0.0, 10.0].
          exclusiveMinimum: 0
          maximum: 10
          default: 1
          example: 1
        pitch:
          type: integer
          description: >-
            Pitch adjustment in semitones. Default 0. Range [-12, 12]. Distinct
            from modify_pitch (voice effect).
          minimum: -12
          maximum: 12
          default: 0
          example: 0
        emotion:
          type: string
          description: >-
            Optional emotion control. Leave unset to let the model infer from
            text.
          enum:
            - happy
            - sad
            - angry
            - fearful
            - disgusted
            - surprised
            - calm
          example: happy
        text_normalization:
          type: boolean
          description: >-
            Enable Chinese/English text normalization for better number reading;
            may add slight latency. Default false.
          default: false
          example: false
        latex_read:
          type: boolean
          description: >-
            Enable reading LaTeX formulas aloud (Chinese only). When true,
            language_boost may be forced to Chinese. Wrap formulas with $$ and
            escape backslashes. Default false.
          default: false
          example: false
        sample_rate:
          type: integer
          description: Output sample rate in Hz. Default 32000.
          enum:
            - 8000
            - 16000
            - 22050
            - 24000
            - 32000
            - 44100
          default: 32000
          example: 32000
        bitrate:
          type: integer
          description: >-
            Audio bitrate. Default 128000. Only effective when format is mp3;
            ignored for other formats.
          enum:
            - 32000
            - 64000
            - 128000
            - 256000
          default: 128000
          example: 128000
        format:
          type: string
          description: >-
            Output audio encoding format. Default mp3. Result audio is returned
            as a URL on the completed task.
          enum:
            - mp3
            - pcm
            - flac
            - wav
          default: mp3
          example: mp3
        channel:
          type: integer
          description: Output channel count. 1 is mono, 2 is stereo. Default 1.
          enum:
            - 1
            - 2
          default: 1
          example: 1
        force_cbr:
          type: boolean
          description: >-
            Force constant bitrate encoding. Optional; typically unused for
            standard async synthesis. Default false.
          default: false
          example: false
        pronunciation_tone:
          type: array
          description: >-
            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"].
          items:
            type: string
          example:
            - omg/oh my god
        modify_pitch:
          type: integer
          description: >-
            Voice effect pitch: lower is deeper, higher is brighter. Range
            [-100, 100]. Distinct from pitch (semitone).
          minimum: -100
          maximum: 100
          example: 0
        modify_intensity:
          type: integer
          description: >-
            Voice effect intensity: lower is stronger, higher is softer. Range
            [-100, 100].
          minimum: -100
          maximum: 100
          example: 0
        modify_timbre:
          type: integer
          description: >-
            Voice effect timbre: lower is thicker, higher is brighter or
            crisper. Range [-100, 100].
          minimum: -100
          maximum: 100
          example: 0
        sound_effects:
          type: string
          description: >-
            Optional sound effect applied to the output. Supported for mp3, wav,
            and flac.
          enum:
            - spacious_echo
            - auditorium_echo
            - lofi_telephone
            - robotic
          example: spacious_echo
        subtitle_enable:
          type: boolean
          description: Whether to generate a subtitle download link. Default false.
          default: false
          example: false
    AsyncTaskResponse:
      description: Response object for asynchronous task submission.
      type: object
      required:
        - code
        - message
        - data
      properties:
        code:
          type: integer
          description: Response code, 0 indicates success
          example: 0
        message:
          type: string
          description: Response message
          example: success
        data:
          type: object
          required:
            - status
            - task_id
            - model_id
          description: >-
            Task submission details. Poll GET /api/v1/tasks/{task_id} until
            status is success; audio appears in result.resources.
          properties:
            status:
              type: string
              enum:
                - pending
                - processing
              description: Initial task status
              example: pending
            task_id:
              type: string
              description: Unique task identifier for polling
              example: task-minimax-voice-clone-001
            model_id:
              type: string
              description: Model ID in provider/model format
              example: minimax/minimax-voice-clone
            get_result:
              type: object
              description: >-
                Endpoint to query the task result. See Common API: Query Task
                Result.
              properties:
                method:
                  type: string
                  example: GET
                url:
                  type: string
                  example: >-
                    https://api.modellix.ai/api/v1/tasks/task-minimax-voice-clone-001
    MiniMaxSpeechModel:
      type: string
      description: >-
        Supported MiniMax speech model for both voice clone and TTS in this
        request.
      enum:
        - speech-2.8-hd
        - speech-2.8-turbo
      example: speech-2.8-turbo
    MiniMaxLanguageBoost:
      type: string
      description: >-
        Optional language or dialect boost for both cloning and synthesis. Omit
        for default behavior. Use auto to let the model decide.
      enum:
        - 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
    ErrorResponse:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: integer
          example: 400
        message:
          type: string
          example: 'Invalid parameters: model is required'
  responses:
    BadRequest:
      description: Invalid request parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Unauthorized - Invalid or missing API Key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    TooManyRequests:
      description: Rate limit exceeded
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    InternalServerError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: 'Modellix API Key. Format: Bearer <your_api_key>'

````