diff --git a/docs/video-canvas-production-audit-2026-10-03.md b/docs/video-canvas-production-audit-2026-10-03.md index f79a490ac..914fa5720 100644 --- a/docs/video-canvas-production-audit-2026-10-03.md +++ b/docs/video-canvas-production-audit-2026-10-03.md @@ -6,14 +6,25 @@ | 发现的问题 | 实际修复 | 验收方式 | | --- | --- | --- | -| TVstar 关键帧与成片固定横屏 720P | 从需求传递画幅、清晰度与声音;不支持的 2K/4K 自动成片直接说明限制 | 参数与模型兼容性回归;待真实生成检查成片 | +| TVstar 关键帧与成片固定横屏 720P | 从需求传递画幅、清晰度与声音;不支持的 2K/4K 自动成片直接说明限制 | 参数与模型兼容性回归;真实竖屏成片规格已通过;视觉审查发现首镜头分屏,继续定向修复 | | 离散生成时长可能短于剪辑所需时长 | 按最终分镜分配时长,选择不短于需求的生成规格;指定模型不满足要求时拒绝,不能静默换模型 | 18 秒/双镜头生成规格测试;保留小数总时长;超过 300 秒拒绝 | -| 高光匹配低分也会继续交付 | 分数低于 60、错序、遗漏、重复或越界区间直接停止;错误指明镜头;分数是模型判断,不能当作客观质量保证 | 独立选片合同验证;待真实模型和素材验收 | -| 六帧预览不能充分描述运动 | 已支持的官方千问视频模型读取真实视频(2帧/秒),结合相邻镜头预览选取连续区间;最多同时分析3段;供应商失败不自动换模型或重发 | 请求格式回归;待真实官方 API 验收 | +| 高光匹配低分也会继续交付 | 分数低于 60、错序、遗漏、重复或越界区间直接停止;错误指明镜头;分数是模型判断,不能当作客观质量保证 | 独立选片合同验证;真实官方模型拦截已知分屏以及不足3秒的无缺陷区间 | +| 六帧预览不能充分描述运动 | 已支持的官方千问视频模型读取真实视频(2帧/秒),结合相邻镜头预览选取连续区间;最多同时分析3段;供应商失败不自动换模型或重发 | 请求格式回归;真实官方视频选片已执行,保存了起止时间与画面依据;模型曾漏报分屏,不能把分数当作作品验收 | | 最终合成服务不可用时仍先启动上游付费生成 | 创建任务前检查成片/高清/转写/分离所需服务;错误明确为未启动;前端清除提交重试记录 | 临时故障进程的真实 HTTP、鉴权、数据库零任务验收 | | 新检查可能破坏任务幂等重查 | 检查在数据库排重后、新任务插入前执行,已有请求不受当前服务故障影响 | 保留原排重和原请求冲突检查 | -| 多个角色视图各自凭文本生成 | 第一张实际生成图作为身份基准;其他视图等待并引用它;多视图必须选择支持参考图的模型 | 真实画布依赖检查;人物一致性仍需视觉审查 | -| 无声剪辑仍可能保留素材音轨 | 无声约束写入实际剪辑方案,静音所有视频片段并移除背景音乐 | 剪辑方案回归;待成片声音检查 | +| 多个角色视图各自凭文本生成 | 第一张实际生成图作为身份基准;其他视图等待并引用它;多视图必须选择支持参考图的模型 | 真实画布依赖检查;真实立绘与近景均已生成,近景引用立绘;本轮人工检查人物、发型与服装一致,不等于身份自动验收 | +| 无声剪辑仍可能保留素材音轨 | 无声约束写入实际剪辑方案,静音所有视频片段并移除背景音乐 | 剪辑方案回归;真实成片音轨检测峰值与均值 -91 dB,静音通过 | + +## 真实测试额外发现 + +1. **供应商视频规格漂移导致生产 HTTP 400。** 默认 MiniMax H3 的公开线路使用 `landscape/portrait`、`480p/768p/1080p`,存储配置却仍是 `9:16` 和 `720p`。已按公开合同校正指定模型、转换原生画幅、选择不低于最终输出的原生规格,并在任何上游付费任务插入前核验公开线路。旧规格请求的真实 HTTP 验收返回 503,数据库零任务。 +2. **整片时长被“每个镜头3秒”覆盖。** 6秒双镜头需求曾被错误理解为3秒整片,已经修复自然语言时长解析。 +3. **全能创作重复请求规划。** 初版实际等待116秒后才提交制作。当前全能创作一次生成结构化分镜和规划,真实浏览器验收观察到一次 `story-script` 请求,并即时显示用户消息;先确认模式保存工作流且没有生成任务。 +4. **画布连线把整个脚本注入每张关键帧。** 首次真实成片虽可播放且规格正确,逐秒抽帧发现前三秒上下分屏;AI却给出92分。根因是脚本连接携带整片两个镜头,单帧生成消费了全部内容。已按镜头ID投影上游脚本、约束单镜头构图,并要求分析返回具体画面缺陷;报告缺陷时即使高分也拒绝合成。模型未报告的错误仍需独立审片,不能宣称自动视觉验收已经完善。 +5. **角色分析自动模型遗漏。** 初次目录未加载时,角色分析走另一条鉴权失效的默认线路,而脚本分析会选已配置的官方千问。已统一角色分析默认选择,并在角色出图前恢复读取模型目录。 + +6. **供应商图片 HTTP 409 被错误标为失败。** 同一幂等键仍在处理的409,现在仅用原键进行有限重查;超出重查或传输不确定时保留中断/待核对状态,禁止切换线路或模型再次付费。真实旧请求无法取得可核对的供应商任务ID,未盲目重发;模拟接口集成测试验证同一键、无模型切换、503不确定状态保留。不能因此宣称该旧任务已找回。 +7. **视频分析返回格式不稳定。** 真实素材审查曾返回不能解析的JSON并阻止合成。按官方合同启用标准JSON输出,并检查普通与流式返回的截断标记;截断即停止且不自动重发。 ## 服务现状 @@ -29,10 +40,35 @@ 6. **交付规格与视觉验收。** 分辨率、时长、文件可读性可检查;真实品牌字样、商品细节、运动合理性与跨镜头主体一致性仍要通过真实输出审查。模型自评不是独立审片。 7. **账户及发布入口。** 部分支持、发布或账户入口仍未接入真实服务;不可将这些禁用入口列为生产功能。 +本轮具体依据更新了此前的[功能对照记录](video-canvas-liblib-parity-audit-2026-09-24.md)中的待验证项;较早日期的状态不能直接作为当前生产验收结论。 + ## 本轮验收结果 -- 视频画布与 TVstar 定向回归:179 项通过。 +- 本轮完整 helper 回归:574 项通过;新增覆盖指定镜头消费、分屏缺陷与高分冲突、公开视频规格、自然语言时长等风险。 - TypeScript 检查通过。 -- 故障注入、生产构建、上线、真实生成结果:在本轮后续执行,结果追加于此;未完成前不写“全部通过”。 +- 真实服务故障注入、鉴权、数据库验收:单任务与整组 503,零任务;公开供应商拒绝旧视频规格前,图片任务也未启动。 +- 生产构建通过;最终代码提交 `c4a2753a` 已在服务器快进更新并上线,构建号 `6MscLfc7pGW5cYMZZmyY-`。旧构建保留用于回滚,公网 `/ping` 为200。 +- 两段实际视频生成、官方原生视频高光分析、FFmpeg合成、浏览器播放、刷新后云端对话与成片恢复通过。首轮成片 6.000 秒、720×1280、30 FPS、音轨峰值 -91 dB。生成与合成耗时约679秒。这只证明链路及文件规格,**首轮作品存在分屏,不算视觉合格**。 +- 角色两张真实生成任务均成功,第二张依赖第一张实际图像;初版近景含全身和脸部插图,人工审查未通过。拆开人物身份与视图构图后,仅重做近景并复用立绘,已得到单一脸部近景,人物、发型、服装经人工检查一致。立绘脚部入画完整性仍需另行验收。 官方视频输入与采样依据:[阿里云 OpenAI 兼容 Chat 文档](https://help.aliyun.com/zh/model-studio/qwen-api-via-openai-chat-completions)。原生视频模式仍按指定 FPS 采样,不意味着模型逐帧检查全部内容。 + +## 交付证据与限制 + +- 默认图片与视频模型已真实调用,费用不以本地测试推算;本轮没有核算项目完整费用账本。 +- 分屏反向测试使用真正生成的视频,并由官方视频模型分析后阻止合成。另一次发现镜头2仅约2.46秒干净画面,不能满足连续3秒,也正确阻止了合成。 +- 修复样片通过本站真实视频处理接口裁切首段、截取镜头2干净区间并减速两倍,随后重新选片合成。处理复用了两段已生成素材,没有再次生成视频。裁切首段只有378×672,再放大输出720×1280,不能称为原生720P细节质量。这个定向处理由本轮开发验收安排,尚不是TVstar完整自动返修能力。 +- 角色新版近景视觉截图保存在本轮忽略的QA目录,旧拼贴近景不作合格样例。 +- 生产首次真实生成到成片约679秒,规划去除一次重复调用改善了提交阶段;模型生成时间仍取决于供应商,不能保证所有请求秒出。 + +## Git 与发布方式 + +本轮所有代码修复都有Git提交,服务器通过Git bundle快进拉取相同提交。原origin仓库返回404,未更改或绕过远端鉴权;Git远端推送仍未成功。服务器预存的`next-env.d.ts`修改保留,构建自动更改的`tsconfig.json`已恢复,没有覆盖用户数据。 + +## 最终已上线复验 + +标准JSON输出版真实官方视频分析已成功,后续实际合成任务成功,未重新生成图片或视频。最终文件为[修复验收样片](https://scqny.jiansun.vip/uploads/1791021293810-hu1l9w.mp4):720×1280、30 FPS、6.022秒,与6秒目标的误差低于一帧。浏览器实际播放时间前进,媒体无错误;刷新后云端对话中的成片恢复并可播放。模型输出评分只作为选片依据,另做人工抽帧视觉检查。 + +验收脚本曾误将媒体时长要求写成浮点数严格等于6;这是测试断言问题,改为一帧容差后只读取原成功任务和作品,没有再次提交生成或分析。其他已发现的测试定位问题也未据此重复下单。 + +最终作品逐秒抽帧人工检查:首段笔尖墨水近景、后段桌面全景均为单一画幅,抽帧未见分屏/拼贴,暖色色调一致;音轨峰值和均值均为-91dB,无声验收通过。这个样片的两段视频由真实模型生成,定向裁切和截取减速由验收人员通过本站处理接口发起,随后AI实际选片和系统合成;不能将其写成“自然语言发起后全程自动返修成功”。首轮原始生成的分屏输出和中间分析失败如实保留。