DEV Community

Cover image for GPT-Realtime-2とは?APIの使い方
Akira
Akira

Posted on • Originally published at apidog.com

GPT-Realtime-2とは?APIの使い方

OpenAIは2026年11月6日に新世代の音声モデルを発表しました。中心となるのは、GPT-5クラスの推論、128,000トークンのコンテキストウィンドウ、回答品質とレイテンシを調整できる推論エフォートを備えた音声対音声モデル「GPT-Realtime-2」です。既存のRealtime APIサーフェス上で動作するため、すでに gpt-realtime を使っている場合は、モデルIDの変更と一部フィールド追加で移行できます。

今すぐApidogを試す

この記事では、GPT-Realtime-2の変更点、料金、WebSocket/SIPでの呼び出し方法、そして毎回音声を録音し直さずにRealtimeセッションを再生・比較できるよう、Apidogを使ったテスト手順をまとめます。

OpenAIの2026年モデルライン全体を把握したい場合は、GPT-5.5とはを参照してください。マルチモーダルな兄弟モデルについては、GPT-Image-2 APIの使用方法も参考になります。

TL;DR

  • GPT-Realtime-2は、OpenAIの主力音声対音声モデルです。
  • GPT-5クラスの推論、128kコンテキスト、最大32k出力トークンを備えています。
  • 音声料金は、入力100万トークンあたり $32、出力100万トークンあたり $64 です。キャッシュ済み入力は $0.40/100万トークンです。
  • 新音声は CedarMarin。どちらもRealtime API専用です。
  • 推論エフォートは minimallowmediumhighxhigh の5段階です。デフォルトはレイテンシ優先の low です。
  • WebSocketでは wss://api.openai.com/v1/realtime?model=gpt-realtime-2 に接続します。
  • SIPでは着信通話をRealtimeセッションに接続できます。
  • 同時リリースとして、ライブ翻訳用の GPT-Realtime-Translate と、ストリーミングSTT用の GPT-Realtime-Whisper があります。
  • Apidogを使うと、WebSocketセッションのスクリプト化、フレームのキャプチャ、実行間の比較ができます。

GPT-Realtime-2とは?

GPT-Realtime-2は、音声を入力し、音声を出力するエンドツーエンドの音声対音声モデルです。

従来のように、

STT → LLM → TTS
Enter fullscreen mode Exit fullscreen mode

という3段パイプラインを組むのではなく、モデルが以下を一度に処理します。

  • 音声入力の理解
  • 文字起こし相当の処理
  • 推論
  • ツール選択
  • 音声生成

gpt-realtime が置き換えた旧来のパイプラインを、GPT-Realtime-2ではより強力な推論コアで拡張しています。

GPT-Realtime-2は、入力としてテキスト、音声、画像を受け取り、出力としてテキストと音声を返します。今回の重要な追加点は画像入力です。

たとえば、ライブ会話中にユーザーがスクリーンショットを送信し、音声で「このエラーは何ですか?」と質問できます。モデルは画面内容を見たうえで、音声で回答を継続できます。

主な仕様は次のとおりです。

属性
モデルID gpt-realtime-2
コンテキストウィンドウ 128,000トークン
最大出力 32,000トークン
入力モダリティ テキスト、音声、画像
出力モダリティ テキスト、音声
知識カットオフ 2024年9月30日
推論レベル minimal, low, medium, high, xhigh
関数呼び出し あり
リモートMCPサーバー あり
画像入力 あり
SIP電話発信 あり

gpt-realtimeからの変更点

gpt-realtime-1.5 と比較すると、GPT-Realtime-2では音声理解と指示追従性が改善されています。

  • Big Bench Audio(音声インテリジェンス): 81.4% → 96.6%
  • Audio MultiChallenge(指示の追従性): 34.7% → 48.5%

これらのスコアは high および xhigh 推論で記録されています。本番環境のデフォルトはレイテンシ優先の low なので、実運用では品質と応答速度のバランスを見ながら調整します。

実装上、特に重要な変更は次の4つです。

1. プレアンブル

モデルは、本回答の前に短いフィラーを発話できます。

例:

確認します。
少しお待ちください。
それでは見てみます。
Enter fullscreen mode Exit fullscreen mode

これにより、ツール実行や推論中の無音時間をユーザーに感じさせにくくなります。

2. 音声ナレーション付きの並列ツール呼び出し

モデルは複数の関数を並列に呼び出しながら、処理状況を音声で説明できます。

例:

残高と直近の取引を確認しています。
Enter fullscreen mode Exit fullscreen mode

これにより、ツール実行中に2〜3秒沈黙するような体験を避けやすくなります。

3. 回復性能の向上

曖昧な発話、途中で遮られた発話、部分的に失敗したターンを、会話全体をリセットせずに処理しやすくなっています。

4. ドメインごとのトーン制御

長いセッションでも、専門用語や話し方の一貫性を保ちやすくなっています。また、会話中に「もっとゆっくり」「フォーマルに」「カジュアルに」といった表現調整を要求できます。

コンテキストは32kから128kトークンに拡張されました。銀行業務、カスタマーサポート、チュータリングなど、長時間の音声セッションを扱うユースケースで特に有効です。

料金

GPT-Realtime-2はトークン単位で課金されます。テキスト、音声、画像で料金が異なります。

トークンタイプ 入力 キャッシュ済み入力 出力
テキスト $4.00 / 100万 $0.40 / 100万 $24.00 / 100万
音声 $32.00 / 100万 $0.40 / 100万 $64.00 / 100万
画像 $5.00 / 100万 $0.50 / 100万 該当なし

キャッシュ済み入力は、繰り返し使うコンテキストのコストを大きく下げます。安定したシステムプロンプト、共通FAQ、再利用されるドキュメントを持つエージェントでは、キャッシュを活用する設計にしておくべきです。

OpenAIラインの他モデルとの比較は、GPT-5.5の料金を参照してください。

コンパニオンモデルは分単位で課金されます。

  • GPT-Realtime-Translate: $0.034/分。70の入力言語と13の出力言語に対応。
  • GPT-Realtime-Whisper: $0.017/分。ライブキャプションや連続文字起こし向けのストリーミング音声認識。

選び方はシンプルです。

やりたいこと 選ぶモデル
音声で会話し、推論し、ツールも使う GPT-Realtime-2
ライブ多言語通訳 GPT-Realtime-Translate
文字起こしのみ GPT-Realtime-Whisper

エンドポイントと認証

GPT-Realtime-2は複数のAPIサーフェスで公開されています。

POST https://api.openai.com/v1/chat/completions
POST https://api.openai.com/v1/responses
WSS  wss://api.openai.com/v1/realtime?model=gpt-realtime-2
WSS  wss://api.openai.com/v1/realtime?call_id={call_id}   # SIP用
POST https://api.openai.com/v1/realtime/translations
POST https://api.openai.com/v1/realtime/transcription_sessions
Enter fullscreen mode Exit fullscreen mode

音声エージェントを実装する場合は、通常WebSocketエンドポイントを使います。

認証ヘッダーは次のとおりです。

Authorization: Bearer $OPENAI_API_KEY
OpenAI-Beta: realtime=v1
Enter fullscreen mode Exit fullscreen mode

まず環境変数を設定します。

export OPENAI_API_KEY="sk-proj-..."
Enter fullscreen mode Exit fullscreen mode

WebSocket経由で接続する

最小構成のNode.jsクライアントは次のようになります。

import WebSocket from "ws";

const ws = new WebSocket(
  "wss://api.openai.com/v1/realtime?model=gpt-realtime-2",
  {
    headers: {
      Authorization: `Bearer ${process.env.OPENAI_API_KEY}`,
      "OpenAI-Beta": "realtime=v1",
    },
  }
);

ws.on("open", () => {
  ws.send(JSON.stringify({
    type: "session.update",
    session: {
      voice: "cedar",
      instructions: "あなたはフィンテックアプリのフレンドリーなサポートエージェントです。",
      input_audio_format: "pcm16",
      output_audio_format: "pcm16",
      turn_detection: { type: "server_vad" },
      reasoning: { effort: "low" },
    },
  }));
});

ws.on("message", (raw) => {
  const event = JSON.parse(raw.toString());

  if (event.type === "response.audio.delta") {
    // base64 PCM16オーディオチャンク。
    // 実運用ではスピーカー、ブラウザ、または音声ストリームへ渡す。
    process.stdout.write(Buffer.from(event.delta, "base64"));
  }
});
Enter fullscreen mode Exit fullscreen mode

Realtime APIはイベント駆動です。

基本フローは次のようになります。

  1. WebSocketに接続する
  2. session.update で音声、プロンプト、音声フォーマット、VAD、推論エフォートを設定する
  3. ユーザー音声を input_audio_buffer.append で送る
  4. 必要に応じて response.create を送る
  5. サーバーから response.audio.delta を受け取り、再生する

24 kHzのPCM16は安全なデフォルトです。電話システムにブリッジする場合は、G.711 mu-lawおよびA-lawも重要です。

Pythonで実装する場合、openai SDK >= 2.1.0realtime クライアントで同じイベント名を扱えます。RealtimeサーフェスとResponses APIを比較したい場合は、GPT-5.5 APIの使用方法を参照してください。

音声

このリリースでは2つの新しい音声が追加されています。

  • Cedar: 暖かい中音域の男性声。一般的なエージェントのデフォルトに向いています。
  • Marin: 明るくクリアな女性声。翻訳やアナウンスに向いています。

どちらもRealtime API専用です。

既存の8つの音声も引き続き利用できます。

alloy
ash
ballad
coral
echo
sage
shimmer
verse
Enter fullscreen mode Exit fullscreen mode

セッション中に音声を切り替える場合は、voice を含む session.update を再送します。

ws.send(JSON.stringify({
  type: "session.update",
  session: {
    voice: "marin",
  },
}));
Enter fullscreen mode Exit fullscreen mode

画像入力

GPT-Realtime-2では、任意のユーザーターンに画像を添付できます。

たとえば、スクリーンショットを送って「このエラーは何を意味しますか?」と聞く場合は次のようにします。

ws.send(JSON.stringify({
  type: "conversation.item.create",
  item: {
    type: "message",
    role: "user",
    content: [
      {
        type: "input_image",
        image_url: "https://example.com/screenshot.png",
      },
      {
        type: "input_text",
        text: "このエラーは何を意味しますか?",
      },
    ],
  },
}));

ws.send(JSON.stringify({ type: "response.create" }));
Enter fullscreen mode Exit fullscreen mode

実装しやすいユースケースは次のとおりです。

  • 音声駆動QA: テスターが壊れたUIのスクリーンショットを送り、エージェントが問題を音声で説明する。
  • フィールドサポート: 技術者が配線盤の写真を共有し、エージェントが診断手順を案内する。
  • アクセシビリティ: サポート通話中に、ユーザー画面をスクリーンリーダーのように説明する。

画像モデル全体については、GPT-Image-2 APIの使用方法を参照してください。

関数呼び出しとMCP

GPT-Realtime-2は、標準の関数ツールとリモートMCPサーバーの両方を同じセッションで扱えます。

標準の関数呼び出しは、チャット補完と同じ考え方です。

  1. session.update でツールを宣言する
  2. モデルが response.function_call_arguments.delta を発行する
  3. クライアント側で関数を実行する
  4. conversation.item.createfunction_call_output を返す

GPT-Realtime-2では、複数の関数を並列に呼び出しながら、音声で進行状況を説明できます。

リモートMCPサーバーを使う場合は、MCP URLと許可するツールをセッションに設定します。

ws.send(JSON.stringify({
  type: "session.update",
  session: {
    tools: [{
      type: "mcp",
      server_url: "https://mcp.example.com/sse",
      allowed_tools: [
        "lookup_account",
        "list_transactions",
      ],
    }],
  },
}));
Enter fullscreen mode Exit fullscreen mode

MCPを使うと、クライアント側で関数呼び出しのイベントループをすべて処理する必要がなくなります。音声エージェントが多数のツールを持つ場合でも、応答性を保ちやすくなります。

音声エージェントに組み込む前にMCPサーバーを検証する場合は、ApidogでのMCPサーバーテストの手順が参考になります。

SIP電話発信

GPT-Realtime-2は、実際の電話通話にも接続できます。

SIPトランクをOpenAIのSIPゲートウェイに向けると、着信通話に対して次のWebSocketセッションを開きます。

wss://api.openai.com/v1/realtime?call_id={call_id}
Enter fullscreen mode Exit fullscreen mode

モデルはG.711 mu-lawおよびA-lawを直接受け付けるため、ブリッジ側で必ずしもトランスコードする必要はありません。

これは、ブラウザデモではなくコールセンター向け音声エージェントを構築する場合に重要です。電話エージェントの多くは、実際にはツールディスパッチが中心です。並列ツール呼び出しやMCPと組み合わせることで、通話中に必要なデータ取得と回答をまとめて実装できます。

推論レベル

推論レベルは、レイテンシと回答品質のバランスを調整する設定です。

レベル ユースケース おおよそのレイテンシコスト
minimal 単一ターンのYes/No回答 なし
low デフォルト。日常的なサポートとチャット
medium 曖昧さの解消、複雑なツールディスパッチ
high 多段階推論、音声によるコードレビュー
xhigh ベンチマーク、難しい分析質問 最高

本番導入時は、まず low から始めるのが現実的です。

reasoning: { effort: "low" }
Enter fullscreen mode Exit fullscreen mode

品質不足を計測できた場合のみ、mediumhighxhigh に上げます。high 以上では、ユーザーが通話中に待ち時間を感じる可能性があります。

ApidogでRealtime APIをテストする

WebSocket APIは状態を持つため、ターミナルだけでデバッグすると再現性が下がります。Apidogを使うと、Realtimeセッションを保存・再生・比較できます。

実装時の基本手順は次のとおりです。

  1. 新しいWebSocketリクエストを作成する
  2. URLに wss://api.openai.com/v1/realtime?model=gpt-realtime-2 を設定する
  3. 認証にBearerトークンを設定する
  4. OpenAI-Beta: realtime=v1 ヘッダーを追加する
  5. session.updateinput_audio_buffer.appendresponse.create のJSONメッセージを順番に登録する
  6. 単一接続に対して再生する
  7. サーバーイベントをツリーで確認する
  8. 推論エフォートや音声を変えて、実行結果を比較する

Apidogをダウンロードしたら、HTTP APIと同じように環境変数を管理できます。

例:

OPENAI_API_KEY=sk-proj-...
voice=cedar
reasoning_effort=low
Enter fullscreen mode Exit fullscreen mode

比較対象として別の高速マルチモーダルモデルも確認したい場合は、Gemini 3 Flash Preview APIの使用方法を参照してください。

FAQ

どのモデルIDを渡せばよいですか?

gpt-realtime-2 です。

ロールバックが必要な場合、以前のモデルは gpt-realtime として利用可能です。軽量版として gpt-realtime-2-mini もライブです。

出力音声が再生されている間に入力音声をストリーミングできますか?

はい。Realtime APIはデフォルトでサーバーサイドの音声活動検出(VAD)を使います。

ユーザーが話し始めると、モデルは発話を停止できます。VADを無効にして、クライアント側で会話境界を制御することもできます。

128kのコンテキストには音声トークンも含まれますか?

はい。音声もトークン化されます。

フォーマットにもよりますが、1秒の音声は約50トークンです。長いサポート通話は、長いテキストチャットよりも早くコンテキストを消費する可能性があります。

ファインチューニングはサポートされていますか?

まだです。

モデルカードによると、GPT-Realtime-2はまだファインチューニング、予測出力、チャット補完におけるテキストストリーミングをサポートしていません。Realtimeエンドポイントは本質的に音声をストリーミングします。

TTSを接続したGPT-5.5と何が違いますか?

GPT-Realtime-2は、音声を直接理解するエンドツーエンドの音声モデルです。

TTS付きのテキストモデルでは、ユーザーのトーン、ためらい、強調などを扱いにくくなります。ユーザーが「何を言ったか」だけでなく「どう話したか」に反応する必要があるなら、GPT-Realtime-2が適しています。

純粋なテキスト推論には、GPT-5.5 APIの使用方法を参照してください。

どのレート制限が適用されますか?

ティア1は毎分40,000トークンから始まり、ティア5では15M TPMまでスケールします。レート制限はモデルごとなので、既存のGPT-5クォータは引き継がれません。

まとめ

GPT-Realtime-2は、音声エージェントとテキストエージェントの差を縮めるモデルです。128kコンテキスト、GPT-5クラスの推論、画像入力、ネイティブMCP、SIPサポートにより、電話を受け、スクリーンショットを見て、リモートツールを呼び出し、会話の失敗から回復する音声エージェントをWebSocketベースで構築できます。

本番導入では、まず次の流れがおすすめです。

  1. ApidogでWebSocketセッションをスクリプト化する
  2. session.update の設定を固定する
  3. ツールリストを確定する
  4. low 推論から開始する
  5. 品質差を計測できた場合だけ推論レベルを上げる

音声トークンの料金は入力 $32/100万、出力 $64/100万です。安定したシステムプロンプトや再利用コンテキストがある場合は、キャッシュ済み入力を活用してコストを抑える設計にしておきましょう。

Top comments (0)