ai-chatbot/docs/video-canvas-followup-2026-09-16.md

4.4 KiB
Raw Permalink Blame History

视频画布第三轮完善与回归(2026-09-16)

接续 上一轮记录。继续在独立本地工作树测试,未部署生产,未更改官方千问 3.8 默认模型。

后续按用户要求测试阿里云,见 万相真实测试记录。

逐项完成

功能 查明的问题 本轮修复与验证
故事脚本 系统强制 18 镜头,不足时再复制内容扩充;用户要求 3 镜头也被扩大 删除自动补镜头;优先遵守用户镜头数、总时长;未指定时默认 6 镜头、最多 18。空行不再变成虚构镜头
参考图检查 同一张图作为首尾帧被去重;网络波动和链接失效都报 400 探测去重但保持输入位置;无效输入明确拒绝;临时连接故障报 503、失效或无权限报 400;HEAD 不成功时继续 GET 检查并释放响应体
视频长期保存 画布直接保留服务商临时链接,没有进入聊天消息的归档任务 视频先显示,然后后台转存至现有存储,成功后自动更新画布 URL;读取视频文件并确认视频流后才上传
转存失败恢复 缺少单独重试,只能重新生成 保留原视频及临时状态,提供“转存视频”;保存操作不调用生成模型。请求去重、并发限制、公共 IP 校验、125 MiB 下载限制沿用或补齐
视频时长显示 上传与剪辑保存 durationSeconds,但播放器和剪辑栏未读取,常回退 5 秒 优先使用实际文件时长,短片允许不足 1 秒的真实时长

自动转存由打开的画布触发。关闭页面前尚未完成的转存,会在重新打开、恢复临时状态后再尝试;这不是新增服务器持久化生成队列,不能保证用户离开后所有生成任务继续交付。已归档的节点使用存储地址,不依赖原服务商链接。

真实测试

测试 结果 证据
官方千问 3.8 三镜头脚本 通过,71.853 秒 返回且只返回 3 行,时长 3s / 2s / 3s,总计 8 秒,分别为外观、杯柄、咖啡液面;未虚构人物
已生成 Veo 视频转存 通过,20.233 秒 七牛存储新地址可下载;ffprobe 为 H264 + AAC、1280×720、8 秒、1,005,090 字节,与转存前一致
首帧图生视频复测 未通过,193.066 秒 参考图通过检查并提交生成;查询结果时上游返回 502。任务 8aa87fb0-ef63-4f38-8930-0b1796331be4
页面自动转存、播放与刷新恢复 通过 使用上一轮真实成片作为测试节点,页面出现正在转存状态,完成后 video.currentSrc 从 api.vip98k.com 切至 scqny.jiansun.vip;8 秒时长、播放器完整播放至 8 秒;画布保存后刷新仍使用七牛地址,readyState 为 4;本地冷编译和数据库隧道使该次转存约 2.2 分钟,不当作生产耗时
同一任务从服务器只读复查 上游确认失败 HTTP 409,task_failed / Video generation failed,请求 ID 852b2e2e-d288-47ec-8a94-9ed272f4070e;未重复提交生成
定向回归 65 项通过 7 项新契约 + 58 项已有回归;覆盖镜头不扩充、空行、首尾帧重复 URL、无效输入、暂时网络失败、归档成功与保留失败产物

浏览器回归使用专用账号和写入正确画布节点格式的测试素材,素材来自上一轮真实 Veo 成片。该测试用于验证自动转存、状态持久化和刷新后媒体读取,不冒充本轮新生成。原始证据保存在 .qa/video-followup/,带临时签名的地址不提交 Git。

尚未完成

首帧/首尾帧/多参考视频不能因文生视频成功而全部验收;本轮首帧已拿到明确上游失败状态。音频驱动视频、视频超清、去字幕、专业人声分离、完整 AutoLink 和智能剪辑等继续保持待完成状态。没有宣称整体像素级复刻完成。

另发现独立问题:对尚不存在的画布 ID 首次 PUT 且携带节点时,接口先写 CanvasNode、后创建 CanvasProject,触发外键约束失败;标准 POST 新建流程不受此特定顺序问题影响。该问题尚未在本轮修改,需另行修复并验证并发创建行为。

源码 TypeScript 检查通过;专用测试账号已禁用并撤销会话,临时凭据已删除,本轮开发服务和数据库隧道已停止;开发工具生成的配置改动不提交。