Realtime APIとは何か
OpenAI Realtime APIは2024年10月にリリースされた、音声でリアルタイムにGPT-4oと対話するためのAPIだ。これまでのテキストベースのAPIとは根本的に異なり、人間とAIの会話を「音声のストリーム」として処理する。
これにより実現できることは大きく変わる。従来の「テキスト入力→回答テキスト→別ツールで音声変換」という3ステップが、「音声入力→音声出力」のシームレスな1ステップになる。
ChatGPTのボイスモード(Advanced Voice Mode)に搭載されている機能と同じ基盤で、それをAPIとして開発者に提供しているイメージだ。
技術的な仕組み
WebSocketベースの接続
Realtime APIはHTTPではなくWebSocketプロトコルを使う。WebSocketは一度接続を確立すると、サーバーとクライアントが双方向にリアルタイムでデータを送り合える仕組みで、音声ストリームの処理に適している。
接続の流れ:
- APIキーを使ってWebSocket接続を確立
- セッション設定(使用するモデル、音声の設定、ターン検出の設定など)を送信
- 音声データ(PCM16形式)をチャンク単位で送信
- AIの応答音声がストリームとして返ってくる
ターン検出
Realtime APIには「いつ話し終わったかを検出する」機能(Voice Activity Detection、VAD)が組み込まれている。人間の話し声の終わりを検出してから応答を生成するため、自然な会話のターンが実現できる。
ターン検出はサーバー側で行う自動モードと、クライアント側で制御する手動モードを選べる。
テキストとツールの統合
音声入力だけでなく、テキスト入力を混在させることもできる。また関数呼び出し(Function Calling)にも対応しており、「音声でAIと話しながら、必要に応じて外部APIを呼び出す」ようなワークフローが作れる。
実装の概要(Node.js例)
基本的な接続と音声送信のコードイメージを示す:
const WebSocket = require('ws');
const ws = new WebSocket(
'wss://api.openai.com/v1/realtime?model=gpt-4o-realtime-preview',
{
headers: {
'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`,
'OpenAI-Beta': 'realtime=v1'
}
}
);
ws.on('open', () => {
// セッション設定を送信
ws.send(JSON.stringify({
type: 'session.update',
session: {
modalities: ['text', 'audio'],
voice: 'alloy',
input_audio_format: 'pcm16',
output_audio_format: 'pcm16',
turn_detection: { type: 'server_vad' }
}
}));
});
// 音声データを送信する関数
function sendAudioChunk(audioBuffer) {
ws.send(JSON.stringify({
type: 'input_audio_buffer.append',
audio: audioBuffer.toString('base64')
}));
}
実際の実装では音声の取得(マイク入力またはファイル)、PCM16への変換、エラーハンドリング、応答音声の再生処理が加わる。
価格
2025年時点の料金は:
- 音声入力: $100/時間($0.06/分)
- 音声出力: $200/時間($0.24/分)
- テキスト入力/出力: 通常のGPT-4oと同程度
これは会話が長くなると積み上がるコストで、カスタマーサポートへの大規模導入では事前にコスト試算が重要だ。
活用できるユースケース
カスタマーサポートの音声自動化
電話問い合わせの一次対応をAI音声で行うシステム。既存のIVR(音声自動応答)よりもはるかに自然な会話ができ、FAQへの回答や情報収集を自律的に行える。複雑な問い合わせは人間オペレーターに転送する設計と組み合わせる。
音声インターフェースのアプリ
画面を見ながら操作できないシーン(料理中・運転中・運動中)でのAIアシスタント。スマートスピーカーのような体験を独自アプリに組み込める。
語学学習
ネイティブスピーカーとの会話練習を模した音声対話アプリ。リアルタイムのフィードバックと自然な会話速度を実現できる。
インタラクティブなデモ・展示
展示会・ショールームで来場者が音声で商品説明を聞けるシステム。キッチン用品の展示で「このオーブンの特徴を教えて」と声で聞ける体験を作れる。
実装の注意点
ブラウザから直接Realtime APIを呼ぶとAPIキーが露出するリスクがある。本番環境ではサーバー側でWebSocket接続を確立し、クライアントはサーバー経由で通信する設計が安全だ。
レイテンシー(遅延)は接続地域とネットワーク品質に依存する。日本からのアクセスでは100〜300ms程度の遅延が出ることがあり、体験の設計時に考慮が必要だ。
まとめ
OpenAI Realtime APIは「音声AIアプリを自前で作る」ための強力な基盤だ。WebSocketとPCM16音声の扱いに慣れれば、かなり自由度の高い音声体験を実装できる。
カスタマーサポートの音声自動化やインタラクティブな音声デモへの応用は、特にBtoC事業者にとって検討価値が高い。まず公式のサンプルコードで動作を確認してから、自社ユースケースへの適用可能性を判断するのが現実的なアプローチだ。