介绍通过 WebRTC 接入 Realtime API 的连接流程和示例。
开始前,请先查看接入概览中的前提条件。
整体流程图

建立连接
配置目标模型参数
监听模型通过 DataChannel 返回的消息,确保交互时序正确:
收发媒体数据
建连时添加的音频轨道和视频轨道(即 RTP 媒体通道)会自动将数据传输到服务端。
- 音频:通过音频轨道(RTP)直接传输,无需发送
input_audio_buffer.append事件。 - 图片:通过视频轨道(RTP)发送画面帧,不支持
input_image_buffer.append事件。
WebRTC 仅支持服务端 VAD 模式(
server_vad 或 semantic_vad),不支持手动模式。Demo 源码
前提条件
- 使用支持 WebRTC 的现代浏览器(Chrome、Edge、Firefox、Safari 等)。
- 浏览器需要麦克风权限。
- 浏览器受跨域安全策略限制,无法直接向服务端发起建连请求,因此需要通过终端执行 curl 命令完成连接建立。
运行示例
新建一个 HTML 文件,命名为 webrtc_demo.html,并将以下代码复制到文件中:
webrtc_demo.html。
在浏览器中打开此文件,按以下步骤操作:
- 点击开始会话,页面会自动生成 Offer SDP 和对应的 curl 命令。
- 点击复制 curl 命令,在终端中执行。命令返回的内容即为 Answer SDP。
- 将 Answer SDP 粘贴到页面的 Answer SDP 文本框中,点击设置 Answer 即可建立连接并开始语音对话。