語音轉文字 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 |