实时视频理解
WSS
/v1/realtime通过 WebSocket 持续发送图像帧并提问,服务端返回增量文本事件。该接口是视觉理解协议,不兼容语音 Realtime,也不是 SSE。
连接与鉴权
使用 HTTP GET 升级为 WebSocket。连接地址为 wss://api.mosi.cn/v1/realtime,必须通过 model 查询参数指定模型;API Key 只能放在 Authorization 请求头中。
字段类型要求说明
模型 ID。将稳定 ID 或快照 ID 放在 WebSocket 连接地址的 model 查询参数中
Bearer <API Key>;不支持通过查询参数或 WebSocket 子协议传入
会话流程
| 阶段 | 客户端 | 服务端与判断 |
|---|---|---|
| 建立连接 | 完成 WebSocket 握手 | 接收 session.created;连接自动创建会话 |
| 配置 | 只发送一次 session.configure | 接收 session.configured,并等待 session.ready |
| 发送图像 | 先发 input.frame JSON,再发图片二进制 | 等待 input.frame.ready 后交付二进制,收到 input.frame.accepted 后再发送下一条输入;画面本身不会自动生成回答 |
| 提问 | 单独发送 input.prompt | 问题不需要重复附带图片;接收 accepted / processed,并可能收到文本、静默或打断事件 |
| 继续或结束 | 继续推帧,或设置 final=true / 发送 session.abort | response.done 只结束一段回答;session.done 才结束会话 |
客户端事件
字段类型说明
连接建立后必须发送一次,且须在 session.created.configure_timeout_s 期限内完成。
发送图像帧元数据;收到 input.frame.ready 后,紧接着发送完整图片二进制。
单独发送提问文本。字段名是 prompt,不是 text;问题沿用最近已接收的画面。
主动结束整场会话,不占用 seq_no,也不接受其他字段。
服务端事件
字段类型说明
用于判断连接、配置、就绪与会话终态。
用于确认图像帧或提问是否已准备接收、提交和完成处理。
用于读取增量文本,并判断单段回答是否静默、被打断或正常结束。
用于读取过程用量和回答或会话的累计用量。
用于处理协议或服务异常。
协议限制
| 项目 | 当前协议值与说明 |
|---|---|
| 控制事件 | 单条默认不超过 256 KiB,与图片二进制大小分开计算 |
| 配置与交付 | 在服务端规定的配置期限内完成配置;收到 input.frame.ready 后 10 秒内交付二进制,超时返回 code=session_timeout 的 error 事件并结束会话 |
| 输入队列 | 默认 4,可配置范围 [1, 256];是未处理输入额度,不是会话并发 |
| 上下文与时长 | 以服务端返回的 context_limit 和会话时长限制中先触发者为准 |
错误码
建连阶段的认证、权限、限流和通用 HTTP 错误,请参见 错误码。以下仅列出实时视频理解接口专属的协议错误。
| 错误码 | 触发条件 | 处理建议 |
|---|---|---|
| invalid_request | 客户端事件/字段/顺序不合法或消息过大 | 修正请求后重发;若连接断开,重新建连 |
| context_exhausted | 会话达到上下文上限 | 结束当前会话并重新建立新会话 |
| session_timeout | 会话达到时长或空闲限制,或收到 input.frame.ready 后 10 秒内未交付二进制 | 检查会话活动和服务端限制,必要时重新连接 |
| response_failed | 模型生成或处理失败 | 记录错误信息并根据业务决定是否重试 |
| session_capacity_exceeded | 实时会话容量已满 | 降低并发或稍后重试 |
连接关闭
| 关闭码 | 含义 | 客户端处理 |
|---|---|---|
| 1000 | 服务端已发送 session.done 后关闭,以 error 事件收场的会话也用此关闭码 | 结束当前会话,不重试;成败以 session.done.reason(如 completed、aborted、error)和此前的 error 事件为准 |
| 1001 | 服务下线或连接离开 | 根据业务需要重新连接 |
| 1002 | 协议错误 | 检查事件格式和发送顺序后再重试 |
| 1009 | 二进制超限或控制事件过大;关闭前可能先返回 invalid_request 错误事件。 | 减小消息后重新建连 |
| 1011 | 服务端故障 | 稍后重试并记录错误 |
| 1013 | 服务暂时无法处理 | 降低并发,稍后重试 |