章節導覽
語音轉文字(轉錄)指南
語音轉文字(轉錄)指南
POST /v1/audio/transcriptions 與 OpenAI 相容:以 multipart/form-data 上傳音訊(或用 JSON 傳 base64 的 input_audio),回傳文字。轉錄模型包含 elevenlabs/scribe-v2 與 elevenlabs/scribe-v2-medical。最新清單請查 GET /v1/models?output_modalities=transcription。 GET /v1/models 預設只回文字模型,請加 ?output_modalities=transcription(或 all)才會列出轉錄模型。
/v1/audio/transcriptions參數
| 參數 | 型別 | 必填 | 說明 |
|---|---|---|---|
| model | string | 是 | 轉錄模型識別碼,例如 elevenlabs/scribe-v2。 |
| file | file | 是 | 音訊檔(multipart)。支援 wav、mp3、mp4、m4a、ogg、flac、webm、aac,最大 25 MiB。JSON 用戶端可改傳 input_audio: {data: base64, format}。 |
| response_format | string | 否 | json(預設)回傳 {text};verbose_json 另含語言、時長與 segments/words。 |
| language | string | 否 | 選填的語言提示,例如 en 或 zh。留空則自動偵測。 |
| prompt | string | 否 | 選填的上下文文字,幫助辨識人名與專有名詞;不是每個模型都會套用。 |
| timestamp_granularities[] | string[] | 否 | word 和/或 segment,只在 response_format=verbose_json 時套用,其他格式會忽略。 目前尚未回傳逐字(word)時間戳,會回傳 segments。 |
輸出格式
response_format 只接受 json 或 verbose_json(不支援 text、srt、vtt),也不支援 stream。音訊依模型設定長度上限,預設 60 秒;超過會在處理前回傳 413 audio_too_long,且不收費。較長的錄音請切段。
計價方式
轉錄依音訊秒數計費。每秒價格列在 /models 的模型頁,以及 GET /v1/models 的 pricing.second(每秒美元);每分鐘價格=60 × 該值。回應的 usage 會列出計費秒數,usage.cost 為實際扣款(美元)。
範例
curl https://api.bazaarlink.ai/v1/audio/transcriptions \
-H "Authorization: Bearer $BAZAARLINK_API_KEY" \
-F model="elevenlabs/scribe-v2" \
-F file=@audio.mp3 \
-F response_format=verbose_json \
-F "timestamp_granularities[]=word"常見錯誤
| 狀態碼 | 原因與處理 |
|---|---|
| 400 | 請求有誤:缺少 model 或 file、音訊為空、response_format 不是 json/verbose_json、帶了 stream=true(unsupported_parameter),或 timestamp_granularities 不是 word/segment。 |
| 401 | 缺少或無效的 API Key。 |
| 402 | 點數不足,請儲值後再試。 |
| 413 | audio_too_large:解碼後音訊超過 25 MiB。audio_too_long:音訊超過依模型設定的長度上限(預設 60 秒),處理前即拒絕且不收費。請壓縮或切段。 |
| 429 | 達到速率上限。請依 Retry-After 標頭等待後重試。 |
| 502 | 模型服務暫時無法使用,或音訊傳輸中斷。請重試;失敗的請求不收費。 |
語音轉寫
使用 multipart/form-data 的 model、file,或 JSON 的 model、input_audio:{data,format}(原始 base64)。支援 wav、mp3、mp4、m4a、ogg、flac、webm、aac。解碼音訊最多 25 MiB;含 base64 的請求本文上限 50 MiB。audio.transcription_max_seconds_by_model 設定各模型上限,未設定時依序使用 audio.transcription_max_seconds 與預設 60 秒。超過會在處理前回傳 413 audio_too_long,且不收費。response_format 僅支援 json、verbose_json;timestamp_granularities 的 word、segment 只可搭配 verbose_json。不支援 stream,回傳 400 unsupported_parameter;音訊過大回傳 413 audio_too_large。provider 路由欄位被忽略。依資料庫模型價格按 usage.seconds 或輸入/輸出 token 計費;每分鐘為每秒價格乘以 60。usage.cost 是客戶支付的 USD 金額。
/v1/audio/transcriptions