GPT Realtime Whisper 是 OpenAI 的即時語音轉文字模型,持續輸出低延遲轉錄更新,並按音訊時長計費。
- 輸入
- 音訊 文字
- 輸出
- 文字
- 價格
- $0.017/min
- 上下文
- 16K
- 知識截止
- 2024-09
依輸入長度分級的價格
整次請求依輸入長度所在級距計費。價格單位為美元/百萬 token。
| 輸入 token 數 | 輸入 | 輸出 | 思考模式輸入 |
|---|
價格在同類中的位置
價格在 9 個同類模型中的位置
這條線標出這個模型的價格,在 Synthorai 的同類模型裡落在什麼位置;兩端分別是最便宜和最貴的模型。這裡列的是基礎價,批次、區域和快取寫入的折扣請見價格頁。
規格與限制
Token
| 上下文視窗(供應商規格) | 16,000 |
|---|---|
| 最大輸出(供應商規格) | 2,000 |
| 知識截止 | 2024-09 |
音訊
| 語言 | OpenAI 未在此型號的模型卡公布專屬語言清單;請用目標語言的真實音訊驗證。 |
|---|---|
| 音訊限制 | 即時音訊轉錄,低延遲持續輸出文字更新;按音訊分鐘計費,而非文字 token。 |
| 串流轉錄 | 支援 |
模型
| 模態 | 音訊 + 文字 → 文字 |
|---|
依據 模型規格來源 ↗
30 秒上手 GPT Realtime Whisper
只能在 OpenAI Realtime 工作階段裡當作輸入轉錄模型使用:用 Realtime 模型建立工作階段,再把 session.audio.input.transcription.model 設為 gpt-realtime-whisper。WS /v1/realtime
import asyncio, json, websockets
URL = "wss://synthorai.io/v1/realtime?model=gpt-realtime-2.1"
# Send ONLY the Authorization header - the beta protocol is retired.
HEADERS = {"Authorization": "Bearer sk-syn-..."}
async def main():
async with websockets.connect(URL, additional_headers=HEADERS) as ws:
# 1) name gpt-realtime-whisper as the session's input transcription model
await ws.send(json.dumps({
"type": "session.update",
"session": {
"type": "realtime",
"audio": {"input": {"transcription": {"model": "gpt-realtime-whisper"}}},
},
}))
# 2) send input audio (base64 PCM16) and commit it
await ws.send(json.dumps({"type": "input_audio_buffer.append", "audio": pcm16_b64}))
await ws.send(json.dumps({"type": "input_audio_buffer.commit"}))
# 3) the transcript of what was said arrives as its own event
async for raw in ws:
ev = json.loads(raw)
if ev["type"] == "conversation.item.input_audio_transcription.completed":
print(ev["transcript"])
break
asyncio.run(main())import WebSocket from "ws";
const ws = new WebSocket("wss://synthorai.io/v1/realtime?model=gpt-realtime-2.1", {
// Send ONLY the Authorization header, the beta protocol is retired.
headers: { Authorization: "Bearer sk-syn-..." },
});
ws.on("open", () => {
// name gpt-realtime-whisper as the session's input transcription model
ws.send(JSON.stringify({ type: "session.update", session: {
type: "realtime", audio: { input: { transcription: { model: "gpt-realtime-whisper" } } },
} }));
// send input audio (base64 PCM16) and commit it
ws.send(JSON.stringify({ type: "input_audio_buffer.append", audio: pcm16Base64 }));
ws.send(JSON.stringify({ type: "input_audio_buffer.commit" }));
});
ws.on("message", (raw) => {
const ev = JSON.parse(raw.toString());
if (ev.type === "conversation.item.input_audio_transcription.completed") {
console.log(ev.transcript); // the transcript of what was said
ws.close();
}
});# Realtime is a WebSocket protocol - use a WS client such as websocat.
# Each line below is one OpenAI Realtime event (JSON) sent to the session.
websocat -H 'Authorization: Bearer sk-syn-...' \
'wss://synthorai.io/v1/realtime?model=gpt-realtime-2.1' <<'EOF'
{"type":"session.update","session":{"type":"realtime","audio":{"input":{"transcription":{"model":"gpt-realtime-whisper"}}}}}
{"type":"input_audio_buffer.append","audio":"<base64-pcm16>"}
{"type":"input_audio_buffer.commit"}
EOF
# The transcript arrives as conversation.item.input_audio_transcription.completedpackage main
import (
"fmt"
"net/http"
"github.com/gorilla/websocket"
)
func main() {
h := http.Header{}
h.Set("Authorization", "Bearer sk-syn-...")
// Send ONLY the Authorization header, the beta protocol is retired.
c, _, err := websocket.DefaultDialer.Dial("wss://synthorai.io/v1/realtime?model=gpt-realtime-2.1", h)
if err != nil {
panic(err)
}
defer c.Close()
// name gpt-realtime-whisper as the session's input transcription model, then send audio
c.WriteJSON(map[string]any{"type": "session.update", "session": map[string]any{
"type": "realtime",
"audio": map[string]any{"input": map[string]any{
"transcription": map[string]any{"model": "gpt-realtime-whisper"}}}}})
c.WriteJSON(map[string]any{"type": "input_audio_buffer.append", "audio": pcm16B64})
c.WriteJSON(map[string]any{"type": "input_audio_buffer.commit"})
for {
var ev struct {
Type string `json:"type"`
Transcript string `json:"transcript"`
}
if err := c.ReadJSON(&ev); err != nil {
return
}
if ev.Type == "conversation.item.input_audio_transcription.completed" {
fmt.Println(ev.Transcript) // the transcript of what was said
return
}
}
}import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.WebSocket;
import java.util.concurrent.CompletionStage;
// JDK built-in WebSocket, no extra dependency needed.
WebSocket ws = HttpClient.newHttpClient().newWebSocketBuilder()
.header("Authorization", "Bearer sk-syn-...")
// Send ONLY the Authorization header, the beta protocol is retired.
.buildAsync(URI.create("wss://synthorai.io/v1/realtime?model=gpt-realtime-2.1"), new WebSocket.Listener() {
public CompletionStage<?> onText(WebSocket w, CharSequence data, boolean last) {
// conversation.item.input_audio_transcription.completed carries the transcript
w.request(1);
return null;
}
}).join();
// name gpt-realtime-whisper as the session's input transcription model, then send audio
ws.sendText("{\"type\":\"session.update\",\"session\":{\"type\":\"realtime\",\"audio\":{\"input\":{\"transcription\":{\"model\":\"gpt-realtime-whisper\"}}}}}", true);
ws.sendText("{\"type\":\"input_audio_buffer.append\",\"audio\":\"<base64-pcm16>\"}", true);
ws.sendText("{\"type\":\"input_audio_buffer.commit\"}", true);關於 GPT Realtime Whisper
- 官方目前建議新整合優先評估較新的轉錄模型;此型號仍適用於受支援的既有整合。
- 目標語言與雜訊環境仍須使用真實音訊驗證。
常見問題
GPT Realtime Whisper API 可以免費試用嗎?
可以,新帳號有 10 次試用呼叫和最高 $1 的免費額度,免綁卡。在綁定付款方式之前,就足夠你拿實際的工作負載試試 GPT Realtime Whisper。
GPT Realtime Whisper 最擅長什麼?
即時串流轉錄更新、按音訊分鐘計費、新專案應比較較新型號。完整介紹請見「關於」一節,內容取自供應商官方的發布說明。
GPT Realtime Whisper 的價格是多少?
在 Synthorai 上,GPT Realtime Whisper 每轉錄一分鐘音訊收費 $0.017:按用量計費,平台不加價,不需訂閱。
GPT Realtime Whisper 要怎麼使用?
GPT Realtime Whisper 不能單獨呼叫,它是在 Realtime 工作階段裡負責轉錄使用者說的話:用 Realtime 模型連線到 wss://synthorai.io/v1/realtime,把 session.audio.input.transcription.model 設為 "gpt-realtime-whisper",再從 conversation.item.input_audio_transcription.completed 事件讀取每一段轉錄結果。費用是輸入音訊每分鐘 $0.017,工作階段本身的費用另計。
如何開通 GPT Realtime Whisper?
用你的 Synthorai API 金鑰建立 Realtime 工作階段,並把 "gpt-realtime-whisper" 指定為輸入轉錄模型就可以了。GPT Realtime Whisper 是為 Realtime 工作階段設計的,不適用於 /v1/audio/transcriptions 這個檔案轉錄 API;要轉錄音訊檔,請改用語音轉文字模型。一把 API 金鑰就能呼叫閘道上的所有模型。
相關模型
比較
規格與廠商 benchmark 均附來源連結。閘道支援情況說明的是 Synthorai 的實際實作。封存範例是單次閘道請求,不代表模型的一般效能保證。價格來自公開價格介面或建置時使用的快照。