Repository navigation
Releases: klfzqxs/ref2va-h3-video-optimizer
Releases · klfzqxs/ref2va-h3-video-optimizer
Release list
v2.0 正式版
v2.0 更新
1. 单次生成长度上限 15 秒 → 60 秒
- MiniMAX H3的训练集只有15秒,时间长了会发生内容和画质漂移导致可用性大幅降低所以官方限制15秒输出,本次更新通过让更强的LLM模型来参与反馈校准的方式实测可以在60秒内保持相对较好的一致性(但不保证与15秒拥有完全相同的输出质量)。
2. 长视频提示词设计(>15 秒自动生效)
- 运动铺满全片:强制校准长视频中的动态一致性
- 新内容均摊到每一拍,避免模型在后段"绕回开头"。
- 光照与色彩的连续演变,避免模型在未训练的超长视频生成调节下发生光照与色彩漂移
- 单镜连续;若确需切换,切点所在拍同样要有运动。
- 声音连续性(长片常见退化是后半段音频变弱)。
- ≤15 秒的提示词字节不变(仅在 >15 秒时注入)。
3. 长视频检测方法
- 抽帧修复:旧实现
t = dur/n*i使最后一帧落在(n-1)/n处,永远采不到最后 1/n 段——而尾部正是退化最集中的区域。故采用均匀覆盖全片并强制包含末帧的方法。 - 抽帧数随时长自适应:60 秒 → 40 帧(短片仍为 32 帧)。
- 新增
core/video_metrics.py(纯标准库 + ffmpeg,无需 numpy/PIL):逐秒采 32×32 灰度序列 + 首末彩色帧 + 首尾音频电平,按阈值判定并输出:尾部运动比、尾部冻结、近静止占比、对比度下滑、色调恒定、尾部音频变弱。 - 指标作为"地面真相"注入评审:同时打印到日志,并附长视频评审规则,视觉 LLM 的判断不得与之矛盾。
- 复读相关降级为辅助证据:该指标基线很高(静态机位/慢速演进的正常长镜头也会很高),而实测真实的"绕回开头"案例只有 0.588——阈值定高会同时误报与漏报,故必须与尾部运动衰减/对比度下滑同时出现才判定。
4. 前端与自检
- 环境自检(页面「环境自检」按钮):可以一键检测ComfyUI 状态、模板所需节点、所选模型/CLIP/LoRA 是否真实存在、所选模型的权重格式、ffmpeg、LLM 端点。
- ComfyUI 状态灯:页面常驻显示在线/离线与显存余量,30 秒自动刷新。
- 参考图持久化:参考图/音频刷新页面自动恢复并显示缩略图。
性能优化
weight_dtype可选:default / fp8_e4m3fn / fp8_e4m3fn_fast / fp8_e5m2;选 GGUF 时自动忽略并提示。- 新增
tests/(离线验证脚本,不需要 GPU)与VERIFICATION.md(机制 → 验证方法 → 实测结果)。 ref_image_size可选:match(默认,按画幅缩放省 token)/max(参考管线 2048 短边,身份最准,但参考 token 全程参与采样,显存与耗时可能翻几倍);review_frames也可调(长视频会自动抬到 40)。
5. 前端体验(借鉴参考项目 P1)
- 逐轮结果卡片:按轮次列出每轮的分数、verdict、视频,可逐轮复制提示词/剧本或直接打开视频。
- 一键复制:最优提示词 / 剧本 / 任一单轮
- 折叠卡片:7 个可折叠区块(高级·性能、音频评审、配置、历史等默认收起)
- 配置导出 / 用示例回填 / 清空表单:导出与页面表单一致的
config.json(可直接给命令行用)
6. 显存预算估计(测试功能)
⚠️ 该功能为测试功能:默认包线系数来自开发者的的实测表,与你的检查点/流式策略未必吻合,估算不准是可能的。页面提供「复制偏差记录」(含环境、模型档案、预测区间、实测峰值、token 数),开 issue 时附上即可定位。
Bug修复
| # | 修复内容 |
|---|---|
| 1 | 修复了 日志中的emoji表情不能正确显示的问题 |
| 2 | 修复了评审抽帧永远采不到视频最后 1/n 段的问题 |
| 3 | 修复了 I2VA 流程不识别 GGUF 模型的问题 |
| 4 | 修复了 /api/jobs 连续两次 _send 导致重复输出响应体的问题 |
v1.1 正式版
v1.1 正式版
相对 v1.0,本版新增了 I2VA 流程、重做了快速渲染机制,并做了若干性能与正确性修复。
新增 I2VA 流程(首帧图生视频)
- 参考图区上方可选 Ref2VA / I2VA 两条流程
- I2VA:只能选 1 张参考图、强制作为视频第一帧;不吃参考音频;模式 A/B 自动隐藏
- 按官方 I2VA 规范写英文提示词(首帧声明 +
integrated_multimodal_description/overall_soundscape/non_diegetic_music);剧本仍为中文,台词/画面内文字逐字保留原文 - 接入 SageAttention3(
PathchSageAttentionKJ+MiniMaxH3MemoryEfficientSageAttentionPatch):实测采样 ~30.2 → ~22.6 s/it(约 1.26×),采样峰值显存 12.3 → 10.4 GB - I2VA 的 sampler / scheduler / steps 也可从页面设置(不再锁定在模板值)
快速渲染机制重做
- 不再切换工作流、不再依赖任何 turbo LoRA
- 与精渲使用同一个工作流:模型、采样器、时长、画幅、LoRA 全部相同,只把分辨率(megapixels)与采样步数各乘 0.707 并向下取整 → 耗时约为精渲的一半(实测 2.04×–2.55×;向下取整只会更快,不会更慢)
- 配置字段
quick_workflow更名为quick_render;两条流程都支持 - 加速 LoRA 完全由你在页面「LoRA」区自行加载
Ref2VA 提示词生成加速(KV 前缀缓存)
- 官方写作指南(约 6k token)从 user 消息中段移入 system prompt,变化的剧本 JSON 移到 user 末尾
- 同一轮优化里的多次调用因此共享稳定前缀,服务端前缀复用可整段跳过指南的 prefill:实测单次转译 14.6 s → 2.0 s(省约 12.6 s/次,候选越多越省)
参考编号统一为从 1 开始
- 给 LLM 的参考清单此前是 0 起编号,而 H3 的引用标签
<Picture N>/<Audio N>从 1 起,两者语义冲突 - 现在清单直接标出标签(
<Picture 1> = xxx.png · 参考:山峰),并在导演/格式师 system prompt 中明确禁止 0 号、禁止重新编号 - 同时统一了 CLI 路径的同类写法,避免"最终提示词被规范纠正、但中间产物 0/1 混用"继续向下游与爬山回炉传播
修复的问题
| # | 修复内容 |
|---|---|
| 1 | 修复了 I2VA 下 sampler / scheduler / steps 无法生效(被锁在模板值)的问题 |
| 2 | 修复了 I2VA 工作流未启用 SageAttention3、渲染显著偏慢的问题 |
| 3 | 修复了参考图像编号从 0 起、与 H3 的 <Picture 1> 不一致的问题 |
| 4 | 修复了快速渲染依赖特定 turbo LoRA、缺失时会静默回退的问题 |
| 5 | 修复了 I2VA 下「快速渲染」选项不可用的问题 |
完整说明见仓库内 RELEASE_NOTES.md;技术细节见 README.md,面向使用者的简短说明见 使用说明.md。