API 參考

即時

目前沒有可用模型

目前模型目錄裡沒有模型支援這個介面,本頁僅供參考。
WS/v1/realtime

當文字和音訊需要在一條持久連線中傳輸時,使用 Realtime 端點。它與 HTTP API 使用同一套 API 金鑰、金鑰權限、模型權限和限流規則。

#從伺服器端建立連線

請從可信的伺服器端處理程序建立 WebSocket,並在握手時透過 Authorization: Bearer 傳送 API 金鑰。不要把長期 API 金鑰放進瀏覽器 JavaScript:瀏覽器無法安全附帶該請求標頭,任何人都能從已發布的程式碼中提取金鑰。

server.ts
import WebSocket from "ws";

const socket = new WebSocket("wss://YOUR_DOMAIN/v1/realtime", {
  headers: { Authorization: "Bearer sk-YOUR_KEY" },
});

socket.on("open", () => {
  // Send standard Realtime session and conversation events here.
});

socket.on("message", (event) => {
  // Forward text / audio deltas to your client.
});

#工作階段與事件流程

連線後,依所選模型的標準 Realtime 格式傳送工作階段和對話事件。透過你自己的短期通道把伺服器端事件轉給瀏覽器,從而始終由你控制平台金鑰和上游 WebSocket。

1

連線

建立一條經過認證的伺服器端連線。

2

設定

傳送工作階段設定和對話輸入。

3

轉發

將增量事件轉發給客戶端,並在完成後關閉工作階段。

#有策略地重連

WebSocket 是有狀態的。連線關閉後,請建立新工作階段,並且只重放應用程式明確保留的狀態。將 401、403、402 和 429 視為需要處理的帳戶或金鑰訊號;對短暫網路錯誤和 5xx 錯誤進行有次數上限的退避重試。

不需要即時音訊時,先使用 HTTP

一般的串流文字使用 /v1/chat/completions 更容易部署,並採用 SSE。只有當持久、低延遲的工作階段成為產品體驗的一部分時,再遷移到 Realtime。

還是沒解決?

把請求 ID 或錯誤訊息傳給我們,我們來查。