OpenAI 音频格式¶
官方文档
📝 简介¶
OpenAI 音频 API 提供了三个主要功能:
- 文本转语音(TTS) - 将文本转换为自然的语音
- 语音转文本(STT) - 将音频转录为文本
- 音频翻译 - 将非英语音频翻译成英语文本
💡 请求示例¶
文本转语音 ✅¶
curl https://newapi地址/v1/audio/speech \
-H "Authorization: Bearer $NEWAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "tts-1",
"input": "你好,世界!",
"voice": "alloy"
}' \
--output speech.mp3
语音转文本 ✅¶
curl https://newapi地址/v1/audio/transcriptions \
-H "Authorization: Bearer $NEWAPI_API_KEY" \
-H "Content-Type: multipart/form-data" \
-F file="@/path/to/file/audio.mp3" \
-F model="whisper-1"
响应示例:
音频翻译 ✅¶
curl https://newapi地址/v1/audio/translations \
-H "Authorization: Bearer $NEWAPI_API_KEY" \
-H "Content-Type: multipart/form-data" \
-F file="@/path/to/file/chinese.mp3" \
-F model="whisper-1"
响应示例:
📮 请求¶
端点¶
文本转语音¶
将文本转换为语音。
语音转文本¶
将音频转录为输入语言的文本。
音频翻译¶
将音频翻译为英语文本。
鉴权方法¶
在请求头中包含以下内容进行 API 密钥认证:
其中 $NEWAPI_API_KEY
是您的 API 密钥。
请求体参数¶
文本转语音¶
model
¶
- 类型:字符串
- 必需:是
- 可选值:tts-1, tts-1-hd
- 说明:要使用的 TTS 模型
input
¶
- 类型:字符串
- 必需:是
- 最大长度:4096 字符
- 说明:要转换为语音的文本
voice
¶
- 类型:字符串
- 必需:是
- 可选值:alloy, echo, fable, onyx, nova, shimmer
- 说明:生成语音时使用的声音
response_format
¶
- 类型:字符串
- 必需:否
- 默认值:mp3
- 可选值:mp3, opus, aac, flac, wav, pcm
- 说明:音频输出格式
speed
¶
- 类型:数字
- 必需:否
- 默认值:1.0
- 范围:0.25 - 4.0
- 说明:生成语音的速度
语音转文本¶
file
¶
- 类型:文件
- 必需:是
- 支持格式:flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm
- 说明:要转录的音频文件
model
¶
- 类型:字符串
- 必需:是
- 当前仅支持:whisper-1
- 说明:要使用的模型 ID
language
¶
- 类型:字符串
- 必需:否
- 格式:ISO-639-1 (如 "en")
- 说明:音频的语言,提供可提高准确性
prompt
¶
- 类型:字符串
- 必需:否
- 说明:用于指导模型风格或继续前一段音频的文本
response_format
¶
- 类型:字符串
- 必需:否
- 默认值:json
- 可选值:json, text, srt, verbose_json, vtt
- 说明:输出格式
temperature
¶
- 类型:数字
- 必需:否
- 默认值:0
- 范围:0 - 1
- 说明:采样温度,较高的值使输出更随机
timestamp_granularities
¶
- 类型:数组
- 必需:否
- 默认值:segment
- 可选值:word, segment
- 说明:转录的时间戳粒度
音频翻译¶
file
¶
- 类型:文件
- 必需:是
- 支持格式:flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm
- 说明:要翻译的音频文件
model
¶
- 类型:字符串
- 必需:是
- 当前仅支持:whisper-1
- 说明:要使用的模型 ID
prompt
¶
- 类型:字符串
- 必需:否
- 说明:用于指导模型风格的英文文本
response_format
¶
- 类型:字符串
- 必需:否
- 默认值:json
- 可选值:json, text, srt, verbose_json, vtt
- 说明:输出格式
temperature
¶
- 类型:数字
- 必需:否
- 默认值:0
- 范围:0 - 1
- 说明:采样温度,较高的值使输出更随机
📥 响应¶
成功响应¶
文本转语音¶
返回二进制音频文件内容。
语音转文本¶
基础 JSON 格式¶
详细 JSON 格式¶
{
"task": "transcribe",
"language": "english",
"duration": 8.47,
"text": "完整的转录文本",
"segments": [
{
"id": 0,
"seek": 0,
"start": 0.0,
"end": 3.32,
"text": "分段的转录文本",
"tokens": [50364, 440, 7534],
"temperature": 0.0,
"avg_logprob": -0.286,
"compression_ratio": 1.236,
"no_speech_prob": 0.009
}
]
}
音频翻译¶
错误响应¶
当请求出现问题时,API 将返回一个错误响应对象,HTTP 状态码在 4XX-5XX 范围内。
常见错误状态码¶
400 Bad Request
: 请求参数无效401 Unauthorized
: API 密钥无效或未提供429 Too Many Requests
: 超出 API 调用限制500 Internal Server Error
: 服务器内部错误
错误响应示例: