音频(Audio)

OpenAI 音频格式

官方文档

📝 简介

OpenAI 音频 API 提供了三个主要功能:

  1. 文本转语音(TTS) - 将文本转换为自然的语音
  2. 语音转文本(STT) - 将音频转录为文本
  3. 音频翻译 - 将非英语音频翻译成英语文本

💡 请求示例

文本转语音 ✅

curl https://$Burncloud_API_BaseUrl/v1/audio/speech \
  -H "Authorization: Bearer $Burncloud_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "tts-1",
    "input": "你好,世界!",
    "voice": "alloy"
  }' \
  --output speech.mp3

语音转文本 ✅

curl https://$Burncloud_API_BaseUrl/v1/audio/transcriptions \
  -H "Authorization: Bearer $Burncloud_API_KEY" \
  -H "Content-Type: multipart/form-data" \
  -F file="@/path/to/file/audio.mp3" \
  -F model="whisper-1"

响应示例:

{
  "text": "你好,世界!"
}

音频翻译 ✅

curl https://$Burncloud_API_BaseUrl/v1/audio/translations \
  -H "Authorization: Bearer $Burncloud_API_KEY" \
  -H "Content-Type: multipart/form-data" \
  -F file="@/path/to/file/chinese.mp3" \
  -F model="whisper-1"

响应示例:

{
  "text": "Hello, world!"
}

📮 请求

端点

文本转语音

POST /v1/audio/speech

将文本转换为语音。

语音转文本

POST /v1/audio/transcriptions

将音频转录为输入语言的文本。

音频翻译

POST /v1/audio/translations

将音频翻译为英语文本。

鉴权方法

在请求头中包含以下内容进行 API 密钥认证:

Authorization: Bearer $Burncloud_API_KEY

其中 $Burncloud_API_KEY 是您的 API 密钥。

请求体参数

文本转语音

model
input
voice
response_format
speed

语音转文本

file
model
language
prompt
response_format
temperature
timestamp_granularities

音频翻译

file
model
prompt
response_format
temperature

📥 响应

成功响应

文本转语音

返回二进制音频文件内容。

语音转文本

基础 JSON 格式
{
  "text": "转录的文本内容"
}
详细 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
    }
  ]
}

音频翻译

{
  "text": "翻译后的英文文本"
}

错误响应

当请求出现问题时,API 将返回一个错误响应对象,HTTP 状态码在 4XX-5XX 范围内。

常见错误状态码

错误响应示例:

{
  "error": {
    "message": "文件格式不支持",
    "type": "invalid_request_error",
    "param": "file",
    "code": "invalid_file_format"
  }
}