POST
/
v1
/
audio
/
speech
创建语音
curl --request POST \
  --url https://suanwuyou.com.cn/v1/audio/speech \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "speech-2.8-hd",
  "input": "你好,这是一段文字转语音测试。",
  "voice": "male-qn-qingse",
  "speed": 1,
  "response_format": "mp3",
  "metadata": {
    "output_format": "url"
  }
}
'
import requests

url = "https://suanwuyou.com.cn/v1/audio/speech"

payload = {
"model": "speech-2.8-hd",
"input": "你好,这是一段文字转语音测试。",
"voice": "male-qn-qingse",
"speed": 1,
"response_format": "mp3",
"metadata": { "output_format": "url" }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: 'speech-2.8-hd',
input: '你好,这是一段文字转语音测试。',
voice: 'male-qn-qingse',
speed: 1,
response_format: 'mp3',
metadata: {output_format: 'url'}
})
};

fetch('https://suanwuyou.com.cn/v1/audio/speech', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://suanwuyou.com.cn/v1/audio/speech"

payload := strings.NewReader("{\n \"model\": \"speech-2.8-hd\",\n \"input\": \"你好,这是一段文字转语音测试。\",\n \"voice\": \"male-qn-qingse\",\n \"speed\": 1,\n \"response_format\": \"mp3\",\n \"metadata\": {\n \"output_format\": \"url\"\n }\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
{
  "data": {
    "audio": "<string>",
    "status": 123,
    "ced": "<string>"
  },
  "extra_info": {
    "audio_length": 123,
    "audio_sample_rate": 123,
    "audio_size": 123,
    "bitrate": 123,
    "word_count": 123,
    "invisible_character_ratio": 123,
    "usage_characters": 123,
    "audio_format": "<string>",
    "audio_channel": 123
  },
  "trace_id": "<string>",
  "base_resp": {
    "status_code": 123,
    "status_msg": "<string>"
  }
}
{
"error": {
"message": "请求参数不正确",
"type": "invalid_request_error",
"code": "invalid_parameter"
}
}
{
"error": {
"message": "invalid api key",
"type": "invalid_request_error",
"code": "unauthorized"
}
}
这是同步接口。使用 speech-2.8-hd 获得更高质量,或使用 speech-2.8-turbo 获得更快响应。
response_format 控制音频编码,例如 mp3;metadata.output_format 控制 HTTP 响应形式。需要在 JSON 中取得音频链接时,应设置 metadata.output_format: "url",不要把 response_format 设置为 url。
请求中传入:
{
  "response_format": "mp3",
  "metadata": {
    "output_format": "url"
  }
}
成功响应是 JSON,音频链接位于 data.audio。该链接具有有效期,请及时使用或转存。
省略 metadata.output_format,或将其设置为 hex。网关会解码上游数据,并以 audio/mpeg 等音频 Content-Type 返回二进制内容。
音色、采样率、码率、声道和完整响应字段请参阅 MiniMax 语音模型目录。

Authorizations

Authorization
string
header
default:Bearer sk-请输入算无忧令牌
required

填写完整的 Bearer 鉴权值,例如 Bearer sk-你的算无忧令牌。

Body

application/json
model
enum<string>
required

MiniMax TTS 模型 ID。

Available options:
speech-2.8-hd,
speech-2.8-turbo
Example:

"speech-2.8-hd"

input
string
required

需要转换为语音的文本。

Example:

"你好,这是一段文字转语音测试。"

voice
string
required

MiniMax 官方音色、自定义音色或克隆音色 ID。

Example:

"male-qn-qingse"

speed
number
default:1

语速。

Required range: 0.5 <= x <= 2
response_format
enum<string>
default:mp3

音频编码格式,不用于选择 URL 响应。

Available options:
mp3,
pcm,
flac
metadata
object

MiniMax 厂商扩展参数。

Response

URL 模式返回 JSON;二进制模式直接返回音频内容。

data
object
extra_info
object
trace_id
string
base_resp
object