GPT Realtime Whisper は、ライブ音声から低遅延の文字起こし更新を出す OpenAI のモデルです。
- 入力
- 音声 テキスト
- 出力
- テキスト
- 価格
- $0.017/min
- コンテキスト
- 16K
- 知識カットオフ
- 2024-09
入力長別の料金
リクエスト全体に入力長の区分の単価が適用されます。料金は100万トークンあたりの米ドルです。
| 入力トークン数 | 入力 | 出力 | 思考モード入力 |
|---|
価格の位置づけ
同種の 9 モデルの中での価格の位置
このバーは、Synthorai の同種モデルの中で、このモデルの価格がどのあたりにあるかを示しています。両端には、最も安いモデルと最も高いモデルの名前を表示しています。表示しているのは基本料金で、バッチ、リージョン、キャッシュ書き込みに関する割引は料金ページに記載しています。
仕様と制限
トークン
| コンテキストウィンドウ(ベンダー仕様) | 16,000 |
|---|---|
| 最大出力(ベンダー仕様) | 2,000 |
| 知識カットオフ | 2024-09 |
音声
| 言語 | OpenAI はこのモデル固有の対応言語一覧を公開していません。対象言語の実際の音声で確認してください。 |
|---|---|
| 音声の制限 | ライブ音声を低遅延で逐次文字起こしします。文字トークンではなく音声の分単位で課金します。 |
| ストリーミング文字起こし | 対応 |
モデル
| モダリティ | 音声 + テキスト → テキスト |
|---|
出典:モデル仕様の出典 ↗
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 について
- 課金は文字トークンではなく音声の長さに基づきます。
- OpenAI は新規導入には新しい文字起こしモデルを推奨し、このモデルは対応する既存連携向けに残しています。
よくある質問
GPT Realtime Whisper API は無料で試せますか?
はい。新規アカウントには 10 回のお試し呼び出しと最大 $1 の無料クレジットが付き、カード登録は不要です。支払い方法を追加する前に、実際のワークロードで GPT Realtime Whisper を試すには十分な量です。
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 用ではありません。ファイルを文字起こしする場合は、音声文字起こしモデルを選んでください。API キー 1 本でゲートウェイ上のすべてのモデルを利用できます。
関連モデル
比較
仕様とベンダーのベンチマークには出典を付記しています。ゲートウェイの対応状況は Synthorai の実装を示します。保存された例は個々のリクエストの結果であり、モデル全般の性能を保証するものではありません。料金は公開料金 API またはビルド時のスナップショットに基づきます。