概觀
一次握手,一條 WebSocket。音訊以裸 PCM 進去,JSON 出來。這一頁就是全部協定。
每個會話只有三步。握手選節點、查餘額、簽發一個短期 token;WebSocket 負責音訊和結果;關閉連線即結束這條串流。
這是一條純即時管道。除非你傳 store: true,否則什麼都不留——連線一斷,音訊和轉錄在我們這邊就沒有了。
快速開始跑通一條流所需的全部內容:一次 HTTP 請求拿到節點和 token,一條 WebSocket,裸 PCM 上去、JSON 回來。認證握手用主控台建立的 API Key 認證,Key 只在建立時顯示一次。WebSocket 本身用握手回傳的短期 token 認證,永遠不用 Key。連線POST 串流的設定,拿回節點 URL、工作階段 ID 和 token。WebSocket向回傳的 url 建立 WebSocket。token 走 subprotocol 傳遞,因為瀏覽器無法在 WebSocket 握手時設定 header。訊息等 session.ready 後再推裸 PCM。控制訊息只有 finalize / stop / ping。轉錄語言提示、自動辨識,以及段落何時落定。翻譯每條流一個語言對,方向按每個段落判定。說話人在握手時開啟說話人分割,之後每個落定的段落都會連同時間戳一起帶回說話人標籤。術語表把辨識結果偏向你的術語,並固定人名、產品名的譯法。AI 譯文優化第二輪模型呼叫結合上下文重寫譯文。即時紀要會話還在進行,紀要就已經在一段段生成。時間戳transcript.final 和 translation.final 上的 startMs / endMs 是相對本條串流音訊起點的毫秒位移,從你送的第一個位元組算起。開了 store: true 時,它們就是你能下載到的那份錄音裡的位置。錄音以 store: true 跑過的串流,音訊和轉錄會保留 30 天,用簽章 URL 取得。斷線連線關閉就意味著這條串流結束了。沒有續連:重新呼叫 connect 即開始一條新串流。你的用戶端手上已經有收到的文字,伺服器從未保存過。錯誤碼HTTP 錯誤回傳帶 code 欄位的 JSON。只重試標記為 retryable 的。定價整個 API 一個價,每條會話按有效音訊時長向上取整到整分鐘計費。