API
Audio Speech
将文本转换为音频文件,兼容 OpenAI-style text-to-speech 请求。
概述
Audio Speech 接口把文本转换为音频。适合客服播报、语音助手、视频旁白和可访问性场景。
请求
`POST https://api.example.com/v1/audio/speech`
Headers
| Header | 必需 | 说明 |
|---|---|---|
| Authorization | ✓ | `Bearer $UOUODUO_API_KEY` |
| Content-Type | ✓ | `application/json` |
Body 参数
| 参数 | 类型 | 必需 | 默认 | 说明 |
|---|---|---|---|---|
| model | string | ✓ | - | TTS 模型 ID |
| input | string | ✓ | - | 要转成语音的文本,通常不超过 4096 字符 |
| voice | string | ✓ | - | `alloy`、`echo`、`fable`、`onyx`、`nova`、`shimmer` 等 |
| response_format | string | 否 | mp3 | `mp3`、`opus`、`aac`、`flac`、`wav`、`pcm` |
| speed | number | 否 | 1 | 语速,范围 0.25 到 4 |
示例
curl https://api.example.com/v1/audio/speech \
-H "Authorization: Bearer $UOUODUO_API_KEY" \
-H "Content-Type: application/json" \
--output speech.mp3 \
-d '{
"model": "tts-1",
"input": "部署完成,当前路由健康。",
"voice": "alloy",
"response_format": "mp3"
}'响应
成功响应通常是音频二进制流,`Content-Type` 取决于 `response_format`。如果使用 `mp3`,常见响应类型为 `audio/mpeg`。
错误
| HTTP | 说明 | 处理建议 |
|---|---|---|
| 400 | input 过长、voice 不支持或 response_format 不支持 | 缩短文本并检查枚举值 |
| 401 | API key 无效 | 重新创建 key |
| 429 | 音频模型限流 | 排队或降低并发 |
| 500 | 上游 TTS 异常 | 记录 request id 后重试 |
注意事项
- 长文本建议按句子或段落切分,避免单次失败导致整段重试。
- PCM/WAV 适合后续音频处理;MP3 适合直接播放和下载。
- 文本里包含敏感数据时,应使用专门 key 并配置更严格预算。