控制台

创建实时对话

WSS/v1/realtime

通过 WebSocket 建立持续的双向实时会话,连续输入语音、摄像头或屏幕画面,并流式接收文本与语音响应。

连接与鉴权

使用 HTTP GET 升级为 WebSocket。连接地址为 wss://api.mosi.cn/v1/realtime,必须通过 model 查询参数指定模型;API Key 只能放在 Authorization 请求头中。

字段类型要求说明
model: query string是

模型 ID,固定为 moss-live-1.0,通过 WebSocket 地址的 model 查询参数传入。

user: query string否

调用方自己的稳定终端用户 ID,需 URL 编码;使用 memory_scope=user 时必填,重连时使用相同 user。示例:wss://api.mosi.cn/v1/realtime?model=moss-live-1.0&user=customer_001。

Authorization: HTTP header是

Bearer <API Key>;放在 WebSocket 握手的 Authorization 请求头中。

会话流程

阶段客户端服务端与判断
建立连接完成 WebSocket 握手连接打开后加入会话
配置发送 attach_session,再发送 session.update依次等待 session_attached、session.updated,确认 data.error 为空字符串
发送音频及视频启用麦克风;画面启用 media.mode 与 video.state同一连接接收音频和 JPEG 画面
回答展示文本、播放语音并发送播放回执接收 input.transcript.done、output.transcript.done 和 response.ended
继续或结束继续输入,或关闭 WebSocket本轮完成可继续;关闭连接结束会话

客户端事件

字段类型说明
attach_session: event

加入会话;收到 session_attached 后开始按在线时长计费。

session.update: event

设置人设与业务规则;收到 session.updated 后检查 data.error,非空时配置不生效。

mic_state: event

开启或关闭麦克风输入。

media.mode: event

视频或屏幕共享前启用 tagged-v1。

video.state: event

控制摄像头或屏幕画面;关闭画面不结束会话。

playback.chunk.completed: event

每个音频块实际播放完成后发送;字段放在消息顶层,不套 data。只确认实际播放完成的音频,不要等待回答文本结束才确认。

playback.completed: event

收到 response.audio.done 且本轮音频全部播放完成后发送。

video.stream_focus: event

设置主要关注的画面来源。

playback.stopped: event

收到 response.audio.stop 后停止对应播放并回传。

服务端事件

字段类型说明
session_attached: event

会话已加入;收到后再配置人设与业务规则。

session.updated: event

配置结果;data.error 为空字符串时启用媒体和麦克风。

input.transcript.updated: event

用户识别文本更新;data.text 为当前完整文本,替换显示,不要逐条追加。

input.transcript.done: event

用户识别文本完成。

output.transcript.updated: event

模型回答文本更新;data.text 为当前完整文本,替换显示,不要逐条追加。

output.transcript.done: event

模型回答文本完成。

response.interrupted: event

回答被打断;按 run_id、turn_id 将对应回答标记为已打断。

response.audio.context: event

保存音频上下文,与后续二进制音频按顺序配对。

response.audio.done: event

本轮音频发送完毕;实际播放全部完成后发送 playback.completed。

response.ended: event

本轮状态通知;不等同于会话结束。

error: event

错误事件;记录原因并释放连接及媒体资源。

response.audio.stop: event

停止对应语音播放,并发送 playback.stopped。

协议限制

项目当前协议值与说明
音频上行 16 kHz、下行 48 kHz,单声道 PCM S16LE;不带 WAV 头。说话结束后继续传静音。
媒体封装tagged-v1:音频 0x00,摄像头 JPEG 0x01,屏幕 JPEG 0x02;关闭画面后音频仍保留前缀。
画面每张 JPEG 一条二进制消息,不使用 Base64,不接受整段 MP4 或 H.264 码流。
传输音频与画面复用同一 WebSocket。
画面处理过载时可能保留最新画面并丢弃待处理旧帧,不保证逐帧分析。1 FPS、JPEG quality 0.8、摄像头长边 640 px、屏幕 1024 px 是客户端默认值,不是硬上限。

错误码

建连阶段的认证、权限、限流和通用 HTTP 错误,请参见 错误码。以下仅列出 MOSS-LIVE 接口专属的协议错误。

错误码触发条件处理建议
memory_scope_requires_useruser 记忆范围缺少终端用户身份传入稳定 user,或使用 session 范围。
memory_scope_immutable重连时修改创建选项按创建时选项重连;改变选项需新建会话。
invalid_memory_scope参数值不合法检查枚举值。