---
title: "Text to Audio V2"
method: POST
path: "/v1/t2a_v2"
tags: ["Text to Audio"]
---

# Text to Audio V2

`POST /v1/t2a_v2`

## Request

- Base URL: `https://api.minimax.io`
- URL: `https://api.minimax.io/v1/t2a_v2`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/minimax/apis/minimax-api-2/docs/v1/t2a_v2/post.ts> (a function with typed inputs; its response is checked against the schema)

Convert text to audio using MiniMax T2A V2 API with support for streaming and non-streaming output

## Request body

- T2aV2Req
  - `model` 'speech-2.5-hd-preview' | 'speech-2.5-turbo-preview' | 'speech-02-hd' | 'speech-02-turbo' | 'speech-01-hd' | 'speech-01-turbo', required: Model ID for text-to-audio conversion
  - `text` string, required: Text content to convert to audio
  - `voice_setting` T2AVoiceSetting
    - `speed` number, double: Speech speed
    - `vol` number, double: Volume level
    - `pitch` integer: Pitch level
    - `voice_id` string, required: Voice ID
    - `emotion` string: Emotion setting
    - `latex_read` boolean: Whether to read LaTeX
    - `add_silence` number, double: Add silence between sentences
    - `english_normalization` boolean: Whether to normalize English text
    - `text_normalization` boolean: Whether to normalize text
  - `audio_setting` T2AAudioSetting
    - `sample_rate` integer: Sample rate
    - `bitrate` integer: Bitrate
    - `format` string: Audio format
    - `channel` integer: Number of audio channels
    - `force_cbr` boolean: Force CBR (only effective for MP3 format)
  - `pronunciation_dict` PronunciationDict
    - `tone` string[]: Tone replacement list
    - `phonetic` string[]: Phonetic correction list
  - `timber_weights` TimbreWeights[]: Timbre weights (legacy field)
    - `weight` number, double: Weight value
    - `voice_id` string: Voice ID
  - `speed_rate` integer: Speed rate for audio generation
  - `stream` boolean: Whether to enable streaming output
  - `language_boost` string: Language boost setting
  - `subtitle_enable` boolean: Whether to enable subtitle generation
  - `output_format` string: Output audio format
  - `voice_modify` VoiceModify
    - `modify_type` string: Voice modification type
    - `modify_value` number, double: Modification value
  - `stream_options` T2AStreamOption
    - `include_usage` boolean: Whether to include usage information
  - `subtitle_type` string: Subtitle type
  - `aigc_watermark` boolean: Whether to add AIGC watermark
  - `with_propagator_meta` boolean: Whether to add propagator metadata
  - `timbre_weights` TimbreWeights[]: Timbre weights (takes priority over timber_weights)
    - `weight` number, double: Weight value
    - `voice_id` string: Voice ID

## Response `200`

Successful response

- T2aV2Resp
  - `data` StreamData
    - `audio` string: Generated audio segment in base64 encoding
    - `status` integer: Current audio stream status (1: generating, 2: completed)
    - `ced` string: Generation progress in bytes
    - `subtitle_file` string: Subtitle file
    - `subtitle` T2ASubtitle
      - `text` string: Subtitle text
      - `start_time` number, double: Start time in seconds
      - `end_time` number, double: End time in seconds
  - `extra_info` T2AExtraInfo
    - `usage` T2AUsage
      - `total_characters` integer: Total characters processed
      - `total_tokens` integer: Total tokens used
  - `trace_id` string: Trace ID for request tracking

## Other responses

- `400`: Bad request
- `401`: Authentication failed
- `500`: Internal server error

---

[API](https://skmtc.dev/minimax/apis/minimax-api-2.md) - [All operations](https://skmtc.dev/minimax/apis/minimax-api-2/llms.txt) - [OpenAPI document](https://skmtc.dev/minimax/apis/minimax-api-2/revisions/b18c2ab45c0e?raw)
