画面条件流
说明画面里发生什么,携带本轮回复身份。
1
准备稳定上下文
会话建立时提供角色外观与场景;本轮补入台词及表演指示。
2
编译画面条件
将回复表达转换为视频服务所需的描述。
3
提交切换
发送本轮条件与切换标识,明确它属于哪一次回复。
会话编排将输入组织成回复,媒体协调把画面条件与回复音频汇合,再交给视频服务生成媒体。
通用架构示例 · 名称、消息与数据均为示意,不对应实际部署。
文字直接形成用户轮次。接入层收到 HTTP 请求,在应用进程内交给会话编排。
一个模块不一定是一个独立服务。本示例中接入层、会话编排和媒体协调位于同一进程;远端模型调用用实线表示,进程内交接用虚线表示。
沿同一轮输入追踪中间产物,区分生成内容与组织、传递内容的职责。
| 模块 | 输入 | 输出及消费者 |
|---|---|---|
| 接入层 | 用户文字或录音 | 带输入标识的事件 → 会话编排 |
| 会话编排 | 最终文字、上下文、模型返回 | 回复表达 → 媒体协调;台词片段 → 语音合成 |
| 文本生成 | 用户文字与会话上下文 | 回复文字与表达指示 → 会话编排 |
| 语音合成 | 回复台词片段 | 连续音频块 → 会话编排的音频缓冲 |
| 媒体协调 | 回复表达、音频引用、画面上下文 | 画面条件与回复音频 → 视频生成 |
| 视频生成 | 画面条件与回复音频 | 带音轨的媒体块 → 媒体协调、接入层、浏览器 |
仅用于解释信息关系,不是可直接调用的 API。
{ "input_id": "input-example", "text": "介绍一下这个收纳盒" }
{ "reply_id": "reply-example", "source_input_id": "input-example",
"text": "这个收纳盒可以整理桌面。", "audio_ref": "audio-example" }
{ "audio_ref": "audio-example", "sequence": 0,
"payload": "[回复音频字节]" }说明画面里发生什么,携带本轮回复身份。
会话建立时提供角色外观与场景;本轮补入台词及表演指示。
将回复表达转换为视频服务所需的描述。
发送本轮条件与切换标识,明确它属于哪一次回复。
提供角色说出的声音,可以与画面条件准备重叠。
通过音频引用读取已缓存片段,后续片段继续到达。
音频序号与回复标识保持关联,避免把不同回复拼在一起。
发送音频分块,视频服务消费同一轮的条件与声音。
输入录音与回复音频不是同一份数据。前者用于理解用户,后者用于合成角色的视频。
画面条件、音频引用与音频分块共同指向 reply-example。标识关联表达逻辑归属;实际音画同步还取决于采样位置、媒体时间戳和播放器行为。
首媒体就绪不等于首帧已经呈现。中间还可能包含传输、缓冲、解码与播放调度。解释具体延迟时,应提供这些事件的实际时间。
本示例不包含真实耗时。比较阶段耗时或重叠时,应另用带统一时间轴的泳道时间线,不从箭头间距计算延迟。
这是一份用于展示讲解方式的合成示例。实际项目中的模块、接口和边界,应来自对应版本的代码、配置或观测记录。
| 读者的问题 | 适合提供的依据 | 示例中的状态 |
|---|---|---|
| 谁调用谁? | 代码入口与实际装配 | 示意拓扑 |
| 哪些阶段能够重叠? | 流式接口与事件先后约束 | 展示概念,不代表性能实测 |
| 每一步花了多久? | 同一时间基准下的真实 trace | 未提供计时数据 |
替换模块名称、进程边界、消息、数据流和证据来源;按实际路径决定是否保留入口切换。实体数量、章节数量与示例协议都可调整,保持正文与图示对应。