TTS服务 API文档

快速、高质量的文本转语音API服务

API概述

TTS服务API提供了简单而强大的方式将文本转换为自然语音。我们支持多种语言和声音,并允许您调节语速、语调以适应不同场景需求。

基础URL:

所有API请求均使用HTTP协议,返回标准HTTP状态码表示请求结果。

文本转语音 API

端点

GET /tts

参数

参数 类型 必选 描述
t string 要转换的文本(需要进行URL编码)
v string 语音名称,使用short_name格式,默认: zh-CN-XiaoxiaoNeural。可通过/voices接口获取所有可用语音
r string 语速调整,范围: -100%到100%,默认: 0。正值加快语速,负值减慢语速
p string 语调调整,范围: -100%到100%,默认: 0。正值提高语调,负值降低语调
o string 输出音频格式,默认: audio-24khz-48kbitrate-mono-mp3。详见下方支持的格式列表
s string 情感风格,可用值取决于所选语音的style_list属性。例如:"cheerful"、"sad"等

示例请求

curl "/tts?t=%E4%BD%A0%E5%A5%BD%EF%BC%8C%E4%B8%96%E7%95%8C&v=zh-CN-XiaoxiaoNeural&r=0%25&p=0%25"

另一个示例(带情感风格)

curl "/tts?t=%E4%BB%8A%E5%A4%A9%E5%A4%A9%E6%B0%94%E7%9C%9F%E5%A5%BD&v=zh-CN-XiaoxiaoNeural&s=cheerful"

响应

返回音频文件,内容类型取决于请求的输出格式。正常响应状态码为200。

错误响应

如果请求参数有误或服务出现问题,将返回对应的HTTP错误码和错误消息。

状态码 描述
400 参数错误或缺失必要参数
404 请求的资源不存在
500 服务器内部错误

获取可用语音 API

端点

GET /voices

参数

参数 类型 必选 描述
locale string 筛选特定语言的语音,例如:zh-CN(中文)、en-US(英文)
gender string 筛选特定性别的语音,可选值:Male(男性)、Female(女性)

示例请求

curl "/voices?locale=zh-CN&gender=Female"

响应

返回JSON格式的可用语音列表:

[
  {
    "name": "Microsoft Server Speech Text to Speech Voice (zh-CN, XiaoxiaoNeural)",
    "display_name": "Xiaoxiao",
    "local_name": "晓晓",
    "short_name": "zh-CN-XiaoxiaoNeural",
    "gender": "Female",
    "locale": "zh-CN",
    "locale_name": "中文(中国)",
    "style_list": ["cheerful", "sad", "angry", "fearful", "disgruntled"]
  },
  ...
]

响应字段说明:

  • name:语音的完整名称
  • display_name:显示用名称(拉丁字符)
  • local_name:本地化名称
  • short_name:简短名称(用于API调用的v参数)
  • gender:性别(Male或Female)
  • locale:语言代码
  • locale_name:语言本地化名称
  • style_list:支持的情感风格列表(如有)

兼容OpenAI接口 API

语音合成

POST /v1/audio/speech

请求体 (JSON)

参数 类型 必选 描述
model string 当前仅支持值: "tts-1"
input string 要转换的文本内容
voice string 声音名称,使用Microsoft语音格式,例如:ja-JP-KeitaNeural、zh-CN-XiaoxiaoNeural
speed number 语速调整,范围: 0.5到2.0,默认: 1.0

示例请求

curl -X POST "/v1/audio/speech" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "tts-1",
    "input": "你好,世界!",
    "voice": "zh-CN-XiaoxiaoNeural"
  }'

另一个示例(带速度调整)

curl -X POST "/v1/audio/speech" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "tts-1",
    "input": "こんにちは、世界!",
    "voice": "ja-JP-NanamiNeural",
    "speed": 1.2
  }'

响应

返回音频文件,内容类型取决于请求的输出格式。正常响应状态码为200。

错误响应

如果请求有误,将返回JSON格式的错误信息:

{
  "error": {
    "message": "错误信息描述",
    "type": "错误类型",
    "code": "错误代码"
  }
}

支持的输出格式

格式名称 描述
audio-16khz-32kbitrate-mono-mp3 MP3格式,16kHz, 32kbps
audio-16khz-64kbitrate-mono-mp3 MP3格式,16kHz, 64kbps
audio-16khz-128kbitrate-mono-mp3 MP3格式,16kHz, 128kbps
audio-24khz-48kbitrate-mono-mp3 MP3格式,24kHz, 48kbps
audio-24khz-96kbitrate-mono-mp3 MP3格式,24kHz, 96kbps
audio-24khz-160kbitrate-mono-mp3 MP3格式,24kHz, 160kbps
riff-16khz-16bit-mono-pcm WAV格式,16kHz
riff-24khz-16bit-mono-pcm WAV格式,24kHz