创建语音合成
使用本接口将文本合成为语音。接口格式与 OpenAI audio/speech 协议兼容。
请求地址
| 方法 | 地址 |
|---|---|
POST | https://api.ant-ling.com/v1/audio/speech |
授权
Authorization
- 类型:
HTTP Bearer Auth,值类型string - 必填
- 说明:用于验证账户信息。前往 API 控制台 ,点击创建令牌获取。
Authorization: Bearer <YOUR_API_KEY>请求头
Content-Type
- 类型:
enum<string> - 必填,固定值
application/json - 说明:请求体的媒体类型,必须为
application/json。
请求体
概览
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
model | string | 是 | — | TTS 模型 ID |
input | string | 是 | — | 要合成语音的文本内容 |
voice | string | 否 | — | 生成语音时使用的音色 |
references | object[] | 否 | — | 声音克隆 / 声音设计的参考音频 |
instructions | string | 否 | — | 语音控制指令 |
response_format | string | 否 | 流式 pcm,同步 wav | 输出音频的格式 |
sample_rate | number | 否 | 22050 | 输出音频的采样率,单位为 Hz |
speed | number | 否 | 1.0 | 生成语音的速度 |
volume | number | 否 | 1.0 | 生成语音的音量 |
pitch | number | 否 | 1.0 | 生成语音的音调 |
stream_format | string | 否 | 不开启流式 | 音频数据的流式返回方式 |
model
- 类型:
string - 必填
- 说明:要使用的 TTS 模型。
- 可选值:
Ming-3.0-tts
input
- 类型:
string - 必填
- 说明:要合成语音的文本内容。最大长度 2048 字符。不能为
null或空字符串。
voice
- 类型:
string - 选填
- 说明:生成语音时使用的音色,支持系统音色。如需使用自定义音色,请改用
references参数。
references
- 类型:
object[] - 选填
- 说明:用于无状态声音克隆或声音设计的参考音频列表,作为生成语音时使用的自定义音色。当前模型最多支持 1 条,每条最长 30 秒、不超过 10 MB,支持格式:WAV。
references[].audio
- 类型:
string - 必填
- 说明:语音样本的音频 Base64 编码数据。为获得最佳效果,请使用 10–30 秒清晰、背景噪声尽可能少的语音。支持格式:WAV。
将音频文件转换为 Base64 编码字符串后传入,转换后的 Base64 编码字符串大小不能超过 10 MB。请在 Base64 编码前携带前缀:data:{MIME_TYPE};base64,$BASE64_AUDIO:
{MIME_TYPE}— 音频的 MIME 类型(媒体类型),用于标识音频格式,需替换为实际音频对应的 MIME 值,例如audio/wav。$BASE64_AUDIO— 音频文件的纯 Base64 编码字符串(不含任何前缀)。
references[].text
- 类型:
string - 必填
- 说明:音频样本中所说内容的逐字转录文本。音频与该文本的准确性对声音克隆质量非常重要。
instructions
- 类型:
string - 选填
- 说明:生成语音时的语音控制指令。通过音色风格描述,使用所设计的音色进行语音播报。
response_format
- 类型:
string - 选填,流式默认
pcm,同步默认wav - 说明:输出音频的格式。
- 可选值:
mp3、wav、pcm、opus、aac
sample_rate
- 类型:
number - 选填,默认
22050Hz - 说明:输出音频的采样率,单位为 Hz。
- 可选值:
8000、16000、22050、24000
speed
- 类型:
number - 选填,默认
1.0 - 说明:生成语音的速度。范围
[0.25, 4.0]。
volume
- 类型:
number - 选填,默认
1.0 - 说明:生成语音的音量。范围
[0.5, 2.0]。
pitch
- 类型:
number - 选填,默认
1.0 - 说明:生成语音的音调。范围
[0.5, 2.0]。
stream_format
- 类型:
string - 选填
- 说明:开启流式返回音频数据,适用于低延迟、边生成边播放的场景。
- 可选值:
| 值 | 说明 |
|---|---|
sse | 以 Server-Sent Events 格式流式返回,音频数据经 Base64 编码后通过 SSE 事件推送 |
audio | 以 chunked transfer encoding 直接流式返回原始音频二进制数据 |
Ming-3.0-tts 目前仅支持 sse,不支持 audio。
sse 模式适合浏览器端通过 EventSource 接收,有明确的事件边界和结束信号;audio 模式适合服务端或原生客户端直接消费音频流,开销更低。
响应体
非流式
响应类型为 file — 音频二进制内容。HTTP 响应的 Content-Type 根据 response_format 参数变化:
| response_format | Content-Type |
|---|---|
mp3 | audio/mpeg |
opus | audio/opus |
aac | audio/aac |
wav | audio/wav |
pcm | audio/pcm |
SSE 流
- Content-Type:
text/event-stream - 说明:Server-Sent Events 流。每帧为
data: <json>\n\n,JSON 内容遵循TTS Event结构。
speech.audio.delta
- 类型:
object - 说明:增量音频片段事件。
data: {"type": "speech.audio.delta", "audio": "//uQxAAAAAANIAAAAAExBTUUzLjEw..."}- 字段:
type— 固定值speech.audio.delta。audio— 一段 Base64 编码的音频数据片段。
speech.audio.done
- 类型:
object - 说明:音频合成完成的终止事件。
data: {"type": "speech.audio.done", "usage": {"prompt_tokens": 12, "completion_tokens": 80, "total_tokens": 92}}- 字段:
type— 固定值speech.audio.done。usage— Token 用量统计:prompt_tokens(输入)、completion_tokens(输出)、total_tokens(总用量)。
音频二进制流
- Content-Type:与
response_format对应(见上表) - 说明:响应为原始音频二进制流,通过 HTTP chunked transfer encoding 流式返回。
示例
请求示例
系统音色
cURL
curl --request POST \
--url https://api.ant-ling.com/v1/audio/speech \
--header 'Authorization: Bearer <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"model": "Ming-3.0-tts",
"input": "你好,你是谁?",
"voice": "UK_Charlotte",
"response_format": "pcm",
"stream_format": "sse"
}'响应示例
非流式响应
stream_format 不设置时,默认不开启流式,返回对应格式的音频文件二进制内容。
HTTP/1.1 200 OK
Content-Type: audio/wav
<音频二进制数据>这个页面对你有帮助吗?
Last updated on