API概述
-TTS服务API提供了简单而强大的方式将文本转换为自然语音。我们支持多种语言和声音,并允许您调节语速、语调以适应不同场景需求。
-基础URL: {{.BasePath}}
所有API请求均使用HTTP协议,返回标准HTTP状态码表示请求结果。
-文本转语音 API
- -端点
-GET {{.BasePath}}/tts
-
- 参数
-| 参数 | -类型 | -必选 | -描述 | -
|---|---|---|---|
t |
- string | -是 | -要转换的文本(需要进行URL编码) | -
v |
- string | -否 | -语音名称,使用short_name格式,默认: {{.DefaultVoice}}。可通过/voices接口获取所有可用语音 | -
r |
- string | -否 | -语速调整,范围: -100%到100%,默认: {{.DefaultRate}}。正值加快语速,负值减慢语速 | -
p |
- string | -否 | -语调调整,范围: -100%到100%,默认: {{.DefaultPitch}}。正值提高语调,负值降低语调 | -
o |
- string | -否 | -输出音频格式,默认: {{.DefaultFormat}}。详见下方支持的格式列表 | -
s |
- string | -否 | -情感风格,可用值取决于所选语音的style_list属性。例如:"cheerful"、"sad"等 | -
示例请求
-curl "{{.BasePath}}/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 "{{.BasePath}}/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 {{.BasePath}}/voices
-
- 参数
-| 参数 | -类型 | -必选 | -描述 | -
|---|---|---|---|
locale |
- string | -否 | -筛选特定语言的语音,例如:zh-CN(中文)、en-US(英文) | -
gender |
- string | -否 | -筛选特定性别的语音,可选值:Male(男性)、Female(女性) | -
示例请求
-curl "{{.BasePath}}/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 {{.BasePath}}/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 "{{.BasePath}}/v1/audio/speech" \
- -H "Content-Type: application/json" \
- -d '{
- "model": "tts-1",
- "input": "你好,世界!",
- "voice": "zh-CN-XiaoxiaoNeural"
- }'
-
- 另一个示例(带速度调整)
-curl -X POST "{{.BasePath}}/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 | -