语音合成接口文档
目录
接口描述
根据输入的文本生成语音。支持多种声音和格式,并且支持流式响应,适用于实时语音合成场景。
请求
HTTP 请求
POST /v1/audio/speech
请求体
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| input | string | 是 | 要生成语音的文本。最大长度为 4096 个字符 |
| model | string | 是 | 要使用的 TTS 模型,例如:tts-1, tts-1-hd 或 gpt-4o-mini-tts |
| voice | string | 是 | 生成语音时使用的声音。支持的声音根据模型确定。 |
| response_format | string | 否 | 音频格式。支持的格式有 mp3, opus, aac, flac, wav 和 pcm。默认值根据模型类型确定 |
| speed | number | 否 | 生成的音频速度。可选值范围从 0.25 到 4.0。默认为 1.0 |
| stream | boolean | 否 | 是否启用流式响应。默认为 true |
| sample_rate | integer | 否 | 音频采样率。默认根据模型和格式自动选择最佳值 |
| user | string | 否 | 表示最终用户的唯一标识符 |
声音选项
以下是可用的声音选项及其特点:
- alloy: 中性、平衡的声音
- ash: 年轻、清晰的声音
- ballad: 柔和、平静的声音
- coral: 温暖、友好的声音
- echo: 深沉、有力的声音
- fable: 权威、自信的声音
- onyx: 深沉、庄重的声音
- nova: 活泼、热情的声音
- sage: 平静、沉稳的声音
- shimmer: 明亮、欢快的声音
- verse: 抒情、富有表现力的声音
响应格式选项
以下是支持的音频格式及其特点:
- mp3: 高压缩率,适合网络传输,默认选项
- opus: 低延迟,适合实时应用
- aac: 高质量,适合音乐
- flac: 无损压缩,适合高质量需求
- wav: 无压缩,适合高质量需求
- pcm: 原始音 频数据
响应
接口返回音频文件内容。
- 当
stream=false时,返回完整的音频文件 - 当
stream=true时,以流的形式返回音频数据,客户端可以边接收边播放
响应的 Content-Type 根据请求的 response_format 参数设置:
| response_format | Content-Type |
|---|---|
| mp3 | audio/mpeg |
| opus | audio/opus |
| aac | audio/aac |
| flac | audio/flac |
| wav | audio/wav |
| pcm | audio/pcm |
错误码
| 错误码 | 描述 |
|---|---|
| 400 | 请求参数错误,例如文本过长或参数格式不正确 |
| 401 | 认证失败,无效的 API 密钥 |
| 403 | 权限不足,API 密钥没有权限访问请求的资源 |
| 404 | 请求的资源不存在,例如指定的模型不存在 |
| 429 | 请求过多,超出速率限制 |
| 500 | 服务器内部错误 |
| 503 | 服务暂时不可用 |