这轮反馈已经按真实测试收口。
5 条反馈里,有 2 条是 Mai 这边能直接改的:缺音色时怎么提醒、默认画中画大小。 另外 2 条需要 Tobatsu runner 支持:只重试最后阶段、稀疏字幕降级。现在这两条也已经在 test 环境跑通。 音频问题已经用 v29/v13 证明关闭,不再改。
判断方法很简单
先问这条反馈归谁管。能由 Mai 控制的,就改 skill 或 builder。要下游 runner 才能做到的,等下游发布后再用 test 真跑。
收到反馈
先看用户真实问题,不按旧报告硬套。
Mai 能直接控制?
能:改引导、默认值、提交参数。
下游才能做到?
列为 Tobatsu 新能力,不说已经修好。
逐条结论
| 反馈 | 判断 | 这轮动作 | 状态 |
|---|---|---|---|
| 缺音色时口径不清 | Mai skill 该说清楚。 | 提醒用户在输入框左下角选音色;需要时给推荐。不转试听流程。 | 已改 |
| 数字人原片成功,最终成片失败 | 最后阶段重试需要 runner 支持。 | Mai 只负责安全传 `resume_from=final` 和 4 个复用 file_id;Tobatsu rev30 已跑通。 | 已实测 |
| 音频校验导致成片失败 | 旧版本 guard 误判。v29/v13 已验证。 | 不再动 `audio_mix`。保留口播 + 原声的证据已经成立。 | 已关闭 |
| SRT 太稀,做不了词级特效字幕 | 字幕 burn 在 Tobatsu 下游。 | 句级 SRT 不再硬失败;rev18 降级成普通句级字幕。 | 已实测 |
| 默认 PIP 偏小 | 默认值可微调,不改默认布局。 | 右上圆形保留,默认大小从 `0.24` 调到 `0.26`。 | 已改 |
代码里实际改了什么
缺音色时不乱带路
没给 `voice_id` 时,提醒用户在左下角选音色,或让我们给推荐。不会自动跑试听。
画中画稍微放大
默认 `overlay_size` 从 `0.24` 到 `0.26`。如果用户自己传尺寸,仍按用户的来。
失败时不从头吓人
如果主播图、口播、数字人已经好了,只告诉用户重试最后合成。能力本身等 Tobatsu 补。
skills-bundles/global/voiceover-digital-human-combo/SKILL.md
tools-backend/tools/tobatsu-gateway/request-builders.ts
tools-backend/tests/tobatsu-gateway-request-builders.test.ts
docs/mai-combo-skill-goal.md
两条下游能力已经跑过 test
这里不靠口径。
Mai 先把提交参数放好,Tobatsu 再发布 runner/workflow。最后用 tool-test 真提交任务。 两条都成功,并且都有 workspace 证据。
只重试最终阶段
复用主播图、数字人、口播音频和 SRT;只重跑 PIP、字幕、音频校验、Scribe 和回调。
字幕降级
2 条 cue 的稀疏 SRT 没再失败;最终视频 metadata 里是 `plain_sentence`。
音频混合
v29/v13 已证明最终成片里同时有口播和源视频声音。本轮不再碰。
验证和依据
Mai 这边只动小范围。没有改 `generate_image` 入参,也没有再改音频混合规则。
下游两条用真实 test 任务验过。不是只看字段。
一个容易误判的点
最终阶段重试里,Mai 会把复用 URL 再导入一次,所以 artifact 表里会出现新的 file_id。 这不是重新生成。判断复用要看 callback 的原始 URL、`reused=true`,以及 Tobatsu 的 `skipped_provider_stages`。
还有一个后续小优化
同一个 canvas 里连续重试时,复用产物会再次入画布,所以会看到重复的主播图、数字人原片、 口播音频和字幕。它不影响本轮正确性,也不会重复花 TTS/OmniHuman 的钱;后面可以做去重或来源标记。