语音转文本 API 参考
通过 Gate.AI 语音转文本接口上传音频文件,同步返回 OpenAI 兼容的转写结果。设置 stream=true 时,网关会以 text/event-stream 透传上游 SSE,末帧携带 usage 与 model_extend。
| 字段 | 值 |
|---|---|
| Base URL | https://api.gate.ai/openai/v1 |
| 认证 | Authorization: Bearer <API_KEY> |
| 格式 | OpenAI 兼容;使用 multipart/form-data 上传音频文件 |
语音接口路径位于 /openai/v1 下;语音转文本与文本转语音为同步能力,不返回 job_id,也不需要轮询。TTS 默认二进制响应中的计费信息记录在控制台 Generations。
语音转文本
POST
/audio/transcriptions上传待转写音频文件,同步返回文本、usage 与 model_extend.cost。gpt-4o-transcribe / gpt-4o-mini-transcribe 按 token 计费;whisper-1 通常按音频时长计费。
请求参数
| 名称 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| Authorization | header | string | 是 | Gate.AI API Key。格式:Bearer <API_KEY> |
| Content-Type | header | string | 是 | 请求体格式:multipart/form-data |
请求体
| 名称 | 类型 | 必选 | 说明 |
|---|---|---|---|
| model | string | 是 | 语音转文本模型 ID,如 whisper-1、gpt-4o-transcribe、gpt-4o-mini-transcribe;以平台实际上架为准 |
| file | file | 是 | 待转写音频文件,如 mp3、wav、m4a 等格式 |
| language | string | 否 | 可选语言提示,如 zh,用于提升转写准确性 |
| stream | boolean | 否 | 设为 true 时返回 text/event-stream 流式转写事件;末帧 transcript.text.done 携带 usage 与 model_extend |
示例
text
1model=gpt-4o-transcribe2language=zh3file=@./input.mp3返回字段说明
| 名称 | 类型 | 说明 |
|---|---|---|
| text | string | 转写文本 |
| usage | object | 语音转文本用量。不同模型可能返回 token 或音频时长形态 |
| usage.input_token_details.audio_tokens | integer | 音频输入 token 数,适用于 token 计费的转写模型 |
| model_extend.cost | string | 实际计费金额(USD),扣款以 model_extend.cost 为准 |
| model_extend.provider | string | 实际上游 provider,如 openai |
| model_extend.line_items | array | 计费分项,如 input_audio、output 或按时长计费项目 |
返回示例
json
1{2 "text": "今天天气很好,我们一起去海边散步吧。",3 "usage": {4 "type": "tokens",5 "input_tokens": 14,6 "input_token_details": {7 "text_tokens": 0,8 "audio_tokens": 149 },10 "output_tokens": 18,11 "total_tokens": 3212 },13 "model_extend": {14 "cost": "0.000180",15 "provider": "openai",16 "total_tokens": "32",17 "line_items": [18 {19 "kind": "input_audio",20 "tokens": 14,21 "rate_usd_per_million": "6.0000000000",22 "amount_usd": "0.0000840000"23 },24 {25 "kind": "output",26 "tokens": 18,27 "rate_usd_per_million": "10.0000000000",28 "amount_usd": "0.0001800000"29 }30 ]31 }32}返回结果
| 状态码 | 状态码含义 | 说明 | 数据模型 |
|---|---|---|---|
| 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 |