OpenAI's lowest-latency streaming transcription model for Realtime sessions. Duration-billed at $0.017/min ($1.02/hour).
- 価格
- $0.017/min
価格の位置づけ
同種 12 モデル中の料金の位置
このバーは、Synthorai 上の同種モデルの中でこのモデルの価格がどこに位置するかを示します。両端には最も安いモデルと最も高いモデルの名前が入ります。表示は基本料金で、バッチ・リージョン・キャッシュ書き込みの割引は料金ページにあります。
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 API は無料で試せますか?
はい。新規アカウントには 10 回のトライアル呼び出しと最大 $1 の無料クレジットが付与され、カード登録は不要です。支払い方法を追加する前に、実際のワークロードで GPT Realtime Whisper を試すには十分な量です。
GPT Realtime Whisper の料金はいくらですか?
Synthorai 上の GPT Realtime Whisper は文字起こしする音声 1 分あたり $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 イベントで返ります。料金は入力音声 1 分あたり $0.017 で、セッション自体の料金に加算されます。
GPT Realtime Whisper を利用するには?
Synthorai の API キーで Realtime セッションを開き、入力文字起こしモデルとして "gpt-realtime-whisper" を指定してください。GPT Realtime Whisper は Realtime セッション向けで、/v1/audio/transcriptions のファイル API 用ではありません。ファイルを文字起こしする場合は音声認識モデルを選んでください。1 つの API キーでゲートウェイ上のすべてのモデルを利用できます。
関連モデル
比較
このページの値はすべてベンダー自身のドキュメント(上部にリンク)から転記し、確認した日付を付しています。価格はカタログ全体で比較しますが、ベンダーごとに定義が異なる仕様値は差異を明記するにとどめ、図表で比較はしません。当社が測定した数値はなく、スコアも付けていません。