SSE API

Audio

連線資訊

項目
基礎路徑https://vas-poc.vurbo.ai/api/v1/sse
協定HTTP
認證方式Header X-API-Key: {KEY}

注意:雖然路徑包含 /sse/,但此端點返回的是音訊檔案(非 SSE 串流)。支援 HTTP Range Request 實現拖曳播放。


端點總覽

方法端點說明
GET/api/v1/sse/audio/{taskId}音訊檔案播放

GET /api/v1/sse/audio/{taskId}

功能說明

串流播放指定任務的錄音檔案,支援 HTTP Range Request 實現拖曳播放。

音檔下載 APIGET /api/v1/tasks/{taskId}/audio/export)的差異

  • 本端點:播放用途;支援 HTTP Range Request(可拖曳進度),適合 HTML5 <audio> 元素或串流播放器。
  • 音檔下載:離線下載用途;回應附 Content-Disposition: attachment 標頭,瀏覽器會直接儲存為檔案。

使用場景

  • 播放錄音音訊
  • 支援拖曳播放進度

認證方式

Header:X-API-Key(詳見 認證機制

請求參數

參數位置類型必填說明
taskIdpathstring錄音 ID(UUID)

請求範例

# 下載完整音訊檔案
curl -X GET "https://vas-poc.vurbo.ai/api/v1/sse/audio/550e8400-e29b-41d4-a716-446655440000" \
  -H "X-API-Key: vas_aB3dE5fG7hI9jK1lM3nO5pQ7rS9tU1vW" \
  -o audio.m4a

# Range Request(部分下載)
curl -X GET "https://vas-poc.vurbo.ai/api/v1/sse/audio/550e8400-e29b-41d4-a716-446655440000" \
  -H "X-API-Key: vas_aB3dE5fG7hI9jK1lM3nO5pQ7rS9tU1vW" \
  -H "Range: bytes=0-1023" \
  -o audio_part.m4a

回應格式

完整檔案(HTTP 200):

HTTP/1.1 200 OK
Content-Type: audio/mp4
Content-Length: 1234567
Accept-Ranges: bytes
Cache-Control: no-cache

注意:絕大多數錄音以 M4A 容器(AAC 編碼)回傳,Content-Typeaudio/mp4、副檔名為 .m4a。實際 Content-Type 依錄音儲存格式而定(少數歷史 / 廣播錄音可能為 audio/webmaudio/wav),請以 Response Header 為準。

部分檔案(HTTP 206 - Range Request):

HTTP/1.1 206 Partial Content
Content-Type: audio/mp4
Content-Length: 1024
Content-Range: bytes 0-1023/1234567
Accept-Ranges: bytes

特有錯誤碼

錯誤碼HTTP 狀態碼說明處理建議
recording_not_found404找不到錄音確認 taskId 正確
recording_audio_not_ready422音檔尚未上傳完成稍後重試
storage_download_failed500儲存服務下載失敗稍後重試

前端範例

async function playAudio(taskId, apiKey) {
  const response = await fetch(
    `https://vas-poc.vurbo.ai/api/v1/sse/audio/${taskId}`,
    {
      headers: {
        'X-API-Key': apiKey
      }
    }
  );

  const blob = await response.blob();
  const audioUrl = URL.createObjectURL(blob);
  const audio = new Audio(audioUrl);
  audio.play();
}
// 搭配 HTML5 Audio 元素使用
async function setupAudioPlayer(taskId, apiKey) {
  const response = await fetch(
    `https://vas-poc.vurbo.ai/api/v1/sse/audio/${taskId}`,
    {
      headers: {
        'X-API-Key': apiKey
      }
    }
  );

  const blob = await response.blob();
  const audioUrl = URL.createObjectURL(blob);

  const audioElement = document.getElementById('audio-player');
  audioElement.src = audioUrl;
  audioElement.load();
}

版本:V1.5.7 最後更新:2026-05-20

Copyright © 2026