文本转语音 API 参考
通过 Gate.AI 文本转语音接口提交文本并同步生成音频。默认返回二进制音频;设置 stream_format=sse 时会逐帧返回 speech.audio.delta,并在 speech.audio.done 末帧携带 usage 与 model_extend。
| 字段 | 值 |
|---|---|
| Base URL | https://api.gate.ai/openai/v1 |
| 认证 | Authorization: Bearer <API_KEY> |
| 格式 | OpenAI 兼容;使用 JSON 请求体,默认返回二进制音频,可通过 SSE 流式返回音频分片 |
语音接口路径位于 /openai/v1 下;语音转文本与文本转语音为同步能力,不返回 job_id,也不需要轮询。TTS 默认二进制响应中的计费信息记录在控制台 Generations。
文本转语音
POST
/audio/speech提交待合成文本并同步返回音频。默认响应体为二进制音频流,Content-Type 随 response_format 变化;SSE 模式会返回 base64 音频分片与末帧计费信息。
请求参数
| 名称 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| Authorization | header | string | 是 | Gate.AI API Key。格式:Bearer <API_KEY> |
| Content-Type | header | string | 是 | 请求体格式:application/json |
请求体
| 名称 | 类型 | 必选 | 说明 |
|---|---|---|---|
| model | string | 是 | 文本转语音模型 ID,当前仅支持 gpt-4o-mini-tts |
| input | string | 是 | 待合成文本 |
| voice | string | 是 | 发音人,如 alloy |
| response_format | string | 否 | 输出音频格式,如 wav、mp3;默认 wav |
| stream_format | string | 否 | 设为 sse 时返回 text/event-stream;speech.audio.delta 帧包含 base64 音频分片,speech.audio.done 帧包含 usage 与 model_extend |
示例
json
1{2 "model": "gpt-4o-mini-tts",3 "input": "今天天气很好,我们一起去海边散步吧。",4 "voice": "alloy",5 "response_format": "mp3"6}返回字段说明
| 名称 | 类型 | 说明 |
|---|---|---|
| audio bytes | binary | 默认返回的音频二进制数据 |
| speech.audio.delta | SSE event | SSE 音频分片事件,携带 base64 编码的音频片段 |
| speech.audio.done | SSE event | SSE 结束事件,携带 usage 与 model_extend |
| usage | object | 文本转语音用量;二进制响应场景下由网关写入后台记录,SSE 末帧返回 |
| model_extend.cost | string | 实际计费金额(USD),扣款以 model_extend.cost 为准 |
返回示例
text
1HTTP/1.1 200 OK2Content-Type: audio/mpeg34(binary audio bytes)返回结果
| 状态码 | 状态码含义 | 说明 | 数据模型 |
|---|---|---|---|
| 200 | OK | 成功,同步返回转写结果、音频数据或 SSE 事件。 | AudioResponse |
| 400 | Bad Request | 请求参数错误、请求体格式错误,或缺少 model / file / input 等必填字段。 | OpenAIErrorResponse |
| 401 | Unauthorized | API Key 无效或缺失。 | OpenAIErrorResponse |
| 402 | Payment Required | 余额不足。 | InsufficientBalanceResponse |
| 404 | Not Found | 模型不存在,或语音端点未启用。 | OpenAIErrorResponse |
| 413 | Payload Too Large | 上传文件或请求体过大。 | OpenAIErrorResponse |
| 429 | Too Many Requests | 请求过于频繁,请降低调用频率。 | OpenAIErrorResponse |
| 500 | Internal Server Error | 服务内部错误。 | OpenAIErrorResponse |
| 502 | Bad Gateway | 上游语音服务失败。 | OpenAIErrorResponse |