MiniMax H3 Audio T8
面向当前 ComfyUI 原生 MiniMax H3 的独立 T8 节点扩展。当前版本为 1.22.0,共注册
95 个节点,覆盖32像素整除且比例误差可审计的latent放大、分镜感知的远景脸二次生成规划、严格视频 latent 注入、低去噪双时钟采样与非破坏回贴审计,只读环境审计、克隆局部 MLP 激活分块、有界 Qwen 视觉参考前缀缓存、参考语义 IR、统一角色表、声音画布、多后端提示词编译、可视时间轴、非破坏性局部重做、文件级成片交付、同进程采样轨迹探针、计划式驱动音频实验与安全 AV 解码,以及原生音画条件、Hybrid组合兼容审计、可恢复的Hybrid artifact维护、前置显存/VBAR策略、隔离的 FL2VA×Ref2VA 小型混合补丁、多关键帧时间线、对白边界分析、对白安全分轨混音、分时背景底轨锁定、来源视频音画重绘准备、音频控制与后处理、稳定双时钟采样、实验性多速率采样、
隔离的分段长视频续写、总时长编排、候选/接受状态与文件级合成、Ref2VA 单图/多图
参考的静态语义编辑,以及带异常释放保护、持久分段、精确时长后期和显式音色库的实验性语音链。
节点按稳定性与用途分为十个菜单:
| 菜单 | 状态 | 内容 |
|---|---|---|
T8/MiniMax H3/Audio |
稳定 | 音画条件、音频处理、预检、双时钟采样与 AV 解码 |
T8/MiniMax H3/Audio/Experimental |
实验 | 多速率联合采样、计划式驱动音频注入与显式安全 AV 解码 |
T8/MiniMax H3/Still/Experimental |
实验 | Ref2VA 静态图像条件、预检与候选帧解码 |
T8/MiniMax H3/Conditioning/Experimental |
实验 | 全局视觉参考强度、多关键帧,以及有界 Qwen 视觉参考前缀缓存 |
T8/MiniMax H3/Models/Experimental |
实验 | 只读环境审计、MLP激活分块、显存/VBAR策略、Hybrid工具与严格的同进程采样轨迹探针 |
T8/MiniMax H3/Studio/Experimental |
实验 | 参考语义IR、统一角色、声音画布、多后端提示词、可视时间轴、非破坏性局部重做执行和成片交付 |
T8/MiniMax H3/Long Video/Experimental |
实验 | 总时长分段、断点续作、候选预览/接受、后台逐段执行、原子 manifest、已接受上下文与文件级合成 |
T8/MiniMax H3/Speech/Experimental |
实验 | 描述/参考音色、ASR与身份评估、异常释放保护、逐句对白、长文本断点、ADR和显式音色库 |
T8/MiniMax H3/Source AV/Experimental |
实验 | 来源视频24fps窗口、H3双流latent严格组装、画面/音频独立mask与无VAE拆分 |
T8/MiniMax H3/Quality/Experimental |
实验 | 高速动态审计、sigma因果实验、repair规划,以及远景脸局部二次生成与回贴审计 |
T8/MiniMax H3/Latent |
稳定 | 32像素整除、比例误差最小化的普通/H3联合latent空间放大 |
本包不是把源音频简单塞进 latent:它按 ComfyUI 当前 H3 实现维护媒体展示顺序、
<Picture N> / <Video N> / <Audio N> 标签、联合 AV latent、首尾关键帧、参考媒体和
噪声掩码之间的契约。
安装与兼容性
将项目目录放入 ComfyUI 的 custom_nodes/minimax-h3-audio-T8,重启 ComfyUI 后即可在上述
菜单中找到节点。基础节点没有额外 pip 依赖,复用 ComfyUI 自带的 PyTorch、torchaudio 和
MiniMax H3 实现;可选语音校验才延迟导入 faster-whisper 或 transformers,缺少它们不会
阻止整个插件加载,也不会暗中下载模型。Face Refine手工ROI没有额外依赖;默认真人自动检测
延迟使用ComfyUI环境中的OpenCV FaceDetectorYN,动漫EXP检测延迟导入onnxruntime,旧的
本地Ultralytics路线仍为显式可选项。任何检测路线都不会在执行时联网下载模型。
本机已把两份固定模型放入ComfyUI/models/face_detection,GitHub插件仓库不分发权重:
face_detection_yunet_2023mar.onnx:默认真人/远景CPU检测,OpenCV Zoo MIT,SHA-2568f2383e4dd3cfbb4553ea8718107fc0423210dc964f9f4280604804ed2552fa4;anime_face_detect_v1.4_n.onnx:仅供local_anime_onnx_exp动漫EXP路线,deepghs MIT,SHA-256fd860b650a4377046842c3cd80d01b0b408bdfbdb4acee5759630f82c6ef04a9。
目录内的YUNET_SOURCE.json、ANIME_FACE_SOURCE.json和YUNET_LICENSE.txt记录固定revision、
来源、哈希和许可。YuNet不识别纯动漫并非故障;动漫模型也不能作为真人或身份验证器。
当前520项完整回归、全仓Ruff、compileall、102份项目JSON、diff check与白名单启动使用ComfyUI
v0.33.0@7fe8a61385;上一轮Qwen缓存/H3
真实生成兼容探针使用v0.32.0-16@ddbaa8752,较大范围真实生成矩阵仍以
0.31.0@cbbc9dab1为主基线。Face Refine已在当前v0.33.0@7fe8a61385上完成手工ROI与
自动YuNet各一次真实FL2VA pruned INT8、736×416×124、12步低去噪双时钟端到端执行,均
12/12步完成且无OOM;自动链耗时171.855秒、整卡峰值15,814MiB/16,380MiB,约余566MiB。
这只授予该固定路线的单次机械兼容,不授予真实画质、362帧、跨环境或通用显存结论。
运行环境为 Python 3.10+。模型、VAE、CLIP 和可选 LoRA仍需按具体任务自行安装。
1.22.0 完整保留此前94个节点的 ID、顺序、输入、默认值和稳定 sampling.py 数学,只在末尾
追加 Latent Upscale by 32。它在像素域选择宽高均可被32整除的合法尺寸,默认以H3的
16像素/latent合同计算;best_aspect只在最邻近的四组合法尺寸中选择宽高比误差最小者,并把
请求尺寸、实际尺寸、X/Y实际倍率和比例误差写入JSON报告。任意小数倍率通常无法同时满足“精确
倍率、精确原比例、宽高均32整除”,因此节点不会虚构零误差。H3联合AV latent只缩放视频空间轴,
音频tensor与时钟保持原样;普通SD/SDXL latent需显式改选8像素/latent。
1.21.1 完整保留此前90个节点的 ID、顺序、输入和稳定 sampling.py 数学,只在末尾追加的
4个Face Refine Advanced节点内补齐自动检测。Plan默认使用固定哈希的YuNet真人CPU路线;纯动漫
可显式切到隔离的ONNX Runtime EXP路线,手工ROI和本地Ultralytics仍保留。检测器对象在Plan结束
后销毁,但OpenCV/ONNX Runtime的进程级CPU分配器可能保留已热身页面,因此报告不承诺RSS回到
第一次执行前。规划先检测硬切并逐镜头重置轨迹和平滑,
记录边缘钳制后的真实脸部偏移、源画面代理哈希和完整transform合同。Conditioning只替换联合
AV latent的视频流,帧数、空间latent或17n+5时钟不一致即拒绝,锁定音频tensor和noise mask
原样复用。Sampler复用稳定双时钟实现,只在隔离模块中截取低噪声schedule;Stitch默认在CPU
生成候选,异常帧及相邻帧回退原图,并验证mask外像素逐位不变。全部输出都只是待人工审核的
候选,不覆盖原片、不自动接受、不改变最终背景音乐/音效,也不承诺身份正确、所有远景脸都会
改善、16GB普遍安全或低去噪数值已经标定。多镜头默认拒绝单次H3处理,应先拆成镜头内窗口。
1.18.0 完整保留 1.17.0 的62个节点ID、顺序、输入、默认值和旧接线,只在末尾追加24个
Advanced/Experimental节点。Environment Audit只读报告当前 H3 core、已知修复、wrapper、
DynamicVRAM和请求负载;MLP Activation Chunk只在克隆MODEL上分块token-local MLP,attention
不变且遇到已有dit/double_block所有者立即拒绝;Qwen Reference Prefix Cache只缓存严格视觉
参考因果前缀的CPU KV,prompt后缀仍逐次计算、音频-only自动旁路、默认report_only。
Studio层增加可审查 Context IR、可视时间轴、已接受长视频manifest上的非破坏性repair overlay,
以及按文件流式处理的Reel Delivery。Repair和Reel只在显式接受/确认后写新文件,不改原片。
同进程Trajectory Probe只接受稳定双时钟Euler并拒绝wrapper/patches_replace;Scheduled Audio
Injection首轮真实A/B没有消除尾部额外语音,因此保持默认旁路,不能宣传为“闭嘴修复”。
AV Decode Safety默认只预检,不把当前空闲显存或输出tensor估算伪装成VAE峰值预测。
1.18.1 不增加或改动节点接口,只加固 Reel Delivery 的异常边界:音频阶段先写临时文件,
完成样本数与峰值校验后才原子替换正式阶段文件;同一项目通过进程级OS锁串行;FFmpeg或宿主
进程被强杀后,下一次同项目执行只复用哈希验证通过的阶段,并在锁内清理本节点命名空间中的
孤儿临时文件。它不会清理其他项目或其他节点文件,也不把本机Windows结果外推为跨平台保证。
1.18.2 同样不改节点接口或旧工作流。验证发现MP4默认movie_timescale=1000会把非整毫秒
成片的AAC逻辑流时长量化:58帧/48kHz计划应为116,000采样,实际被写为115,968。最终封装现
使用LCM(24fps, sample_rate)时间标尺,并在原子替换前从容器头严格复核视频帧边界和音频
逻辑采样边界;32k/44.1k/48k三档均恢复为0采样误差。AAC解码器仍可能输出尾部padding,
因此这证明的是MP4逻辑流时长准确,不是有损AAC逐样本无损。
同轮1920×1088文件级探针还发现PyAV/libx264自动多线程会偶发进程崩溃或生成带参考帧/CABAC
错误的H.264流;约2MP及以上的Reel视频阶段现限定threads=1,低分辨率路径仍为自动线程。
高分辨率临时视频和最终mux临时文件在各自原子替换前都必须通过FFmpeg单线程、-xerror、
err_detect=explode完整严格解码;验证策略以ffmpeg_single_thread_xerror_v2持久化。升级时若
旧phase缺少单线程、严格解码或精确策略标记,会自动作废并重编码,不复用证据不足的码流。
本机两个FFmpeg 7.1 Windows构建的自动解码线程对同一1080p码流会随机失败;单线程FFmpeg及
PyAV/libavcodec 62重复解码均通过。因此这里只证明该版本化单线程验证合同,不外推其他平台或
播放器的多线程解码器。
另在Ubuntu 24.04.4 WSL2的Linux内核与ext4 /tmp上,使用Linux FFmpeg 7.0.2、PyAV 18.1.0
直接执行同一份Reel产品代码:两段H.264/AAC加一条FLAC lane得到精确66帧、132,000个48kHz
逻辑采样,第二次执行复用视频/音频阶段且输出SHA-256一致;来源哈希不变、无孤儿临时文件,
真实POSIX锁竞争被拒绝并在持锁进程结束后可重新取得。该结果关闭一条Linux/POSIX低分辨率
机械路线,不等于裸机Linux、macOS、高分辨率、任意FFmpeg构建或跨GPU通过。
验证期间ComfyUI先更新到v0.32.0-15@86aedfd9,Llama/Qwen新增合并投影、固定KV、预取和原地
残差路径。Qwen缓存现显式在无梯度推理上下文执行,并把直接调用的TransformerBlock.forward
也纳入精确源码合同;旧cbbc9dab1合同继续保留。当前core的CPU全前向/前缀KV数学探针和真实
32B NVFP4同进程OFF/HIT均通过,但真实配对最低余量只有116.998/337.583MiB,结论仍是兼容而非
无损、显存优化或16GB安全。
随后v0.32.0-16@ddbaa8752把MiniMax投影格式检测前移;Qwen前向合同未改变。447项完整回归、
精确源码合同、tiny-Llama等价探针及原生48帧视频参考完整A/V配对再次通过:OFF/HIT为
25.266/15.578秒,110.744MiB条目真实命中,视频SSIM均值/最低0.950934/0.944633,音频相关
0.953029;整卡余量仅344.340/338.833MiB,512MiB安全门仍失败。
Studio规划本身不会加载模型、自动排队、覆盖已接受媒体或宣称其他后端原生支持H3音频。
超过单段362帧的纯视觉镜头可显式拆段;带精确对白的长镜头拒绝自动断句,要求创作者先按
语言语义划分。所有新节点未连接时旧工作流行为不变;当前仍不授予普遍memory_safe、
bit-exact、精确语音时序或质量提升声明。
1.17.0 保留 1.16.0 的61个节点ID、顺序、输入、默认值和旧接线,只在末尾追加一个
Hybrid Compatibility Audit Advanced节点。它放在所有MODEL补丁与采样设置之后、BasicGuider
之前,默认report_only并返回同一个MODEL对象;检查Hybrid offset-set、LoRA顺序/AdaLN重叠、
Block Cache、Sage、Long Video、多关键帧、采样协议以及VRAM/VBAR policy provenance。旧工作流不
创建该节点时行为完全不变。机械通过不等于质量胜出或显存安全,报告始终保持
memory_safe_claim=false。
1.16.0 保留 1.15.1 的60个节点ID、顺序、输入、默认值和旧接线,只在末尾追加一个
Hybrid Artifact Maintenance Advanced输出节点。默认inspect_only不创建事务目录、不移动文件;
所有变更都要求confirm_action=true和正整数operation_epoch。节点只处理由严格Hybrid plan
推导出的models/h3_hybrid_artifacts内容寻址文件,使用可恢复隔离区与原子事务日志,不扫描或
删除diffusion checkpoint,也不负责卸载MODEL或释放显存。
1.15.1 保留 1.15.0 的60个节点 ID、顺序和旧接线;只把新VRAM策略节点的固定值建议与
示例从未过512MiB门槛的2.0GiB改为三冷三暖通过的4.0GiB,并把固定模式示例改为不执行全局
卸载。旧工作流没有该节点或不连接policy时,行为仍完全不变。
1.15.0 保留 1.14.0 的59个节点 ID、顺序、默认值和旧接线,只在末尾追加1个字面以
Advanced 结尾的 VRAM/VBAR 策略节点;Hybrid Loader 仅在末尾新增可选 policy 输入,旧工作流
不连接时不会清理模型、修改全局预留或改变 stock loader 行为。
1.14.0 保留 1.13.0 的56个节点 ID、顺序、默认值和旧接线,只在末尾追加3个字面以
Advanced 结尾的 Hybrid Model EXP 节点;未连接时不会检查第二份 checkpoint、构建 artifact、
克隆 MODEL 或改变任何旧工作流。1.13.0 保留此前54个节点的 ID、顺序、默认值和旧接线,只在末尾追加2个字面以
Advanced 结尾的多关键帧 EXP 节点;旧工作流不会创建中间关键帧、克隆 MODEL 或修改 H3
内部条件行。只有用户主动接入 Advanced 计划时才启用局部能力探针和补丁。1.12.0 保留此前51个节点的 ID、顺序、默认值和旧接线,只在末尾追加3个完全隔离的
Dialogue Safe Audio EXP 节点;旧工作流不会自动运行 ASR、改变联合 latent、分离混合音轨或
替换最终音频。1.11.0 保留此前48个节点的 ID、顺序、默认值和旧接线,只在末尾追加3个完全隔离的 Source AV
EXP 节点;旧工作流不会自动读取来源视频、改变 latent 或启用重绘 mask。1.10.0 保留此前36个节点的 ID、顺序、默认值和旧接线,只在其后追加12个语音可靠性/
创作 EXP 节点;旧工作流不会自动启用异常全局卸载、持久音色库、长文本或 Joint 多人。
1.9.0 只在原35个节点之后追加一个视觉参考强度 EXP 后置节点;原节点 ID、顺序、默认值和
旧工作流接线不变,只有用户主动插入节点时才写入实验字段。1.8.0 只在原25个节点之后追加10个实验性语音节点;旧节点顺序不变,原工作流不会自动进入
语音链。1.7.0 只在原23个节点之后追加 Background Start 与 Auto Accept & Continue;旧节点顺序不变。
1.6.0 在此前22个节点之后追加一个总时长编排节点;1.5.0 的四个候选/接受/合成节点与
1.4.0 的四个手工分段节点继续保留。原有14个节点的 Node ID、
schema 顺序和数值路径保持不变。1.3.3 在稳定双时钟节点末尾追加可选的采样器与调度器下拉框;原有三个控件的顺序、
默认双时钟 Euler、原生 flow sigma 和旧 API 缺省行为均保持不变。1.3.2 保留 1.3.1
对两代 H3 采样协议的兼容:旧版 ComfyUI 的 slope-scaled 音频速度,以及当前
FLOW_AV / ModelSamplingAV 的原始音频速度。兼容性由实际 H3 基模能力检测,不依赖用户
手动选择,也不会对新版 ComfyUI 再次应用音频 carry/scale。本版本还兼容
VideoHelperSuite 的延迟 AUDIO Mapping,用 H3 latent 契约识别视频/音频 VAE,并把画布
像素面积上限放宽到 1920×1088 = 2,088,960;超过旧 0.98M 档只提示显存风险,不再阻止执行。
当前插件随后在 H3 初始期 ComfyUI 0.30.0@563b98eef 和当前 cbbc9dab1 上使用同一
256×256×22、一阶、同seed工作流完成真实配对:22张PNG逐字节一致,32kHz双声道音频相关
0.999688、SNR 36.12dB、最大差一个16-bit PCM步长。该证据只覆盖稳定
dual_clock_euler默认路线。另用当前1.18.2@c7f5080插件在同一旧版快照做了完整导入/schema
探针:86/86个插件节点和其中24/24个Advanced节点均出现在/object_info,没有导入traceback。
随后再真实执行Trajectory Advanced的256×256×22四步full、2+2 split和save/load/resume:3/3
prompt成功,两份最终checkpoint逐字节一致。三段最低整卡余量仅94.153MiB,未过512MiB门槛。
Environment Audit、Studio/Prompt/Repair规划、本地Context IR和Reel只规划不写入的4张API图也全部
执行成功,覆盖另外12个Advanced节点;Qwen Prefix Cache先通过report-only、memory_lru_exp包装安装与
Stats,随后又以48帧真实参考视频完成OFF/MISS→HIT及完整A/V对照:缓存为1 miss+1 hit,HIT较OFF
快21.80%,但输出非逐位一致(视频SSIM均值0.950934、音频相关0.953028),且最低余量334.508MiB,
所以只证明该短链兼容,不证明无损或16GB安全。AV Decode Safety真实解码成功22帧
和音频,而Activation Chunk在应用前正确拒绝旧H3未知源码合同。Repair的Bind/Stage/Accept/Compose
四节点使用已持久化真实链执行成功:accept_repair=false,原manifest及27个accepted素材哈希保持不变,
只在忽略的验证目录生成一个base-rollback成片。随后隔离的两段fixture又完成accept_repair=true与
repair-overlay合成:替换索引1、保留索引0、原manifest/accepted素材不变、输出44帧;AAC流时长比
58,667逻辑样本多21样本且解码含padding,所以不宣称sample-exact或真实H3修复质量。
Scheduled Audio Injection的默认report_only与实际
scheduled_injection路线均完成真实256×256×22一阶生成并输出22帧和音频;两者最低余量分别只有
15.685MiB和97.335MiB,且这不证明注入能抑制多余说话。
至此新增的24/24个Advanced节点都在该精确旧core上取得了执行或明确fail-closed证据,但证据强度按
路线受限:Qwen只测一条短视频参考、Activation拒绝应用、Repair接受仅为隔离fixture、Scheduled
质量结论仍为否决。它不代表
所有模式、任意旧版本或16GB安全。
项目目录
| 路径 | 内容 |
|---|---|
tools/ |
MiniMax H3 Turbo LoRA 转换工具 |
docs/ |
LoRA 使用说明与验证记录 |
examples/ |
API 与 ComfyUI 前端工作流 |
artifacts/ |
历史发布包和代码迁移归档;已由 .gitignore 排除 |
项目源码、文档、工具和本地交付资产均以当前项目目录为唯一事实源,不依赖其他盘符 中的工程副本。模型权重不存放在本项目中,应继续使用 ComfyUI 的标准模型目录。
节点
| 节点 | 用途 |
|---|---|
| MiniMax H3 Audio Conditioning (T8) | T2VA、I2VA、FL2VA、L2VA、Ref2VA 和关键帧+参考媒体 Hybrid 的统一条件节点 |
| MiniMax H3 Audio Latent Control (T8) | 对已有 H3 AV latent 锁定或重绘源音频,并保留已有视频 mask |
| MiniMax H3 Duration Planner (T8) | 把场景时间换算成 24fps、17n+5 的渲染窗口和最终裁切参数 |
| MiniMax H3 Audio Window (T8) | 直接切取/补零 AUDIO,短场景可自动扩展到 124 帧训练下限 |
| MiniMax H3 Prompt Tags (T8) | 把 Image 1、Audio1 等写法规范为官方标签并严格校验编号 |
| MiniMax H3 AV Decode (T8) | 用视频/音频 VAE 分别解码联合 AV latent |
| MiniMax H3 Audio Mix (T8) | 源音轨与模型生成音轨重采样、增益、ducking、峰值限制后混合 |
| MiniMax H3 Output Trim (T8) | 把 Planner 的时间窗口同时应用到解码帧和音频 |
| MiniMax H3 Preflight (T8) | 在采样前检查模型、尺寸、帧数、音频、参考数量和参考视频时长 |
| MiniMax H3 Dual-Clock Sampler (T8) | 默认配置 12/3 shift、原生 flow sigma 与双时钟 Euler,也可选择当前 ComfyUI 的原生采样器和调度器 |
| MiniMax H3 Multi-Rate Sampler (EXP/T8) | 实验性视频宏步/音频微步采样;独立实现,不替换稳定双时钟节点 |
| MiniMax H3 Reference Image Edit (EXP/T8) | 用 Ref2VA 对单张主图进行语义编辑,并支持最多 8 张附加参考图 |
| MiniMax H3 Still Preflight (EXP/T8) | 检查单帧 OOD、画布、参考数量、模型和 VAE 契约 |
| MiniMax H3 Still Decode (EXP/T8) | 只解码视频 latent,并从 1/5/22/124 帧候选中选出一张图 |
| MiniMax H3 Segment Planner / 长视频分段规划 (EXP/T8) | 计算当前段渲染帧、重叠裁头、有效时长、绝对时间和是否允许保存下一段上下文 |
| MiniMax H3 Previous Context / 读取上一段上下文 (EXP/T8) | 第0段返回空上下文,第N段只读取并校验固定的 N-1 状态文件 |
| MiniMax H3 Long Video Conditioning / 长视频续写条件 (EXP/T8) | 合并运动尾部、音频 timeline、原有关键帧/参考媒体,并只给克隆 MODEL 加局部补丁 |
| MiniMax H3 Save AV Tail / 保存下一段上下文 (EXP/T8) | 只保存最多39帧所需的 CPU AV latent 尾部,校验哈希并原子替换当前段槽位 |
| MiniMax H3 Save Candidate / 保存候选片段 (EXP/T8) | 把当前裁后 A/V 和有界 latent tail 原子写入候选目录,不修改已接受历史 |
| MiniMax H3 Review & Accept / 预览并接受候选 (EXP/T8) | 默认只预览;确认后提交 manifest,替换中间段时使所有依赖后段失效 |
| MiniMax H3 Accepted Context / 读取已接受上下文 (EXP/T8) | 只按 manifest 读取 N-1,并输出父候选 ID/修订号防止陈旧续接 |
| MiniMax H3 Compose Accepted / 合成已接受片段 (EXP/T8) | 校验每段哈希后流式重编码;内存上限为单帧视频加单段 PCM,不聚合整条 tensor |
| MiniMax H3 Chain Orchestrator / 总时长自动分段 (EXP/T8) | 把总时长量化为固定内部窗口的完整时间轴,按 accepted manifest 自动定位下一段,并提供分段 prompt、seed、进度与完成阻断 |
| MiniMax H3 Background Start / 后台长视频启动 (EXP/T8) | 在模型执行前登记当前 prompt;显式启用自动接受、失败重试和段间释放策略,安全默认仍为 review_only |
| MiniMax H3 Auto Accept & Continue / 自动接受续跑 (EXP/T8) | 接受当前候选、可选合成最终 MP4,并且一次只校验和排入一个下一段 prompt |
| MiniMax H3 Voice Profile / 音色档案 (EXP/T8) | 建立描述音色或经授权的内存参考音色;规范化真实剩余时长并输出质量报告 |
| MiniMax H3 Speech Plan / 语音规划 (EXP/T8) | 按语言分句,把实际台词与演绎方向严格分离为可复现段计划 |
| MiniMax H3 Speech Conditioning / 语音条件 (EXP/T8) | 描述音色走 T2VA,参考音色走 Ref2VA;复用外部 MODEL/CLIP/双 VAE,不重复加载 |
| MiniMax H3 Speech Decode / 语音解码 (EXP/T8) | 只解码联合 latent 的音频部分,可选保守能量裁边 |
| MiniMax H3 Speech Verify & Align / ASR校验裁切 (EXP/T8) | 可选 CPU ASR、完整目标顺序定位、说话人余弦报告与最终衰减式峰值保护 |
| MiniMax H3 Speech Assemble / 语音合成 (EXP/T8) | 以绝对 sample 时间轴合并多段、停顿、重叠、淡化、声像和增益 |
| MiniMax H3 Dialogue Script / 对白脚本 (EXP/T8) | 把2–3个角色的普通文本或 JSON 变成逐 turn 对白计划 |
| MiniMax H3 Dialogue Turn Select / 对白段选择 (EXP/T8) | 逐 turn 选择正确角色档案和单段语音计划,避免把未验证联合多人模式当稳定能力 |
| MiniMax H3 Dialogue Boundary Analyzer / 对白边界分析 (EXP/T8) | 本地 CPU ASR 仅在出现唯一、连续、精确目标词序列时报告边界;重复目标或被插话打断时拒绝猜测 |
| MiniMax H3 Dialogue Safe Master / 对白安全混音 (EXP/T8) | 把已验收的独立对白 stem 与独立音乐、环境和 SFX 组成完整时长母带,不在对白结束处截断背景声 |
| MiniMax H3 Timed Background Bed Lock / 分时背景底轨锁定 (EXP/T8) | 两遍 H3 路线:用独立完整背景底轨替换音频 latent,并在显式对白边界后锁住底轨尾段 |
| MiniMax H3 Speech Finalize / 语音完成与释放 (EXP/T8) | AUDIO 直通后执行 keep/cache-clear/全局卸载策略,并明确报告作用域 |
| MiniMax H3 Speech Studio / 语音工作台 (EXP/T8) | GraphBuilder 一站式串起条件、stock采样、音频解码、校验和释放 |
| MiniMax H3 Speech Abnormal-Exit Guard / 异常释放保护 (EXP/T8) | 在条件节点前登记 prompt 生命周期;异常、取消或非 OOM 错误令 Finalize 未执行时补发释放请求 |
| MiniMax H3 Speech VRAM Preflight / 显存预检 (EXP/T8) | 报告当前整卡空闲、PyTorch占用和 DynamicVRAM 配置;只做当前态门槛,不授予 memory_safe 标签 |
| MiniMax H3 Voice Library Save / Load / Delete (EXP/T8) | 显式保存/读取经授权音色;不允许默认同名覆盖,删除移到可恢复回收目录 |
| MiniMax H3 Speech Performance Direction / 演绎控制 (EXP/T8) | 添加情绪、语速、音高、能量和非语言提示方向;当前标定矩阵未通过,只能作 prompt EXP |
| MiniMax H3 Speech ADR Exact Fit / 配音精确时长 (EXP/T8) | 拒绝、补裁或有界相位声码器变速,并可确定性移调;输出精确到 sample,不声称口型同步 |
| MiniMax H3 Speech Long Form Start/Accept/Control/Compose (EXP/T8) | 原子 accepted manifest、断点恢复、合作式取消、分段可播放预览、哈希校验和最终精确时间线合成 |
| MiniMax H3 Joint Dialogue Conditioning / 多人同段条件 (EXP/T8) | 2–3人 Ref2VA 同段实验;真实两人探针质量门槛失败,不是稳定推荐路径 |
| MiniMax H3 Keyframe Plan / 中间关键帧计划 (Advanced) | 链式加入一个中间图像,使用帧/秒/百分比定位,并记录该帧的原始视觉 noise_aug |
| MiniMax H3 Multi-Keyframe Conditioning / 多关键帧条件 (Advanced) | 在独立 MODEL 克隆上组装首帧、1–7张中间帧、尾帧及可选 Hybrid 参考;不修改稳定 Conditioning |
| MiniMax H3 Hybrid Pair Inspector / 混合模型配对检查 (Advanced) | 在分配GPU前校验精确FL2VA/Ref2VA pruned pair、完整SHA-256、曲线、tensor合同、recipe和预计artifact大小 |
| MiniMax H3 Hybrid Artifact Builder / 小型混合补丁构建 (Advanced) | 把Ref2VA所选AdaLN模态行曲线重基到FL2VA基底,原子生成约13.84~83.06MiB的内容寻址target-slice artifact |
| MiniMax H3 Hybrid Model Loader / 混合模型加载 (Advanced) | 继续使用ComfyUI stock diffusion loader加载FL2VA,再给克隆MODEL应用小型offset-set patch;保留DynamicVRAM/VBAR路径 |
| MiniMax H3 VRAM Policy / VBAR显存预留策略 (Advanced) | 默认只报告;显式连接Hybrid Loader后在模型加载前设置ComfyUI总预留与AIMDO simple headroom,并报告主机commit边界 |
| MiniMax H3 Hybrid Artifact Maintenance / 混合补丁安全维护 (Advanced) | 默认只检查精确artifact状态;可显式隔离、还原、恢复中断事务或处理过期构建残留,永不永久删除源checkpoint |
| MiniMax H3 Hybrid Compatibility Audit / 混合模型组合兼容审计 (Advanced) | MODEL原样直通;审计Hybrid/LoRA/BlockCache/Sage/长视频/多关键帧/采样/VBAR组合,默认只报告、可选阻断硬冲突 |
| MiniMax H3 Visual Reference Strength (EXP/T8) | 在现有 H3 positive Conditioning 后写入全局视觉参考强度;可能缓解过度平滑/蜡感,也可能削弱身份、构图和首尾帧 |
| MiniMax H3 Source Media Window / 来源视频窗口 (EXP/T8) | 把已有IMAGE/AUDIO按24fps、17n+5和32kHz裁为严格同步的短窗口;不是文件流式解码 |
| MiniMax H3 Source AV Prepare / 来源音画重绘准备 (EXP/T8) | 严格校验并组装视频/音频latent,保留元数据与mask,显式处理时钟差并提供双流lock/remix/regenerate |
| MiniMax H3 AV Latent Separate / 联合潜空间拆分 (EXP/T8) | 不调用VAE即可校验、拆出H3视频/音频latent并保留各自mask |
| MiniMax H3 Environment Audit / 环境兼容审计 (Advanced) | 只读检查core修复、wrapper归属、DynamicVRAM、当前显存/主机状态和请求负载;默认只报告 |
| MiniMax H3 MLP Activation Chunk / MLP激活分块 (Advanced) | 仅在克隆MODEL上分块token-local MLP;attention不变,未知core或已有double-block owner时拒绝 |
| MiniMax H3 Qwen Reference Prefix Cache / 参考前缀缓存 (Advanced) | 有界CPU LRU复用完全相同的视觉参考因果前缀;prompt仍重算,音频-only自动旁路 |
| MiniMax H3 Qwen Prefix Cache Stats / 前缀缓存统计 (Advanced) | 报告命中、未命中、条目数、CPU MiB和超限拒绝,不写磁盘 |
| MiniMax H3 Unified Cast / 统一角色表 (Advanced) | 把角色身份、服装、行为规则、禁止变化和参考槽位编译为确定性文本合同,不加载识别模型 |
| MiniMax H3 Sound Canvas / 声音画布 (Advanced) | 在绝对时间上规划对白、音乐、环境和SFX;对白结束后只禁止额外语音,不截断完整声音床 |
| T8 Video Prompt Compiler / 多后端提示词编译 (Advanced) | 输出H3、Wan 2.2、LTX-Video或通用视觉提示包;非H3音频始终作为sidecar,不虚构原生支持 |
| MiniMax H3 Studio Timeline / 创作时间轴 (Advanced) | 将多镜头量化为独立17n+5窗口、确定性seed和绝对时间;长视觉镜头可显式拆段 |
| MiniMax H3 Studio Shot Select / 镜头选择 (Advanced) | 从时间轴输出单镜头prompt、negative、length和seed,连接现有Conditioning/Sampler |
| MiniMax H3 Selective Segment Repair / 选择性分段重做 (Advanced) | 根据显式索引或质量证据生成非破坏性重做列表,不删除、覆盖或自动接受媒体 |
| MiniMax H3 Repair Segment Select / 重做段选择 (Advanced) | 输出一个重做项的prompt、length、seed与策略;最终接受仍由用户或既有manifest节点完成 |
| MiniMax H3 Selective Repair Bind/Stage/Accept/Compose (Advanced) | 把重做项绑定到不可变manifest修订,暂存、显式接受为独立overlay并可回退到原成片 |
| MiniMax H3 Scheduled Drive Audio Injection (Advanced) | 对完整驱动音频latent做计划式重复锚定;默认旁路,不能只控制语音或保证消除额外念叨 |
| MiniMax H3 AV Decode Safety / 音视频安全解码 (Advanced) | 检查联合latent、VAE角色、时间网格、有限值和当前资源;默认只预检,tiled路径单独标EXP |
| T8 Context IR Provider / 参考语义理解 (Advanced) | 默认只校验本地IR;外部视觉服务需显式确认,仅上传抽样JPEG和用户文本,不上传原始音频 |
| T8 Context IR Prompt Compiler / IR提示词编译 (Advanced) | 将已审查IR编译进既有Prompt Packet;远端不能控制路径、模型、节点、采样或改写精确对白 |
| MiniMax H3 Reel Delivery Plan/Compose / 成片交付 (Advanced) | 指纹化24fps文件片段、有限crossfade和音频lane,显式确认后以有界内存原子重编码MP4 |
| MiniMax H3 Trajectory Probe / 采样轨迹探针 (Advanced) | 只拆稳定双时钟Euler sigma,绑定同进程MODEL/SAMPLER,并拒绝wrapper与patches_replace |
| MiniMax H3 Trajectory Checkpoint Save/Load / 轨迹保存续跑 (Advanced) | 显式保存联合latent并校验完整合同;第二阶段必须使用Load输出的resume_noise,重启后不会伪装成同一模型栈 |
| MiniMax H3 Face Refine Plan / 远景脸修复规划 (Advanced) | 在原画幅24fps、17n+5窗口中用默认YuNet真人CPU检测、动漫ONNX EXP、手工ROI或本地Ultralytics做分镜内轨迹和平滑,输出源绑定crop计划与预览 |
| MiniMax H3 Face Refine Latent / 脸部二次生成条件 (Advanced) | 把crop序列精确编码进联合AV latent的视频流,复用锁定音频与mask,拒绝任何静默时空补齐 |
| MiniMax H3 Face Refine Sampler / 低去噪双时钟采样 (Advanced) | 复用稳定双时钟采样实现并截取低噪声sigma尾段;denoise仅是实验参数,不是已标定修复强度 |
| MiniMax H3 Face Refine Stitch Audit / 脸部回贴审计 (Advanced) | 按真实边缘偏移回贴ellipse/rect区域,颜色限幅、异常帧回退并证明mask外像素逐位不变;只输出待审候选 |
| Latent Upscale by 32 / 32整除潜空间放大 (T8) | 按显式8/16像素latent合同放大,输出宽高严格32整除;比例优先模式报告不可避免的残余误差,H3联合latent不改音频 |
最小可运行示例见
examples/workflows/H3_Latent_Upscale_By32.json。
示例使用ComfyUI普通EmptyLatentImage,所以显式选择8像素/latent;连接本包H3 Conditioning输出的
联合AV latent时应保留默认16。不要把已包含首尾帧/参考图空间条件的AV latent随意放大后继续沿用
旧尺寸Conditioning;新节点只负责latent几何与音频保持,不会自动重编码那些条件媒体。
MiniMax H3 Audio Conditioning (T8) 与 Long Video Conditioning 的 task_type 下拉框会显示中英双语说明:
| 选项 | 中文含义 |
|---|---|
auto |
自动判断(按已连接输入) |
T2VA |
文生音视频 |
I2VA |
图生音视频(首帧) |
FL2VA |
首尾帧生音视频 |
L2VA |
尾帧生音视频 |
Ref2VA |
参考生音视频 |
Hybrid |
关键帧与参考媒体混合生成 |
中文仅用于前端显示,后端和 API 仍提交原有英文枚举,因此旧工作流与 API JSON 无需修改。
Advanced:环境、低峰值复用与 Studio 创作层
1. 先审计,再决定是否启用实验优化
Environment Audit Advanced是只读输出节点。它检查当前ComfyUI H3源码合同、若干已知修复
是否存在、H3 wrapper归属、DynamicVRAM/VBAR状态、当前整卡余量和所填负载,但不是峰值预测器。
status=pass只代表没有发现已知硬阻断,不代表该配置必然不OOM。默认report_only不修改设置、
不卸载模型、不下载依赖,也不接管任何全局H3类。
审计报告还包含当前ComfyUI进程RSS/private/pagefile、page faults、累计磁盘读写、pinned-memory
开关/当前量和可选NVML温度、功耗、频率与热降频。单点计数只是当前快照,不能把累计270GiB读取
误判为本次任务;配套tools/validate_h3_vram.py run会对本地ComfyUI服务计算运行前后差分,并
保守分类为fits / fits_with_thrashing / unsafe / unknown。当前高读取筛查阈值为64GiB且不是
存储基准,也不把“能跑完”自动写成“可用”。
MLP Activation Chunk Advanced仅把每个H3 block中token-local MLP按行分块,attention仍处理完整
packed序列。节点只补丁克隆MODEL;当前如发现Block Cache或其他dit/double_block所有者会
fail closed,不覆盖、不叠套,默认report_only。真实256×256×22小链保持逐帧PNG与PCM一致;
随后FL2VA pruned INT8、736×416×124、1步受控A/B给出否决结果:chunk256冷态整卡峰值比baseline
高约288.32MiB,暖态只低约22.88MiB(未过128MiB实质差异阈值),耗时也无稳定收益。内核探针
同时确认当前TensorWise INT8已融合SwiGLU,未分块的大fc1激活代理不适用。因此该节点不推荐用于
当前INT8路径省显存,只保留给其他精度/后端的EXP研究;memory_safe_claim=false保持不变。
2. Qwen视觉参考前缀缓存
推荐连接为CLIP Loader -> Qwen Reference Prefix Cache -> 原有H3 Conditioning。同一组参考图/
参考视频但多次修改文字提示时,H3的Qwen输入具有严格“参考在前、prompt在后”的因果结构;节点
只缓存完全相同视觉前缀的每层KV与前缀最终hidden,prompt后缀仍逐次计算。缓存是有界CPU LRU,
默认1条/1024MiB、从不写盘;超过预算只拒绝保存该条,不无限增长。音频-only参考没有视觉计算,
会自动旁路;token权重、schedule/hooks、非原生H3 CLIP或未知core均旁路或拒绝。
真实ComfyUI小型Llama探针中,完整因果前向与“缓存前缀KV+新后缀”在2e-6容差内一致;本机
32B Qwen NVFP4已完成同参考/改prompt命中、两条LRU淘汰和64MiB超预算拒绝。一个
512×512×22、1步最终A/V对照中,命中为14.719秒、关闭缓存为19.985秒,但视频SSIM均值
0.9777、音频相关0.9581,并非bit-exact。随后三组全新进程冷配对和三组同进程暖配对中,命中端
每次都更快,配对平均分别约11.97%和11.01%;但六组结果仍不逐位一致,视频SSIM最低0.9246,
一组暖态音频相关仅0.2323,冷/暖最低整卡余量也只有75.63/168.08MiB,均未过512MiB门槛。
双图参考的冷/暖OFF对HIT短链随后都取得真实命中,60.70MiB缓存条目的耗时分别
下降6.04%/6.87%;视频SSIM均值/最低为0.91869/0.91130,音频相关0.95956,仍非逐位一致,
最低余量311.85MiB。另一条使用ComfyUI原生LoadVideo/GetVideoComponents读取48帧、2秒、24fps
真实视频参考的完整A/V配对也命中110.74MiB条目,耗时下降13.81%,峰值低166.31MiB;
但OFF/HIT仅余下145.15/311.46MiB,视频SSIM均值/最低为0.95093/0.94463,音频相关0.95303。
又完成了真人×机械、机械×城市角色、城市角色×真人三组双图组合×2 seed的同进程暖态矩阵:
6/6真实命中且HIT均更快,平均耗时变化-11.09%;视频SSIM的组均值0.9314、最低单帧0.8531,
音频相关均值0.9771。六组后进程private memory最大正向跳发为59.91MiB,未见256MiB阶梯,
但最差整卡余量仅111.93MiB,而且1步画面不足以做感知结论。
同三类素材各取1个seed的Stock20对照也已完成:3/3真实命中且HIT更快,平均耗时变化-5.00%;
但视频SSIM组均值只有0.8227,组间0.6790~0.9073、最低单帧0.6052;音频相关均值0.7188,
组间0.2603~0.9894,最低显存余量190.68MiB。这说明缓存数值差异会被完整扩散链放大,自动质量门不通过。
ComfyUI更新到v0.32.0-15@86aedfd9后,精确源码能力探针先确认tuple-KV路径在推理语义下仍与
完整因果前向等价,再完成一组真实32B NVFP4同进程受控配对:HIT记录1次命中/1次未命中,
108.283MiB条目,完整链13.297秒降到9.375秒;22帧SSIM均值/最低为0.951217/0.924603,
32kHz双声道音频相关0.956522。OFF/HIT最低余量仅116.998/337.583MiB,仍未过512MiB门槛。
当前v0.32.0-16@ddbaa8752又完成精确合同、完整447项回归及原生48帧视频参考的完整A/V复跑:
110.744MiB缓存真实命中,OFF/HIT耗时25.266/15.578秒;视频SSIM均值/最低
0.950934/0.944633,音频相关0.953029。OFF/HIT余量344.340/338.833MiB仍低于512MiB,且
输出仍非逐位一致。
因此默认仍为report_only:只能称精确短链的多图/视频参考机械路线已打通,不能称无损、显存优化、
16GB安全或固定加速;多素材自动重复已完成,Stock20非劣性尚需人类盲评但已有明显自动风险,跨GPU主机内存仍需验证。需要观察命中时可接
Qwen Prefix Cache Stats。
3. Studio:角色、声音、镜头和局部重做
建议顺序:
Unified Cast定义角色ID、稳定外观、默认服装和禁止变化;它只是文本合同,不做人脸识别。Sound Canvas在绝对时间上列出对白、音乐、环境和SFX。开启no_unrequested_speech时,提示会明确要求对白结束后不再念叨,但继续指定的背景音乐、环境和 音效;它不截断最终混合音轨,也不假装能从已有混音中分离stems。Studio Timeline把镜头JSON编译成24fps、每段17n+5的H3窗口和确定性seed。超过362帧的 纯视觉镜头可拆成连续parts;含精确对白的长镜头拒绝自动断句,避免破坏中文/多语言语义。Studio Shot Select输出一个镜头的prompt、negative、length和seed,直接接现有Conditioning、 RandomNoise与Sampler;它不隐藏加载器或采样器。Selective Segment Repair -> Repair Segment Select只列出需要重做的镜头,支持手工索引、失败 状态或预先给定阈值;不选中的片段不进入计划,节点不删除、覆盖或自动接受任何媒体。- 需要真正替换已接受长视频片段时,再连接
Repair Bind -> Stage -> Accept -> Compose。Bind把 重做项锁到原manifest修订和源文件哈希;Stage只预览验证;Accept默认false并写独立overlay; Compose可选择base_rollback忽略overlay,原manifest和原segment始终不变。 Reel Delivery Plan -> Compose处理已经落盘的24fps片段与对白/音乐/环境/SFX文件lane。 当前要求同尺寸、精确24fps,crossfade是像素混合而非运动插帧;Compose默认不执行,开启后 H.264/AAC重编码且不是bit-exact。CRF变化会强制重做视频阶段,完整哈希一致才会恢复旧阶段。 本机Windows/NTFS已完成30分钟、50个独立路径片段、4类音频lane的机械压力测试:输出 43,200帧和86,400,000个48kHz采样(精确1,800秒),来源哈希不变,重复运行复用已验证阶段。 同时覆盖音频FFmpeg、最终mux FFmpeg及宿主Python进程强杀后的恢复;50个路径使用同一小型 fixture的硬链接,因此证明的是时间线规模、内存/磁盘和恢复合同,不是多编码器/多素材质量。 后续本机同一条实验成片又混用H.264/AAC、HEVC/MP3和VP9/Opus三种128×96、24fps合成素材, 并叠加WAV/FLAC/Opus/AAC四类lane;结果精确132帧、计划264,000个48kHz采样和5.500秒流时长, 来源哈希不变,二次执行复用视频/音频阶段且输出哈希稳定。这关闭了本机合成素材的编码多样性机械门; 三段真实256×256×22帧H3素材又组成精确58帧/116,000采样成片;三段真人、机械龙、城市角色 736×416×124帧H3素材组成精确348帧/696,000采样、14.5秒成片,12帧转场缓冲估算10.51MiB。 两条真实H3成片均保持来源哈希、阶段复用和复跑输出稳定。由此关闭本机真实H3多素材与 736×416吞吐门。相同三段真实H3内容另被确定性放入1920×1088画布做文件级交付;自动线程 路径复现一次native crash和3/3可解码码流错误,限定单线程后3个独立项目按v2策略完成阶段与 最终mux双重严格解码,阶段/最终SHA三次一致,成片仍为348帧/696,000采样,转场缓冲估算 71.72MiB。两个本机FFmpeg 7.1构建的自动解码线程仍会随机失败,而单线程FFmpeg与 PyAV/libavcodec 62重复解码通过;它只证明 派生1080p的Reel机制,不证明H3原生1080p生成质量;非Windows文件系统/FFmpeg仍未验证。
Repair执行器另在隔离的14段/60秒已接受链上覆盖了6个进程强杀点,重试后原manifest与27个
已接受资产哈希均保持不变;一个真实H3第7段重做也成功写入overlay并合成为精确1440帧/
1,920,000 samples。不过当前重做不会自动级联重生成依赖它的后续段:该探针的进入边界接近原片,
退出边界SSIM却从原链约0.933降至0.804。候选复制与合成输出现在分别在精确目标命名空间的OS锁内
清理前次进程强杀留下的.*.tmp;重建的14段真实链六点强杀矩阵中,复制写半与音频合成中断的
orphan都在重试前被报告并清零,六项事务/哈希/恢复门全部通过。该结论只关闭受测Windows/NTFS
故障点的crash-clean,不解决上下文级联。因此相邻段必须单独复核;不能宣传
无缝局部重做,后续需增加级联重生成或明确的退出边界阻断。
Prompt Compiler还可输出wan_2_2、ltx_video和generic_cinematic文本包。除MiniMax H3外,
声音计划只保存在audio_prompt sidecar和JSON报告中,不能据此宣称相应后端原生生成音频。所有
编译器输出仍是生成式方向,不保证逐帧时间、逐字对白、角色一致性或最终质量。
Context IR Provider默认validate_local,只做schema与控制权边界校验。外部
OpenAI-compatible视觉请求必须同时选择外部模式并开启确认;API key只从指定环境变量读取,
最多上传32张显式抽样/缩小的JPEG与用户主动提供的transcript,原始音频不上传。远端返回中的
路径、URL、节点、模型、采样器、seed、steps和凭据会递归拒绝;精确对白必须逐字保持。
Studio Timeline执行后会在节点中显示只读彩色时间轴;这是前端预览,不改变工作流JSON、
seed、调度或生成状态。
Trajectory Probe只用于稳定双时钟Euler的同进程诊断。最终v2使用专用trajectory MODEL与Load
节点输出的resume_noise直接传递内部x_sigma,不再用DisableNoise重建中间状态。RTX 4060 Ti
16GiB、FL2VA pruned INT8、Qwen NVFP4和双H3 VAE的四步2+2验证中,736×416×124与
256×256×362的full/续跑最终video、audio latent均逐位一致,最大误差为0。124帧另完成3个
全新进程冷周期和3个同进程暖周期:18/18个full/split/resume prompt成功,6/6对最终checkpoint
逐位一致;暖态full峰值无阶梯增长。124重复矩阵最低整卡余量587.15MiB;362单次full最低
520.51MiB,只比512MiB门槛高8.51MiB,故仍不能宣传通用16GiB安全。124和362最终checkpoint
约4.10/2.66MiB;体积取决于空间与时间latent共同大小,帧数不能单独预测磁盘成本。暖态三组
split+resume总耗时均值约72.30秒,full约70.75秒,没有吞吐收益证据。所有patches_replace
仍拒绝,保存默认关闭,重启续跑与跨GPU均不支持。
当前ComfyUI v0.32.0-16@ddbaa8752又独立完成124/362两档的full、split和resume共6个真实prompt;
两档full与resume最终checkpoint SHA-256分别完全一致。124/362 full整卡余量为749.019/
548.502MiB;362仍只比512MiB门槛高36.502MiB,而且该档仅为256×256,因此不扩大16GiB安全声明。
AV Decode Safety真实128×128×22普通解码已输出22帧及finite 32kHz音频。源码/行为探针进一步
确认当前H3 Video VAE默认内部tile为256像素:大于该边界时,decode_regular也会进入内部空间分块;
公开decode_tiled(...)则委托普通解码并忽略传入的tile/overlap。因此当前core若缺少full-frame
维度与tile offset坐标合同,Advanced会把任一边大于256的普通或显式tiled解码报告为high-risk,
严格模式直接阻断。验证进程中曾直接把每个空间tile改为整图坐标:256×256单tile控制逐位一致,
但736×416的真人、线稿与平滑物体3/3重建均退化,平均SSIM下降0.0828、PSNR下降1.141dB,且
x/y接缝比没有一例改善,肉眼出现栅格和重影。这条直接修法已被否决,没有合入核心或稳定节点;
它也不能证明经过训练或不同架构的修复一定失败。当前仍不声称显式tiled更省显存或视觉等价。
计划式驱动音频注入的真实A/B同样给出负结论:基线额外语音约
2.26秒开始,完整强度处理后仍约2.10秒开始,因此它不是对白终止器;保留它只是为了受控研究完整
驱动音频latent重锚,默认旁路。
API与可导入前端示例:
examples/environment_audit_advanced_api.json/examples/workflows/H3_Environment_Audit_Advanced.jsonexamples/activation_chunk_advanced_api.json/examples/workflows/H3_Activation_Chunk_Advanced.jsonexamples/qwen_prefix_cache_advanced_api.json/examples/workflows/H3_Qwen_Prefix_Cache_Advanced.jsonexamples/studio_timeline_advanced_api.json/examples/workflows/H3_Studio_Timeline_Advanced.jsonexamples/context_ir_provider_advanced_api.json/examples/workflows/H3_Context_IR_Provider_Advanced.jsonexamples/selective_repair_execution_advanced_api.json/examples/workflows/H3_Selective_Repair_Execution_Advanced.jsonexamples/reel_delivery_advanced_api.json/examples/workflows/H3_Reel_Delivery_Advanced.jsonexamples/scheduled_audio_injection_advanced_api.json/examples/workflows/H3_Scheduled_Audio_Injection_Advanced_EXP.jsonexamples/av_decode_safety_advanced_api.json/examples/workflows/H3_AV_Decode_Safety_Advanced.jsonexamples/trajectory_probe_advanced_api.json/examples/workflows/H3_Trajectory_Probe_Advanced_EXP.jsonexamples/face_refine_advanced_api.json/examples/workflows/H3_Face_Refine_Advanced_EXP.jsonexamples/face_refine_anime_advanced_api.json/examples/workflows/H3_Face_Refine_Anime_Advanced_EXP.json
Face Refine示例故意不经过固定736×416的来源视频窗口:它要求输入已经是24fps且帧数严格满足
17n+5,直接保留原始宽高比,再把脸部crop送入512×512二次H3。默认真人示例使用固定哈希的
YuNet CPU检测;纯动漫另有H3_Face_Refine_Anime_Advanced_EXP.json,明确使用动漫专用EXP模型。
两者都要求先审核Plan preview;手工ROI仍可在缺少检测依赖时使用,Ultralytics自带模型须由用户
自行确认许可和类别。示例最终用Conditioning的mux_audio
重新封装,因此H3第二遍生成的音频被丢弃,原背景音乐、环境声和音效不会随脸部回贴被截断。
若Plan报告硬切,Conditioning默认拒绝一次处理,应先按镜头拆开。先看preview与Stitch报告,再
人工选择是否接受;该示例没有身份识别,也不构成“远景脸一定修好”或16GB通用保证。
本机真实机械探针使用FL2VA pruned INT8、Qwen3-VL NVFP4、双H3 VAE、736×416×124、12步
低去噪双时钟和锁定原音频。手工ROI链12/12步完成、总耗时176.93秒;自动YuNet链同样12/12步
完成、总耗时171.855秒,整卡峰值15,814MiB/16,380MiB。自动输出严格解码为124帧24fps、
32kHz双声道,文件SHA-256为
56df397c0789694ef9919da2593297785d8b0a2ca4e70439261154809b0526ca。手工链也输出124帧24fps
H.264与32kHz双声道AAC。来源与输出解码音频均为164,864个双声道采样,相关系数0.997751,
差异来自AAC重新编码,不能称压缩码流或PCM逐位一致。该来源取自上一轮已被非等比横向拉宽的
盲测素材,所以本次仅证明真实H3链、回贴、封装和音频保留能完成,绝不作为脸部修复质量证据。
Advanced:FL2VA × Ref2VA 小型混合模型实验
1.14.0 没有照搬“同时 mmap 两份完整模型再拼 state dict”的 loader。默认路线依次连接:
Hybrid Pair Inspector对两份用户已有 checkpoint 做完整 SHA-256 与结构检查;Hybrid Artifact Builder只读取选定 Ref2VA AdaLN 行,生成小型内容寻址 artifact;Hybrid Model Loader用 ComfyUI 原生 loader 加载 FL2VA,再把 artifact 应用到克隆 MODEL;- 如需 LoRA,必须接在 Hybrid Loader 之后;示例为隔离变量而使用 Stock20、无 LoRA。
P0 只接受以下精确文件,文件名相同但哈希不同也会拒绝:
minimax_h3_fl2va_pruned_int8_convrot.safetensors:e889202c41dafb67b10d67b97f0d8541508036a6090af23425a5c2615d03c47a;minimax_h3_ref2va_pruned_int8_convrot.safetensors:9255f52b6677845ad238f20dfaafa94727053694127ab7f255c048f0f9365779。
Builder 默认把 artifact 放在 ComfyUI 标准模型目录 models/h3_hybrid_artifacts/,不会覆盖源模型,
也不会生成另一份约19.5GiB的完整融合 checkpoint。默认
blocks_25_49_video_audio_exp artifact 为27.69MiB、100个精确offset-set操作;完整实物构建的
曲线拟合相对误差为4.9343e-5,最差已保存调制重构误差为2.3021e-5。当前 DynamicVRAM
实测仍产出原生ModelPatcherDynamic,普通clone、non-dynamic delegate与同设备deepclone均保留
patch和来源报告。
这些 recipe 都使用中性 _exp 名称。当前 ComfyUI 只有video/text/audio三种AdaLN tag,视觉
参考和目标视频共用video行,音频参考和目标音频共用audio行;所以静态替换不是“只改参考通路”,
也不能先验保证“FL2VA质量 + Ref2VA全部参考能力”。base_only是明确的stock FL2VA对照;
header_only_exp只作诊断,永远不能授权artifact构建。
Inspector 的 auto_match_reference_modalities_exp 可读取现有 Conditioning:额外图片/视频只选
video行,独立音频只选audio行,有声视频或图像+音频组合选video+audio行;仅有首尾关键帧、没有
额外reference或遇到未知reference类型时会拒绝,不会猜测“最佳配置”。这只是最小模态路由,
不是经过训练的质量自动选择。
真实Stock20顺序矩阵已覆盖视觉、音频和图像+音频参考,共15路成功生成。混合参考单案例中,
25~49 video+audio Hybrid的人脸余弦中位数为0.523,FL2VA/Ref2VA对照为0.449/0.443;说话人余弦
为0.868,介于FL2VA的0.467与Ref2VA的0.945之间,三路ASR均为零词错。这是值得继续多seed盲评的
Pareto候选,不足以宣布去油、身份更准或优于原生Ref2VA。精确显存轮询的最差余量只有41.34MiB,
因此所有Hybrid示例继续禁止标16GB memory_safe。可恢复矩阵工具会顺序释放模型、校验输出hash、
生成盲评包与matrix_summary.json/csv,并可选使用本地ASR、InsightFace和WavLM;不会自动下载模型。
详细记录见
Hybrid Model Advanced 验证报告。
Advanced:Hybrid artifact安全维护
MiniMax H3 Hybrid Artifact Maintenance (Advanced)不接受任意路径,而是连接同一个严格
Hybrid Pair Inspector的plan,重新推导唯一内容寻址路径。安全默认工作流是:
inspect_only + confirm=false + epoch=0:只校验artifact/sidecar、内嵌manifest、SHA、锁、temp 和已有事务,连内部事务目录都不会创建;quarantine_artifact_exp:完整校验后,把artifact和sidecar移到同卷_recycle,每移动一个文件 都原子更新并fsync事务日志;同一epoch重复执行只返回已完成状态;restore_quarantined_exp:使用同一epoch把完整隔离对还原,活动路径已被占用时拒绝覆盖;recover_interrupted_exp:当进程在两文件移动之间被终止时,按日志中逐文件SHA恢复到活动目录;quarantine_stale_build_residue_exp:只处理该plan对应、超过年龄门槛且锁owner未被证明仍活着的 孤立artifact/sidecar、build lock与匹配temp,隔离后Builder可安全重建。
它没有永久删除动作;符号链接、越界路径、非canonical manifest、损坏journal、哈希或大小不一致 均fail closed。隔离区仍占磁盘,用户应先审核再手动做最终清理。此节点不会清Comfy执行缓存、卸载 已加载MODEL或释放VRAM。安全说明见Hybrid Artifact维护文档。
Advanced:Hybrid组合兼容审计
MiniMax H3 Hybrid Compatibility Audit (Advanced)应放在最终MODEL链末端:
Hybrid Loader -> 可选LoRA -> 可选Sage -> Block Cache/Long Video/MultiKeyframe
-> 稳定或EXP采样设置 -> Compatibility Audit -> BasicGuider
可选positive输入用于核对Long Video/多关键帧的MODEL与Conditioning是否成对,并读取真实参考
模态。默认report_only即使发现问题也不阻断,且输出与输入是同一个MODEL对象;显式选择
block_hard_conflicts才会在已证明的机械冲突上报错。节点检查:
- Hybrid attachment身份、fingerprint、recipe、payload和全部offset-set条目;
Hybrid -> LoRA顺序,以及后加LoRA是否覆盖所选AdaLN行;- H3 Block Cache首/末block replacement和两个wrapper是否完整;
- Sage是否覆盖全部H3 blocks,未知attention forward patch会拒绝;
- Long Video与多关键帧的局部patch版本、Conditioning配对和双向互斥;
- stock、稳定双时钟/native AV、EXP多速率或未知采样路由;
- Loader记录的VRAM策略是否真实应用,以及执行当下整卡空闲、DynamicVRAM和主机commit。
Hybrid Loader现在只把必要的策略应用事实作为轻量MODEL附件随clone传递,不携带完整遥测树。
require_applied_vram_policy=true会拒绝未连接策略或report_only策略。512MiB与16GiB是可配置的
当前态门槛,不是下一次denoise峰值预测。通过审计只表示已知patch合同没有硬冲突,不能证明某个
recipe去油、画质更高、参考更准、音频更好或16GB不会OOM;AdaLN重叠LoRA在该精确组合完成数值与
质量矩阵前会被严格模式阻断。
2026-08-13又对完整组合做了RTX 4060 Ti 16GiB实测:736×416、124帧、Stock20、固定seed、
27.69MiB Hybrid artifact、KJ H3 Sage、T8 Block Cache默认0.12阈值、4GiB policy和严格审计。
三个全新进程冷态与同一进程三个暖态共6/6成功,每次均真实命中6/20,CPU cache 117.7MiB;
最差整卡余量766.38MiB,暖态基线最大正向变化82.94MiB,744张PNG和6份FLAC在六次运行间
解码后逐字节一致。这只让该精确本机profile通过机械/重复性门槛。
同日又完成同栈、同seed的Cache OFF三冷三暖,以及同一热进程三组OFF/ON交错对照。暖态完整链
平均由169.93秒降至129.19秒,节省23.98%;采样器平均由146.24秒降至105.31秒,节省27.99%,
每次ON仍命中6/20。但ON不是无损:相对OFF,视频平均SSIM 0.8432(最低帧0.7577)、8-bit
MAE 10.37,音频相关系数0.9207、SNR 7.99dB。OFF一个冷态峰值仅余239.40MiB,也未过512MiB
门槛。因此这里只确认该精确profile有稳定性能收益;后续六组单评审盲评仅通过主观冒烟门,
跨GPU和通用16GB安全仍未证明,memory_safe_claim=false与quality_validated=false不变。
进一步扩展到真人、机械龙、城市屋顶超级英雄三类视觉素材、每类两个seed,共6组ON/OFF质量
对照。5组暖态公平性能对照的完整链提速22.05%~28.47%,均值24.35%;采样器提速
27.94%~33.05%,均值29.07%,命中范围6~7/20。自动质量差异并不稳定:6组视频平均SSIM
总体为0.7020,组间0.5192~0.9373,最低单帧0.4774;音频相关系数均值0.9329,范围
0.8792~0.9806,没有一组bit-exact。统一六组单评审盲评现已完成:画面6平、声音6平。
评审观察所有B组颜色略浅,但揭盲后前3组B=OFF、后3组B=ON,不对应固定处理;逐帧客观统计中
B仅1/6组平均亮度更高、4/6组平均饱和度略低,因此不能归因于0.12。该结果通过这个精确
profile的单评审主观冒烟门,但自动差异范围仍明显大于0.08,不能证明统计非劣或感知无损。
因此0.12最多记为性能优先EXP候选,0.08仍是质量优先候选;节点与旧工作流默认值不变,
quality_validated=false和memory_safe_claim=false继续保留。
随后对差异最大的机械龙/超级英雄先试0.08与0.10,再把较保守的0.08扩展到完整
三类×两seed矩阵。0.10在超级英雄音频上出现非单调退化,因此不作为推荐证据。0.08的
5组有效暖态性能对照完整链提速9.05%~14.38%(均值12.35%),采样器12.20%~18.39%
(均值15.10%),命中3~4/20。6组视频SSIM均值0.8598、组间0.6013~0.9840、最低帧
0.5294;音频相关均值0.9635、范围0.8883~0.9927。视频和音频代理指标均为6/6优于
0.12,但仍非bit-exact,难例差异仍大。OFF对0.08随机六组单评审盲评现已完成并揭盲:
画面为0.08 1胜、5平、0负,唯一明确偏好来自真人第1组;评审认为真人有轻微差异、动漫
基本不可辨。音频为OFF 1胜、5平、0负,但唯一明确偏好来自两边都近似静音的第6组,且整体
判断为差异很小。这个结果通过了该精确profile的单评审主观冒烟门,因此0.08继续作为
“质量优先候选”;它不是统计非劣或感知无损证明,没有修改旧工作流或节点默认值,也不能称
通用推荐或16GB安全,quality_validated=false仍保持不变。
匿名模型侧盲审又抽查每边6个时间点和每组最大差异帧:6/6组均未见黑帧或采样帧结构坍塌,
视觉偏好全部记平局;12条音轨均无削波,但未进行真人听音,且超级英雄seed 2两边都近似静音。
该低置信度检查只能排除部分明显失败,不能证明运动/听感不劣,不能替代人类盲评,也不改变
quality_validated=false或任何默认值。
示例:
examples/hybrid_compatibility_audit_api.json;examples/workflows/H3_Hybrid_Compatibility_Audit_Stock20_EXP.json。
完整合同与issue code见 Hybrid Compatibility Audit文档。
Advanced:显存预留与 DynamicVRAM/VBAR 策略
MiniMax H3 VRAM Policy (Advanced) 是一份有类型的策略计划,不是独立执行的万能通配节点。
默认 report_only 只报告当前整卡空闲、PyTorch池、ComfyUI预留、AIMDO状态和主机commit余量;
只有把 vram_policy 输出连接到 Hybrid Model Loader 新增的可选末尾输入后,才会在 stock 模型
加载前应用。未连接时 Loader 的调用、输出MODEL和旧工作流路径不变。
提供两种显式实验策略:
fixed_total_reserved_exp:设置一个总预留值;当前16GiB Hybrid Stock20示例使用本机验证过的 4.0GiB保守起点;external_usage_plus_margin_exp:先显式全局卸载ComfyUI模型,再用整卡已用显存加用户余量计算, 并受最大预留上限约束。为了不把ComfyUI缓存模型误当成外部程序占用,此模式强制要求clean_before_load=true。
本实现与 ComfyUI-ReservedVRAM 的产品方向相同,但没有复制其代码,也没有调用
aimdo_control.init(...)。本机 comfy-aimdo 0.4.13 的 init 在库已加载时还会写入
nvml_pressure;本节点只调用底层 lib.set_simple_vram_headroom(...),同时更新当前ComfyUI的
总预留。它不会再次初始化设备,也不会修改启动参数 --vram-headroom。
预留显存能让ComfyUI/VBAR更早减少GPU权重驻留,降低贴着16GiB上限运行时被其他进程或瞬时分配
顶穿的概率,但不能推出“虚拟内存足够就不会OOM”。VBAR管理的是模型权重页;activation、attention
workspace、VAE/CLIP、CUDA上下文、其他GPU进程、pin memory和系统commit仍可能失败,VBAR本身也有
OOM返回路径。clean_before_load还是全局卸载,不是只卸载H3。策略在进程内持续有效,直到再次修改
或重启ComfyUI。
新示例为:
examples/hybrid_model_vbar_headroom_api.json;examples/workflows/H3_Hybrid_Model_VBAR_Headroom_Stock20_EXP.json。
示例使用4.0GiB固定总预留、不做全局清理、DynamicVRAM必需、512MiB当前门槛和16GiB主机commit 门槛。RTX 4060 Ti 16GiB、736×416、124帧、Hybrid Stock20真实A/B中,未启用策略最低余量 41.879MiB;2GiB为343.086MiB、3GiB为528.828MiB。4GiB三冷三暖全部成功,最差冷态余量 1028.117MiB、最差暖态余量1401.415MiB,连续暖态基线上升最大12.25MiB;同seed基线与 2/3/4GiB的124帧解码视频和PCM哈希逐位一致。完整证据见 VRAM Policy Advanced验证报告。
这只证明该GPU和该工作流的4GiB起点通过项目门槛,不覆盖0.6M/362帧、1080p、长视频、语音、
其他GPU或并发CUDA程序,因此节点报告仍把memory_safe_claim和never_oom保持为false。
EXP:来源视频音画重绘
1.11.0 新增的 Source AV 链不是时间轴上的视频拼接器,而是把已有视频与声音规范化、VAE编码
后作为 H3 的起始联合 AV latent。它支持以下实验组合:
该方向受到 ptmaster/ComfyUI-PT_H3ConcatAVLatent 的产品思路启发,但本项目没有复制、打包或
依赖该仓库代码;实现基于 ComfyUI 原生 GPL AV latent 契约与本项目已有的校验、mask和时间轴
基础设施独立完成。当前 ComfyUI 已自带通用 LTXVConcatAVLatent,本项目新增的是 H3 专用的
媒体规范化、严格时钟检查、双流模式和风险报告,而不是重复注册一个无校验的通用包装器。
video=remix, audio=lock:重绘画面,尽量保留来源音频 latent;video=lock, audio=remix/regenerate:尽量保留画面,重绘或重生声音;- 双流
remix:画面和声音分别使用自己的 denoise mask; regenerate:对应流的 mask 为1,但在真实矩阵通过前不把它描述成完全摆脱来源信息。
推荐连接:
- Core
Load Video -> Get Video Components; - frames、audio、fps 进入
Source Media Window,选择画布、起点和124帧窗口; - 输出 frames/audio 分别进入标准
VAE Encode与VAE Encode Audio; - 两个 latent 进入
Source AV Prepare; - 使用它的
av_latent替换SamplerCustomAdvanced.latent_image,同时接到双时钟节点的av_latent;Conditioning 仍只负责 prompt 和媒体条件; - sampler 输出继续使用现有
AV Decode -> Create Video -> Save Video。
Source Media Window 会把目标帧数向上对齐到 17n+5,按来源 fps 选择最接近的帧,并输出
精确时长的32kHz双声道音频。视频不足默认拒绝;用户显式选择 hold_last_frame 才会保持末帧。
音频不足默认补静音并写入报告;不连接音频时会生成报告标记的静音轨,供 Audio VAE 构造合法
联合 latent。这个节点接收的完整 IMAGE 已经在内存中,因此不能把它称为长视频流式或低内存解码。
Source AV Prepare 严格要求视频 [1,24,T,H,W]、音频 [1,32,2,T40]、视频
T=5n+2,并校验音频长度是否等于 round((17n+5)*40/24)。音频不一致时只能按用户选择的
strict、裁切或补零生成尾部策略处理,不会静默修改。视频元数据优先保留,非冲突音频元数据
会合并,冲突字段和所有时间调整都会写入 report。
当前没有证据证明 0.25/0.5/0.75 会形成视觉上严格单调或线性的重绘权重,也没有完成真实
H3画质、身份、动作、音频保真和16GB显存矩阵。因此三个节点均为 EXP,不标 memory_safe、
“任意视频”或“精准局部重绘”。API与前端示例分别为:
examples/source_video_repaint_api.json;examples/workflows/H3_Source_Video_Repaint_Stock20_EXP.json。
本机已用真实来源有声视频、FL2VA pruned INT8、Qwen3-VL NVFP4 与双 H3 VAE 完成一次 256×256、124帧、1步机械整链检查;结果成功保存为24fps H.264 + 32kHz stereo AAC,视频与 音频时长均约5.167秒。该探针只证明加载、双VAE、latent组装、采样、双解码和封装能连通, 不证明1步画质。运行期间整卡最低空闲仅44.52MiB,远低于512MiB安全门槛,所以16GB环境 仍属于高风险实验档;在多模式、多强度、三冷三暖及质量矩阵完成前不提供显存安全承诺。
Advanced:首尾帧 + 多个中间关键帧
MiniMax H3 Keyframe Plan (Advanced) 与 MiniMax H3 Multi-Keyframe Conditioning
(Advanced) 是一条完全独立的 FL2VA/Hybrid 实验路线。稳定
MiniMaxH3AudioConditioningT8 没有增加输入、改变默认值或修改执行路径;已有工作流继续按
原方式运行。Advanced 路线当前要求同时连接首帧与尾帧,并可链式加入 1~7 张中间图,位置可用
24fps 绝对帧、秒或 0~100 百分比表达。重复位置、首尾端点、越界和无法识别的底层补丁会直接
报错,不会静默改成别的位置。
推荐接线:
- 多个
Keyframe Plan Advanced按时间顺序或任意顺序链起来,最终由节点解析后排序; - MODEL、CLIP、双 VAE、首帧、尾帧和最终 plan 接入
Multi-Keyframe Conditioning Advanced; - Advanced 输出的
model接双时钟节点,positive接BasicGuider,av_latent同时接双时钟 节点与SamplerCustomAdvanced.latent_image;解码和保存继续使用原节点; - 如果还连接普通图片/视频/音频参考,使用
Hybrid,提示词中的 Picture/Video/Audio 序号仍按 节点报告的媒体顺序编写。
每个时间线关键帧的 visual_noise_aug 是 MiniMax H3 底层原始混噪参数,不是“参考强度百分比”。
默认先用 0.999;更低数值可能削弱锚点,也可能改变动作、身份或构图。非统一数值只会在克隆的
MODEL 上同时作用于对应条件 latent 的混噪与对应 packed timestep 行;如果当前 ComfyUI 的内部
契约不能被验证,节点会 fail closed。普通非时间线视觉参考目前仍共用
reference_visual_noise_aug,并不是每张普通参考图独立控制。
本机真实检查使用 RTX 4060 Ti 16GB、FL2VA pruned INT8、Qwen NVFP4 与双VAE。736×416、
124帧、1步下,0/1/3/5张中间帧各完成3次冷启动和3次暖运行,共24/24成功;每个视频都是
124帧/24fps,独立音频均为finite 32kHz stereo,连续运行没有显存基线阶梯增长。该矩阵最差
余量672.95MiB;最大7张中间帧(连同首尾共9张)的单次上限探针也成功,余量1819.42MiB。
这些只是机械/内存证据,不能推导任意配置安全;另一条256×256、22帧、非统一raw值探针仅余
202.82MiB,非双时钟、Block Cache兼容探针也低于512MiB,所以仍不标16GB memory_safe。
Stock20质量检查覆盖3类素材×3个seed、每条首/25%/50%/75%/尾共45个锚点:42/45在自动
全局相似度代理中命中目标±2帧,全部27个中间锚点命中,9/9顺序正确,未检出黑白/灾难跳变代理。
这是自动代理加人工查看,不等于身份、动作或盲评保证。单独改变中间一帧的
[0.999, 0.995, 0.990, 0.980, 0.950] 时,其他锚点基本稳定,证明不是全局覆盖;但目标相似度
Spearman rho=0.70,未达到预设 0.8 门槛且不严格单调。因此示例继续默认全部 0.999,
该字段只称 raw EXP,不称线性参考强度。4步 FL2V Turbo机械可运行,但当前样本明显融化,
Advanced质量推荐仍是Stock20;加速档需要独立质量验证。
报告中的 added_rows_vs_target_video_rows_percent 只是 DiT packed视觉条件行比例,不是显存
百分比;它不包含CLIP图像处理、普通refs、VAE峰值、allocator/offload行为或attention的非线性交互。
Advanced节点也不允许与本项目Long Video MODEL补丁或第三方全局Motion Context/PackedLayout
补丁叠加。完整边界、矩阵和否决项见
docs/MULTIKEYFRAME_ADVANCED_VALIDATION.md。
API 示例:examples/multikeyframe_advanced_api.json;可拖入画布的示例:
examples/workflows/H3_MultiKeyframe_Advanced_EXP.json。导入后需要替换四张占位图片;两个
中间节点均默认 0.999,低值只建议在固定素材/seed/采样设置下做A/B。
EXP:视觉参考强度(Ref2VA 纹理 A/B)
MiniMax H3 Visual Reference Strength (EXP/T8) 是轻量 Conditioning 后置节点。把现有
MiniMaxH3AudioConditioningT8.positive 接入它,再把它的 positive 接到
BasicGuider.conditioning;av_latent、MODEL、VAE、采样器、调度器、shift 和步数仍走原接线。
节点把 reference_strength 原值写入 ComfyUI 当前支持的
minimax_visual_cond_noise_aug,不会产生随机数或增加 DiT 前向次数。
建议固定参考图、prompt、seed、尺寸和采样设置,从 0.999 基线依次比较 0.995、0.990,
再谨慎测试 0.980 / 0.950。降低数值可能减少参考纹理被过度复制或平均化,但不能称为
“修复油感”;它也会全局影响参考图片、参考视频以及 first/last-frame keyframe。0.950 及以下
属于激进实验,可能明显损失身份、动作、构图和首尾帧一致性。没有视觉参考时节点会明确拒绝,
只有音频参考也不会误报生效。当前核心只支持一个全局强度,不能为每张参考图单独设置。
API 示例:examples/ref2va_visual_reference_strength_exp_api.json;可拖入画布的工作流:
examples/workflows/H3_Ref2VA_Visual_Reference_Strength_EXP.json。前端示例使用完整
minimax_h3_ref2va_int8_convrot.safetensors、736×416、124帧和20步基线,导入后先替换
占位参考图。该参数本身不要求这些采样值,接入旧工作流时保持用户原有 sampler/scheduler 即可。
本机单参考、单 seed 的完整矩阵已经跑通:无节点与显式 0.999 的解码视频/音频最大绝对
误差均为0,0.950 重复两次也逐帧逐样本一致。该案例没有得到“数值越低越去油”的证据:
0.995~0.950 会改变姿态、表情、动作轨迹或构图,0.950 的输出偏移最大,面部高频代理还
低于 0.999。因此节点只适合受控 A/B;不能把某个默认值宣传成稳定修复。当前矩阵的最小
显存余量约35MiB,远低于项目512MiB安全门槛,也不能据此称16GB安全档。
EXP:对白结束后保留完整背景声
这里处理的是一个与普通语音裁切不同的问题:H3 的最终音频往往是对白、音乐、环境声和音效的 同一条立体声母带。如果模型在目标台词之后继续念叨,直接把整条母带裁到台词结束会同时删除 后续音乐、环境和音效;当前节点不会用这种方式假装修复成功。
1.12.0 提供三层、默认拒绝猜测的实验能力:
Dialogue Boundary Analyzer使用用户本地的 faster-whisper,在且仅在 ASR 中找到一个连续、 完整且唯一的目标词序列时报告边界。目标重复两次、目标被额外台词插断或未找到时都不选 “第一个/最后一个”;尾部能量只报告“还有信号”,不会把音乐或音效误判成语音。- 推荐的确定性路线是“对白 stem 与背景 stem 分开生成/准备”。
Dialogue Safe Master要求 上游传入已验收的独立对白,并将独立音乐、环境和 SFX 放到目标 sample 时间线上。默认strict不会暗中循环、补零或截断任何已连接 stem;只有用户显式选择策略才会调整。最终 母带保持完整时长,对白结束后背景 stem 继续存在。 - 如果创作流程必须走联合 H3,可使用两遍生成:先准备一条不含对白、完整时长的背景底轨,
再由
Timed Background Bed Lock编码成音频 latent;边界之前允许 H3 生成对白,边界之后 默认tail_denoise_strength=0锁住背景底轨。它保留原视频流和已有视频 mask;已有音频 mask 只作为上限,不会被节点偷偷放宽。
真实机械探针使用当前 FL2VA pruned INT8、256×256、124帧、稳定双时钟4步。标准124帧 Audio
Window 经真实音频 VAE 编码得到206步,而联合 H3 时钟需要207步,因此 strict 会正确拒绝;
示例显式使用 fit_reported,记录补1个零 latent 步。4步采样后,2秒前可编辑头部相对底轨
latent 的平均绝对变化为 0.50223,2秒后锁定尾部的最大绝对误差为 2.38e-7,在 1e-6
绝对容差内保持。解码对照同时发现音频 VAE 的时间感受野会让边界后最初约0.3秒仍受头部变化
影响;从2.3秒起100ms窗的最大差异降到约 3.97e-4 或更低。这证明 mask 机械生效,但不是
“样本级硬切”“绝对无接缝”或主观质量保证。
边界分析也在此前真实 Joint 两人失败样本上复测:一个样本的目标台词被额外内容插断,节点
返回 target_not_found;另一个样本在17个多余词后出现唯一完整目标,节点报告7.00–9.72秒、
clean_exact=false,而不是自动裁切或验收。ASR 会漏掉含混、非词汇人声,因此报告不是模型
真值。
当前没有集成自动源分离。机器虽安装了 audio_separator 包,但没有已选择/校验的分离权重;
常见 vocal separator 以音乐人声/伴奏分离为目标,不等价于“只移除目标人物的额外对白”,还
可能删除原本想保留的歌声或损伤音乐/SFX。必须先用合成可知真值与真实 H3 混音建立泄漏、
音乐损伤和听评门槛,未过门槛前不会靠模型名猜一个默认分离器。
示例:examples/dialogue_safe_master_api.json、
examples/workflows/H3_Dialogue_Safe_Master_EXP.json,以及两遍 H3 的
examples/dialogue_timed_bed_lock_api.json、
examples/workflows/H3_Dialogue_Timed_Background_Bed_Lock_EXP.json。所有输入文件都是占位符;
底轨必须是不含对白的独立完整背景,而不是已混合的 H3 最终母带。
EXP:原生语音、参考音色与逐句对白
这套节点已经完成真实 H3 生成检查,但仍标记为 Experimental。它不是额外的确定性 TTS
模型,而是把联合音视频 H3 用在 32/64/128 像素暗色视频画布上,并只保留解码音频。小画布
降低 activation,不会消除 H3、Qwen3-VL 和双 VAE 权重;因此不能把“小画布”解释成
“16GB 必然安全”。
推荐连接方式
- 将现有工作流的 H3
MODEL、Qwen3-VLCLIP、video VAE 和 audio VAE 直接接到Speech Studio;节点内部没有隐藏加载器,也不会再加载一份 32B 文本编码器。 - 合成音色使用
Voice Profile.voice_mode=described_voice;参考音色使用reference_voice并连接 ComfyUIAUDIO。参考模式必须显式确认已取得权利,节点只在 当前工作流内保存 CPU 音频。只有用户主动连接Voice Library Save才持久化;同名默认 拒绝覆盖,Delete只移动到本地可恢复回收目录。 - 使用
Speech Plan明确输入实际台词、语言、演绎方向和渲染时长。当前质量探针使用 20步res_multistep + simple;未经 A/B,不把视频 Turbo LoRA 静默套到语音上。 - 参考模式可能在目标台词前生成参考内容或无关引导声。需要严格文本输出时启用
trim_exact_target,并指定本地 faster-whisper CTranslate2 模型;只有 ASR 找到完整目标 token 顺序时才裁切,找不到会在报告中拒绝,不做模糊猜测。 - 两人/三人对白采用“每个 turn 独立生成 → Assemble 绝对 sample 时间线”的方式,支持
单句重做、停顿、重叠、声像和最终混合。联合一次生成多人身份尚未通过角色交换/串音门槛,
Joint Dialogue Conditioning仅保留 EXP;两次真实探针都产生大量额外语音,不能作为稳定模式。 - 长文本使用
Long Form Start/Resume -> Speech Studio -> Long Form Accept。每次排队只生成 manifest 的下一段;接受后先原子写 safetensors 和可播放 FLAC,再推进 manifest。重新排队 会读取新指纹继续下一段,完成后用Long Form Compose合成。当前段正在采样时用 ComfyUI Stop;request_cancel是段与段之间的合作式取消,不是后台线程硬中断。 Performance Direction的 pace/pitch/energy/intensity 是未标定提示方向。需要精确输出时长或 确定性移调,使用ADR Exact Fit;超出显式安全变速范围会拒绝,不会静默强拉伸。
可选校验模型
- ASR:
faster-whisper+ 本地 CTranslate2 模型。输入可用绝对目录,或放在ComfyUI/models/TTS/<folder>。本机已安装并校验 pinned 多语言 small 模型;一条中文 Stock20 探针的原始 CER 为 7.14%,但远未达到每语言30条的稳定门槛,不能宣传“中文已验证”。 - 说话人:
transformers+ 本地WavLMForXVector目录,同样支持绝对目录或models/TTS/<folder>。report_cosine只报告余弦,不控制结果;require_threshold的阈值 依数据集而异,不能把单一默认值描述为通用真假判定。 - 两项模型都在 CPU 延迟加载,并可在每次校验后卸载。插件不自动下载,也不随仓库分发权重。
释放策略
| 策略 | 实际含义 |
|---|---|
keep_loaded |
保持 ComfyUI 模型缓存,适合同一工作流后面还要继续生成 H3 |
clear_execution_cache |
请求清理执行缓存;不声称只卸载 H3,也不等于显存归零 |
unload_all_models |
强制全局卸载 ComfyUI 模型;会影响工作流中其他已加载模型,只有用户显式选择才执行 |
所有正常完成的校验、拒绝和裁切结果都会返回 JSON 报告。Speech Studio 会在 Conditioning
之前自动插入 Abnormal-Exit Guard:若取消、非 OOM 异常或上游失败使 Finalize 未执行,prompt
结束回调会补发所选异常释放请求并写入 output/minimax_h3_t8/speech_recovery。当前 ComfyUI 对
识别出的 CUDA OOM 本身也会全局卸载。真实“采样成功后故意在 ASR 报错”的探针已触发该回调并
回落显存;这仍不是所有 ComfyUI 版本、驱动崩溃或进程强杀场景的绝对 finally 保证。
最终音频默认使用 -1 dBFS 的衰减式峰值保护,只降低超限音频,不把较安静的语音自动放大。
2026-08-10 本机真实探针
测试环境为 RTX 4060 Ti 16GiB、Windows、ComfyUI cbbc9dab1、FL2VA pruned INT8、
Qwen3-VL NVFP4 和两套 H3 VAE;采样为 stock 20步,不是 Turbo 质量外推。
| 探针 | 结果 | 不能推出什么 |
|---|---|---|
| 描述音色 | 10.125秒英文;ASR逐词一致;同 seed 重复 PCM 完全一致 | 不代表不同硬件/版本位级一致 |
| 参考音色 | 原始10.125秒含无关前导;精确目标裁成4.465秒后英文逐词一致;同 seed 重复 PCM一致 | 不代表所有参考都能自动干净裁切 |
| 早期说话人信号 | 同参考生成样本 WavLM余弦0.949587;刻意不同的男性负对照0.484272 | 仅是随后10人集合前的单对照,不单独作为结论 |
| 两人对白 | 两段独立生成后合成9.81秒;合并台词逐词一致;两段余弦0.247203 | 不证明多人联合生成、角色长期稳定或重叠对白自然度 |
| 显存/释放 | 整卡峰值约16262–16316MiB;显式全局卸载后隔离服务 torch pool 15秒回到32–64MiB | 观测最小余量约64–118MiB,低于512MiB门槛,不能标 memory_safe 或“绝不OOM” |
| 异常释放 | Stock20采样完成后故意制造上游校验异常;Finalize未执行,生命周期 Guard 仍请求全局释放并落盘恢复事件 | 不代表进程强杀、驱动崩溃或所有旧版 ComfyUI 都可回调 |
| 三冷三暖 | 三个冷进程均成功;同进程三次 warm 峰值没有阶梯抬升,但 keep_loaded 基线驻留增加约15.1GiB |
最小余量仍只有约17MiB,16GB安全档继续否决 |
| 中文 | 一条10秒中文 Stock20 成功,原始 CER 1/14 = 7.14% | 样本数1,未过每语言30条门槛,不代表中文/多语言稳定 |
| 10人音色集合 | 10名有许可 LibriSpeech 说话人、90个冒充者配对;10/10 genuine 高于 impostor 95百分位 | 只有每人一句,ABX包尚无人类听评,仍不能称“高保真克隆” |
| 演绎控制 | 同seed 7案例全部生成;语速、F0和响度三组单调门槛均失败 | pace/pitch/energy/intensity 仍是未标定 prompt 方向 |
| 长文本状态 | 真实32秒四段输出;另一个四段工作流连续排队推进并完成哈希合成;32秒/2分钟/10分钟合成状态矩阵样本数与SHA均精确 | 2/10分钟只验证持久状态,不证明真实H3长期音色连续性 |
| ADR | 安全范围内变速/移调后输出误差为0 sample,超范围明确拒绝 | 不证明音素边界或视频口型同步 |
| Joint多人 | 两次两人Stock20都完成生成,但WER分别225%和237.5%,含大量额外语音 | 稳定Joint路径明确否决,推荐逐turn合成 |
仍未完成:每语言30条中文/多语言矩阵、至少3名听者的盲听ABX、情绪/语速/音高可感知标定、
真实H3的2分钟/10分钟音色连续性、当前采样中的后台硬取消、token/帧级实时流、ADR音素/口型
同步、持久音色库跨进程/网络盘压力测试和跨GPU验证。16GB memory_safe、高保真克隆和稳定
Joint多人均未放行。
API 与前端示例除原有描述音色、参考音色和逐turn对白外,新增:
speech_performance_adr_api.json/H3_Speech_Performance_ADR_Stock20_EXP.json;speech_longform_resume_api.json/H3_Speech_LongForm_Resume_Stock20_EXP.json;speech_longform_compose_api.json/H3_Speech_LongForm_Compose_EXP.json;speech_voice_library_save_api.json、speech_voice_library_load_api.json及对应前端工作流;speech_voice_library_delete_api.json、speech_vram_preflight_api.json、speech_longform_control_api.json及对应维护工作流;speech_joint_dialogue_exp_api.json/H3_Speech_Joint_Dialogue_Stock20_EXP.json,仅用于复现 已知质量风险,不作为推荐模板。
参考与Joint示例导入后必须替换 speech_reference*.flac 占位音频;完整环境、输出哈希、显存和否决项见
语音真实生成验证报告。
声音参考必须获得说话人授权,不得用于未经同意的冒充;生成内容应按适用许可和平台规则 披露为 AI。MiniMax H3 权重许可独立于本仓库 GPL 代码,插件不分发任何权重。请同时阅读 MiniMax H3 官方许可证。
EXP:分段长视频续写
T8/MiniMax H3/Long Video/Experimental 是与原有14个节点隔离的实验子系统。它没有
安装或依赖 ComfyUI-H3-Motion-Context,也不会在插件导入时全局修改 ComfyUI 的
PackedLayout 或 MiniMaxH3.extra_conds。Long Video Conditioning 会克隆输入 MODEL,
只在该克隆上挂接一个 extra_conds object patch;不带本项目长视频标记的 conditioning
直接旁路,因此稳定 Conditioning、Hybrid、Still 和其他 H3 工作流不受该补丁影响。
设计研究参考了 NikoDemon80 的
ComfyUI-H3-Motion-Context
固定提交 15fc6a7 所展示的内部关键帧和音频 timeline 思路;本项目没有复制或捆绑该插件,
重新实现了局部模型补丁、多参考合并、直接 latent tail 和有校验的状态系统。上游代码采用
GPL-3.0-only,本项目代码采用 GPL-3.0-or-later;二者均不包含模型权重。
当前链路:
- Planner 输入固定
chain_id,把segment_index从0开始逐段递增;默认上下文为22帧。 - Previous Context 在第0段自动返回空值;第N段只读取
output/minimax_h3_t8_long_video/<chain_id>/segment_(N-1).context.safetensors,不会猜“最新文件”。 - Long Video Conditioning 直接截取 sampler 的视频 latent 尾部作为 5/22/39 帧运动条件,
不解码上一整段 IMAGE,也不做视频 VAE 重编码;
video_and_audio还会把音频 latent 尾部 放到当前目标头部的正确 timeline,video_only则只续运动。 - sampled AV latent 同时进入 Context Save 和现有 AV Decode;Context Save 只保存最多39帧 所需的 CPU tail,并使用 tensor SHA-256、metadata 校验、同目录临时文件和原子替换。
- Planner 的
trim_start_seconds/final_duration_seconds连接现有 Output Trim,同步删除 重建的画面与音频头部,再交给 ComfyUI 原生CreateVideo -> SaveVideo。该链按帧数裁音频 tensor,并避免 VHSapad + -shortest在独立 MP4 上造成约79–90ms声轨短缺。
针对60秒实测暴露的逐段人物年龄/身份漂移,Long Video Conditioning 在输入末尾追加三个高级项, 且默认值继续严格保持旧工作流:
first_frame_reuse=segment0_only:默认值;first_frame只作为第0段精确关键帧,续写段仍只用前段尾部。first_frame_reuse=persistent_identity_reference:只在续写段增加非时间轴身份参考,同时保留 5/22/39帧运动上下文;第0段仍由原始first_frame精确控制。persistent_identity_image:可选的续写专用身份裁剪图,建议清晰正脸或上半身;不会改变第0段。persistent_identity_strategy=single_reference:兼容默认。连接身份裁剪图时优先只用裁剪图,未连接时 回退到完整first_frame。persistent_identity_strategy=scene_plus_identity:续写段把完整first_frame和身份裁剪图作为两张 独立参考图;未连接persistent_identity_image会失败关闭。持续参考与用户ref images合计最多9张,task_type应使用auto或Hybrid。persistent_identity_interval=1:高级实验项。1保持每个续写段都注入双参考的现有行为;2只在 续写段1、3、5、7……注入,间隔段只使用有界运动/音频上下文。它只是固定频率控制,不会检测 身份漂移,也不能保证减少参考后动作更自由。
新输入全部追加在旧schema末尾,因此旧API JSON和旧widgets_values前缀不变;缺省interval为1。
方案不加载新模型、
不保存完整历史视频,也不改稳定采样;但每个续写段会多1或2个reference block及对应VAE编码,序列、
耗时和显存可能上升,也可能与运动上下文竞争。原来的“完整首帧单参考”在32秒/8段仍从首续段
0.613漂到末段0.134,因此已经被否决为长期身份方案。
重构后的短链验证分两步。身份裁剪图单参考在三seed足球/手臂高运动探针中,相对旧行为的配对余弦 均值/中位数为+0.08272/+0.09845,54/59帧更高;但相对完整首帧单参考有一个seed回退,不能单独作为 统一答案。随后“场景+身份裁剪”双参考完成三seed、6/6条双段冷链,所有12次采样成功且每组第0段 逐比特一致;相对旧行为的余弦均值/中位数为+0.11278/+0.11628(56/59更高),相对完整首帧为 +0.08454/+0.09455(52/60更高),三个seed的中位收益均为正,接触图未见冻结或新伪影。
最终用seed 2608097101完成一条独立32秒/8段“场景+身份裁剪”链:8/8次采样一次成功,无OOM、
重试或缓存复用,成片精确768帧/32.000秒。七个续写段的身份余弦中位数为
0.699/0.639/0.644/0.609/0.737/0.601/0.574,末段/首续段保持率0.821;相对旧行为58个配对样本
均值/中位数+0.42945/+0.46670,相对完整首帧63个样本+0.33771/+0.35802。最低空闲显存
3906.07MiB,post-15秒占用回到1231.63MiB;这只证明本机固定档的一条链,没有通用无泄漏或显存
安全含义。预设动作门槛没有全过:第2、5个续写段flow-P90仅为旧行为0.546/0.538,第5段MAD比
0.647;2fps抽帧仍显示足球、手臂和姿态持续运动,不是冻帧,但动作幅度/轨迹受限警告成立。
因此功能继续标为EXP并默认关闭,暂不进入三seed 60秒矩阵;下一步先做未参与调参的多seed/多素材
32秒复验并解决动作强度回退,不能宣传为“身份锁定”“动作无损”或“显存安全档”。
后续先做了同一开发案例的persistent_identity_interval=2对照。该链8/8段一次成功,成片精确
768帧/32.000秒,运行825.92秒,整卡峰值12,744.43MiB、最低余量3,635.07MiB,post-15秒回到
1,231.63MiB。身份末续段/首续段比为0.525,低于每段注入方案的0.821;相对旧行为的续写
flow-P90仍在第4/5/6段降到0.648/0.457/0.652,动作地板继续失败。失败段并不只对应参考注入段,
说明简单奇偶段降频不是稳定的“解除动作约束”方案。该控件因此只保留为EXP研究项,默认仍为1。
随后使用未参与策略选择的新人物、seed和动作完成两条32秒/8段冷链;两条均是736×416、124帧
窗口、22帧AV context、4步Stock+DynamicVRAM h2、每段双参考、段间unload_all_models:
- 旗袍扇舞/鼓点:8/8成功,运行872.95秒,峰值12,170.76MiB、最低余量4,208.74MiB,post-15 回到1,231.63MiB。逐段时间线保持同一人物、服装与院落,扇舞持续且最差接缝未见硬切;稀疏 人脸抽样的末/首续段比约0.937。音频最大半秒响度差2.68dB、首末高频变化-3.41dB,但要求 120 BPM时Librosa描述性估计约104.17 BPM,不能判为严格节奏遵循通过。
- 双人物对白:8/8成功,运行862.41秒,峰值12,227.57MiB、最低余量4,151.93MiB,post-15同样
回到1,231.63MiB。两个源人物在8段×10个抽样点均同时检出,末段仍保留两人;但第6→7段从
全身景别跳到近景,构图连续性失败。经校验的
faster-whisper-small.en在32秒内持续识别两句 目标对白,两句最佳词错误率均为0,但内容主要重复这两句,不是自然长对话。裁脸后的嘴部代理 检测覆盖约85.4%/27.1%,与音频包络相关仅0.042/-0.008;由于没有训练型SyncNet证据,口型同步 仍是未证实项,不能宣传稳定。
用户当前日常目标约30秒,因此本轮把32秒作为完整链验收长度,保留现有任意总时长/60秒能力,但 不再要求新增60秒实跑。现有证据支持“本机固定配置下32秒分段机械与显存稳定”,不支持把节奏、 镜头接缝或口型质量描述成已经普遍解决。跨GPU、高分辨率32秒、真人盲听/盲评和训练型唇同步评分 仍需独立资源与硬件门槛。
双参考身份续写示例
可直接导入的 examples/workflows/H3_Long_Video_Background_22F_ScenePlusIdentity_EXP.json
基于后台长链示例,专门演示“完整场景首帧 + 人物身份裁剪图”的双参考续写:
- 完整场景图连接 Long Video Conditioning 的
first_frame,继续精确控制第0段首帧。 - 同一人物的清晰正脸或上半身裁剪图连接
persistent_identity_image;续写段同时保留完整场景与 身份裁剪两个独立 reference block。 - 节点预设
task_type=auto、first_frame_reuse=persistent_identity_reference、persistent_identity_strategy=scene_plus_identity和ref_image_size=match。若身份图未连接,scene_plus_identity会明确报错,不会静默退回单参考。 persistent_identity_interval=1保持当前每个续写段都注入双参考的已验证基线;提高该值只适合 受控对照,当前2没有通过动作复合门槛。- 示例沿用 736×416、124帧内部窗口、22帧上下文和4步采样的实验基线;导入后必须先替换两张 示例输入图,并检查模型、VAE、CLIP、LoRA 与输出目录是否符合本机环境。
如果升级节点后画布仍看不到 persistent_identity_image、persistent_identity_strategy 或
persistent_identity_interval,先完整
重启 ComfyUI 再导入该工作流;仅刷新浏览器不会重新加载 Python 节点 schema。
身份裁剪图应只保留一个主要人物,尽量包含稳定可辨识的脸部、发型和上半身服装,不要用多人合照、 过小人脸或严重遮挡图。这个工作流只提供已验证接线与参数基线;它仍是 EXP,32秒单链虽显著改善 身份保持,但动作幅度门槛未全部通过,也没有证明所有素材、时长和显卡都不会 OOM。
中间段有一条重要约束:裁后输出必须一直保留到本次 sampler 的末尾,否则下一段会从用户
没有看到的隐藏尾帧续写。Planner 因此把可继续段的有效时长量化到当前 H3 17n+5 网格;
只有最后一段开启高级项 is_final_segment=true 后,才允许按请求时长裁掉隐藏尾部,同时
自动输出 save_context=false,防止把这个最终裁尾误用为后续上下文。默认4.25秒、22帧上下文
时,第0段为124帧(约5.167秒),后续可继续段为裁头22帧后保留102帧(4.25秒)。
1.4.0 的手工 P1 状态文件采用固定槽位:重抽第N段只覆盖 segment_N,而第N段读取的仍是 segment_(N-1);
中断或 OOM 前没有完成原子替换时,不会破坏上一段。状态只保留尾部,不缓存完整历史 IMAGE
或完整 AV latent,因此链长增加不会让当前 H3 序列或状态内存随历史总时长线性堆积。
1.5.0 进一步提供推荐的“候选→接受”状态链:
- 用
Accepted Context代替旧Previous Context;第0段仍为空,第N段只读取 manifest 中 已接受的 N-1,并输出父候选 ID 与 manifest revision。 - 解码、裁头后接
Save Candidate。它以绝对24fps时间轴计算音频起止 sample,原子写入 当前候选 MP4、可选 continuation context 和candidate.json,不会改变已接受历史。 Review & Accept默认accept_candidate=false,可直接预览候选。满意后改为true再排队; 同一候选重复提交是幂等的。若有意替换已接受的第N段,必须显式选择replace_and_invalidate_following,manifest 会保留失效历史,但 N 之后都必须重新生成。- manifest 写入有同目录锁、SHA-256、临时文件原子替换和一代有效备份。主清单损坏时可回退 上一修订;回退可能丢失最后一次接受记录,但候选文件仍保留,可重新提交而不必重新采样。
- 最后一段必须由 Planner 标为 final。所有段接受后,用
Compose Accepted校验连续帧/sample 边界和文件哈希,再流式生成最终 MP4;默认不会把未标 final 的半成品误当成完整长片。
1.6.0 新增推荐的“总时长→人工审核→自动恢复下一段”路线:
Chain Orchestrator只输入一次目标总时长。时长先量化到24fps的精确总帧数,再拆成固定17n+5内部窗口;默认窗口124帧、上下文22帧。总时长增加只增加片段数,不增加单段内部窗口。- 第0段有效新增124帧,后续完整段有效新增102帧;最后一段自动标记 final 并精确裁到剩余帧。
例如60秒严格规划为14段:
124 + 12×102 + 92 = 1440帧,所有段内部仍采样124帧。 - manifest 已接受段数就是恢复点。重新打开工作流或执行失败后,节点会输出第一段未接受的
segment_index、时间轴、裁切参数、prompt 和 seed;已接受时间结构与新设置冲突时明确拒绝。 global_prompt为默认提示词;高级segment_prompts_json可按段覆盖 prompt、seed 和镜头备注。 seed 支持固定、递增或按 chain/segment 哈希派生,同一计划可以确定性复现。steps、视频/音频 shift、sampler 和 scheduler 也由同一个 Orchestrator 同时连接采样节点和候选元数据;用户不必 在两处重复填写,已接受链改变采样身份时会在下一次采样前拒绝续接。- 最后一段接受后,节点输出完整进度并阻断下游采样,避免多生成一段。它不会在一个节点里保留 完整历史 IMAGE/AUDIO tensor,也不会通过后台循环绕过 ComfyUI 的模型管理。
1.7.0 在不移除上述人工审核路线的前提下增加一条显式后台路线。加载
examples/workflows/H3_Long_Video_Background_22F_EXP.json 后,Background Start 的默认值仍是
review_only;只有主动改为 auto_accept_and_continue 才会跳过人工预览,自动接受每个成功候选。
终端节点每次只排入一个下一段 prompt,不在单个 Python 循环里长期持有完整 IMAGE/AUDIO 历史。
后台节点提供 status / 状态、pause / 当前段后暂停、resume / 继续 与 cancel / 取消 按钮:
- 暂停不会丢弃已接受段;当前段成功后停在下一段恢复点。排队但未开始的段会直接撤回。
- 取消只按当前 background prompt ID 删除或中断,不清空用户的整个 ComfyUI 队列。若候选已经跨过 manifest 原子提交点,它可能完成本次提交,但不会再排下一段。
max_retries表示同一失败段的额外尝试次数。重试复用完全相同的 API prompt,绝不静默降低 分辨率、帧数、上下文、采样步数或改 seed;同一错误超过上限后进入failed。clear_execution_cache是默认释放策略:显式设置free_memory=true、unload_models=false, 清执行 tensor/软缓存但不声称卸载模型。策略在每次候选原子接受后应用,包含继续排队、段后暂停 和 final;unload_all_models会调用ComfyUI全局卸载标志,连H3以外的模型一起卸载;keep_loaded不请求释放。接受后释放失败会保留manifest并把任务标记failed,不会重生成。background_job.json只保存状态和 prompt SHA-256,不保存 prompt 正文。ComfyUI 重启后 manifest 仍可恢复,但内存中的 prompt snapshot 已丢失,需把后台工作流重新排队一次完成重新附着。 错误状态采用字段白名单,不落盘current_inputs/current_outputs、媒体 tensor 或提示词。- 最终段接受后可自动调用流式合成器。若接受已经成功但最终合成失败,任务会停止并保留完整
manifest,不能通过“重试生成”越过已提交边界;此时单独运行
Compose Accepted。
隔离 ComfyUI 的模型无关实测已覆盖两段自动排队/合成、当前段后暂停再继续、定向取消以及一次
原参数失败重试。另一次真实 H3 机械探针使用 FL2VA INT8、Standard Turbo EMA LoRA、NVFP4 CLIP、
双 H3 VAE、256×256、124帧窗口、22帧 context、1步、DynamicVRAM headroom 2GiB,并选择
unload_all_models:两个独立 prompt 均成功,manifest 为 124+20=144 帧,最终 H.264/AAC
音画流均严格6.000秒。该探针只证明后台执行与强释放后重载闭环,不是画质基准,也不能外推成
四步、高分辨率、其他GPU的通用 memory_safe 或“绝不 OOM”。
随后完成了一条代表性的真实四步后台长链:RTX 4060 Ti 16GB、FL2VA INT8、Standard Turbo
LoRA、736×416、124帧窗口、22帧音画context、DynamicVRAM headroom 2GiB,段间选择全局
unload_all_models。60秒被严格拆为14个独立prompt,14/14均一次成功,无重试或OOM;manifest
revision 14 为 124 + 12×102 + 92 = 1440 帧、1,920,000音频samples,最终H.264/AAC的
视频、音频和容器均严格60.000秒。0.5秒轮询观察到整卡峰值约12,823MiB、最低余量约3,556MiB;
全局峰值在第3段后基本平台化,第9段只增加约39MiB,此后不再上升,本轮没有阶梯式泄漏迹象。
13个视频接触帧没有明显硬切,但音频半秒窗响度变化最大仍约13.75dB;5ms bridge仅把单样本
跳变中位降低约96.2%,不能修复响度、语义、音乐节奏或口型。该结果只证明本机固定配置的一个
单prompt/seed后台长链,不等于跨GPU、高分辨率、多参考或通用显存安全档。详细证据位于本地
artifacts/background-four-step-check/REPORT.md。
长链完成后的审计发现旧实现只在“准备排下一段”时请求释放,暂停和final会继续持有模型。
现已改成每次接受后统一请求所选策略,并用另一条真实256×256一阶双段链复测:完成瞬间整卡约
8,124MiB,状态记录 last_release_policy=unload_all_models,随后自动回落到约1,230MiB,释放约
6,894MiB,不再需要手动调用/free。这证明final释放时机生效,不代表所有第三方模型都能无副作用重载。
同条件释放策略对照随后扩展为3个配对seed:每档3次全新ComfyUI进程冷态,并在独立同进程 primer后连续测3次暖态,共21条双段链、其中18条正式测量。全部成功且无重试/OOM;每个seed在 三档×冷暖六种条件下的首段MP4、首段AV tail tensor、第二段MP4和最终成片SHA-256完全一致。
| 策略 | 冷态耗时均值 | 暖态耗时均值 | 冷/暖整卡峰值均值 | 冷/暖15秒残留均值 |
|---|---|---|---|---|
keep_loaded |
170.89s | 153.10s | 13,449.95 / 13,467.30MiB | 8,083.22 / 7,987.22MiB |
clear_execution_cache |
188.28s | 185.08s | 13,434.52 / 13,408.94MiB | 1,229.63 / 1,229.63MiB |
unload_all_models |
189.08s | 197.13s | 13,421.52 / 13,384.03MiB | 1,229.63 / 1,229.63MiB |
三档所有配对峰值差均低于128MiB差异阈值,旧单次探针中强释放低约1GiB的现象没有重复。
keep_loaded相对默认档冷/暖平均快17.39/31.97秒,但15秒后多占约6.85/6.76GiB;只适合用户
明确愿意为单工作流吞吐量保留显存时选择。强释放相对默认档冷态只慢0.80秒,暖态平均慢
12.05秒,还会卸载其他ComfyUI模型。默认因此继续使用clear_execution_cache。
首次keep_loaded探针还发现ComfyUI会把运行期is_changed指纹写回prompt;若原样续排,会把
整张下一段图误判为缓存命中。后台prompt快照现会双重剥离该字段。18条正式链中,keep-loaded
只缓存节点1–5的加载器,编排、采样、保存和终端均正常重跑;另外两档没有节点缓存命中。
这些结论仍只绑定本机RTX 4060 Ti 16GB、当前模型/插件和736×416双段配置,不能外推跨GPU、
高分辨率、多参考或通用不OOM保证。
后台恢复又完成了一次真实进程强杀检查:256×256、一阶、双段H3链在第0段已持久接受、manifest
revision 1且下一prompt运行时终止ComfyUI。重启后的状态查询会把磁盘残留的running纠正为
detached,显示已接受1段和“需重新排队工作流一次”;重新排同一工作流一次后从第1段继续,
旧第0段的候选ID、MP4、AV tail tensor哈希和修改时间均未改变,最终revision 2为144帧且A/V/容器
严格6.000秒。加入v2磁盘schema、操作系统锁与后台进程租约后再次复测通过,恢复阶段整卡峰值约
13,537.02MiB;杀进程前的background state和manifest均已原生写成带明确format marker的schema 2。
随后两个独立真实H3后台链在同一ComfyUI队列按
A0 -> B0 -> A1 -> B1交错完成,两个job、prompt、manifest、父链、目录和成片保持隔离,整卡峰值
约13,511.44MiB,无OOM,两个链的state和manifest也都保持原生schema 2。
本地Windows/NTFS多进程门槛也已补齐:manifest改用进程死亡时由操作系统自动释放的
manifest.lock.v2;两个进程争同一chain/index/revision时只有一个提交,四进程×25次共100次锁内
更新无丢失,持锁进程强杀后2秒内可接管。后台job另有整链进程租约,第二个ComfyUI进程会在生成前
被拒绝,首进程强杀后第三进程可接管并写入previous_job_id。旧版活锁会被尊重,死锁残留不阻塞且
不被破坏性删除;未知新schema明确拒绝,不会回退旧backup,same-schema附加字段会跨下一次提交保留。
损坏的辅助后台状态会隔离留档,再由accepted manifest恢复。现有schema 1 manifest/background
state会只在内存中规范化为schema 2,纯读取不改原文件;下一次受锁保护的manifest提交会原子写入
schema 2主文件并保留原始schema 1备份,后台重启接管也会写schema 2并记录来源schema。已有真实
H3 schema 1链的只读迁移检查保持两个原文件哈希不变,新建原生schema 2强杀恢复链也已通过。
接受事务另补8个确定性故障注入场景。完全相同的候选若已接受MP4丢失或context损坏,会从仍通过
哈希校验的候选文件安全修复,manifest revision不增加;同一规范化candidate_id不得绑定不同
内容,失效历史中的ID也不能覆盖原归档文件。context复制失败、备份写完但主manifest写入失败时,
旧manifest仍是唯一权威,重试同一候选可完成提交。主manifest缺失时必须先读取有效backup,即使
调用方允许新建链也不会重置历史;未知schema或损坏backup则拒绝创建空链。这些测试覆盖明确的
程序步骤边界,不等于任意CPU指令或掉电边界已经全部证明。
其中两个最高风险步骤又提升为Windows/NTFS真实进程强杀:worker持有真实manifest.lock.v2,
分别在“accepted MP4已完整复制、context尚未复制”和“旧revision已写入backup、新primary尚未替换”
时由父进程直接kill()。两个断点各做3轮独立重复,共6/6恢复;每次OS锁自动释放,旧/空manifest
仍是权威,同一候选在2秒内完成重试,媒体哈希和最终revision正确,没有残留worker。这比Python
异常注入更强,但仍使用小型测试媒体,不是H3 CUDA生成中的任意时刻强杀,也不覆盖机器掉电或网络盘。
这些结果证明的是“持久接受边界后的强杀恢复”“单队列多链隔离”“本地schema 1→2迁移契约”和
“单机NTFS同链所有权/提交串行化”,不等于不同已发布插件/ComfyUI组合的完整升级降级矩阵、网络
共享盘锁、同时CUDA执行或多GPU并行。详细证据位于本地
artifacts/background-crash-recovery/REPORT.md。
合成器的视频逐帧处理,音频一次只解码一个已接受片段。默认 cosine_bridge 在每个边界把
当前段开头的值连续地拉到上一段末样本,并在默认5ms内余弦衰减修正;它不做会缩短时长的
overlap acrossfade,最终 sample 总数严格取 manifest 的绝对边界。该处理只能降低瞬时幅值跳变,
不能证明相位、节奏或语义已经无缝;视频会重编码为 H.264,音频会重编码为 AAC,也不是无损拼接。
既有124/102/102帧真实 H3 三段已完成一次 none/5ms bridge 文件级对照:两份输出均为
328帧,视频13.6667秒、AAC 13.667秒;最终 AAC 解码后的两处边界跳变从约
0.04226/0.03509降至0.00434/0.00704,约下降89.7%/79.9%。这是单素材的零阶幅值指标,
尚未完成盲听和多素材 click energy/响度/频谱验证,不能据此宣传“音频无缝”。
这不是“显存优化节点”的证明。124帧目标加22帧运动条件约增加18.9%的视频条件行,音频
timeline 也增加约17.9%的音频 reference 行;这些是 packed rows 比例,不是显存百分比。
分段只能让总时长的峰值有界,单个带上下文片段一定比同档普通片段更重。Block Cache、Sage
和 DynamicVRAM headroom 的首轮受控矩阵及本机60秒门槛现已完成,结论见本节后文;它只支持
一个固定本机保守档,不提供通用memory_safe宣传,也不承诺任意尺寸、任意帧数下不会OOM。
2026-08-08 的四步实测使用非裁剪 FL2VA INT8、NVFP4 H3 CLIP、两个 H3 VAE、Standard 四步 LoRA、736×416、124帧窗口和 DynamicVRAM:direct 22帧 AV context 的三段链全部完成, 原生输出为124/102/102帧,视频与音频流时长一致。三次设备峰值约15,998/15,881/16,135MiB, 余量都低于512MiB候选门槛。相同素材的三路 A/B 中,单末帧接缝显著差于两条22帧路线; VAE重编码22帧没有显示出优于直接 sampler latent 的充分证据,且暖态运行多约17.25秒, 所以正式节点继续只保留 direct latent 默认。未处理的原始分段音频边界跳变仍接近局部最高值; 该首版 bridge 检查当时只覆盖上述三段单素材;后续14段证据见下文。多素材长期退化矩阵和 跨配置通用16GB安全档仍未完成,因此本功能继续保持 Experimental,不宣传无缝或绝不 OOM。
旧手工链的画布/API 示例仍为 examples/workflows/H3_Long_Video_22F_EXP.json 与
examples/long_video_segment_api.json。接受状态画布/API 示例为
examples/workflows/H3_Long_Video_Accepted_22F_EXP.json 与
examples/long_video_candidate_accept_api.json;完成全部片段后再单独运行
examples/long_video_compose_api.json。推荐的总时长自动恢复画布/API 示例为
examples/workflows/H3_Long_Video_Auto_Resume_22F_EXP.json 与
examples/long_video_auto_resume_api.json;它自动管理 index、final、时间轴和断点位置,但保留
逐段人工预览/接受。显式后台画布/API 为
examples/workflows/H3_Long_Video_Background_22F_EXP.json 与
examples/long_video_background_api.json;只有这组示例连接 Background Start 与 Auto Queue。
本机已对这条自动恢复 API 做一次真实执行探针:非裁剪 FL2VA INT8、Standard Turbo LoRA、 NVFP4 H3 CLIP、双 H3 VAE、736×416、124帧内部窗口、1步、目标1秒,并启用 DynamicVRAM。 真实联合采样、裁成24帧候选、接受、完成后再次排队阻断,以及 accepted 文件合成全部成功; 候选和最终 MP4 都是24fps、24帧,视频/音频/容器均为1.000秒。该结果只证明新工作流执行闭环, 不代表四步多段画质、60秒质量或16GB显存安全档已经通过。
随后又完成一条相同推荐 API 的真实四步双段检查:6秒精确拆为124帧与20帧,第二段自动读取
已接受的22帧 AV context 和父候选身份;最终 manifest 覆盖144帧,完成后重排没有新增候选。
none 与5ms bridge 合成都严格为24fps/144帧,视频、音频和容器均6.000秒。bridge 使最终
AAC边界的单样本跳变约下降80.2%,但段前后仍有约33.3dB响度落差;视频边界静帧没有明显
身份/构图跳切,不过MAD和SSIM不连续度均是附近16个片内转场中的最高值。两段设备峰值约
15,461.4/16,181.5MiB,第二段只余约198MiB,因此仍只能称为“本机跑通、可续接”,不能称为
音画无缝或16GB安全档。该双段检查本身不代表长期链已经通过。
同日又在一个未重启的 DynamicVRAM 进程中完成了首条真实四步60秒长期链:14段按
124 + 12×102 + 92 = 1440 精确接受并合成,视频24fps/1440帧,视频、音频和容器都严格为
60.000秒。整个链没有显式调用 /free;14段设备峰值位于15,480.0–16,228.2MiB,暖态峰值的
描述性线性斜率约为每段+28.0MiB,基线没有单调阶梯增长,因此这一次运行没有显示累积型显存泄漏。
但第12段只余约151.3MiB,共5段低于512MiB安全余量,所以该配置仍不能标为16GB安全档;
0.25秒轮询也可能漏掉更短的分配尖峰。
13个视频边界的MAD中位数为0.01618、最大0.01906,SSIM中位数为0.96374、最小0.92868。 最差接缝的接触图没有显示主体或背景的硬切,但14段中间帧时间轴可见人物外观和曝光逐步漂移, 像素/光流指标也不能证明身份保持。音频的长期退化更明显:接缝前后半秒响度变化中位数约 -9.51dB,最大绝对变化约40.83dB;首末段8kHz以上能量占比相差约-36.30dB,说明递归续写出现 明显变闷/频谱漂移。5ms bridge 将最终AAC边界单样本跳变的中位数降低约97.23%,但不能修复 响度、音色、对白语义或口型连续性。因此这条结果证明了“60秒、14段、可恢复、定长合成”的 执行闭环,不证明无缝、身份无漂移或长期音频无损。仍需补人物对白/口型、快速运动、节奏音乐、 多素材多seed、盲听/ASR/说话人/唇形评估,以及跨GPU/高分辨率/多参考显存档。
最后一段接受后的首次完整重排在当前 ComfyUI 中会以预期的 ExecutionBlocked 终止(空 traceback,
只执行到编排节点);命中缓存后的复排也可能显示成功但只运行审核节点。两种情况下候选数都保持14,
不会生成第15段。这是安全完成阻断,不应把预期的 ExecutionBlocked 当作生成故障。
5帧/22帧现已完成0.3M与0.6M的重复矩阵,而不再只是单次试探。两档均固定复用各自仅接受 第0段的基线;同分辨率下第0段MP4以及视频/音频tail tensor均bit-identical。每档使用3个 配对seed、交替顺序执行3次独立冷启动;另在同一进程primer后执行3次暖态。相同context+seed 的全部冷/暖候选也bit-identical,VRAM按0.10秒采样。
0.3M(736×416)冷启动5/22帧整机峰值均值为15,279.5/15,224.0MiB,但三组22-5配对差为
+96.6/-78.3/-184.9MiB,方向不一致。Sampler PyTorch pool则稳定为约3,189.9/3,495.3MiB,
5帧少约305MiB;冷态耗时均值86.53/93.08秒,暖态69.27/78.01秒。暖态最低余量仅97.6MiB,
5/6次低于512MiB门槛。三个seed平均上,22帧的视频MAD/SSIM与音频响度/NCC更好。
0.6M(1056×608)冷启动5/22帧整机峰值均值为15,739.0/15,724.2MiB,三组22-5配对差却为
-752.0/+10.8/+696.7MiB;绝对峰值同样不能归因于context。Sampler pool稳定为约
5,753.4/6,381.2MiB,5帧少约628MiB;冷态耗时均值200.29/230.38秒,暖态187.89/218.40秒。
暖态6/6次均低于512MiB余量,最差只剩33.6MiB。该组三seed中5帧MAD/SSIM平均更连续,但可能
包含运动被压低;22帧音频响度/NCC明显更好,且有一个seed出现正面到侧面的明显画面边界跳变。
39帧随后在0.3M完成同一批3个seed的3次独立冷启动和primer后3次暖运行。六次均成功,且相同 seed的冷/暖MP4 bit-identical;5/22/39三条链的第0段MP4及AV tail tensor也完全一致。39帧的 sampler pool冷/暖均约3,799MiB,相对22帧稳定多约303–304MiB;冷/暖耗时均值为101.65/87.38秒。 但暖态3/3次低于512MiB,最低只剩77.35MiB。人工检查三张接缝图时,只有1个seed较连续, 1个有明显姿态/构图跳变,另1个发生严重人物身份和镜头关系变化。
因此5帧只保留为fast_context_5_experimental候选:它确实更快并减少sampler activation pool,
但没有可重复的整机峰值优势。22帧继续作为当前默认平衡候选;39帧降级为
context_39_high_risk_experimental,既不是质量档,也不是安全档。旧策略下0.6M/39帧没有强行执行:
0.6M/22帧暖态已经6/6低于512MiB、最低33.6MiB,继续增加5个latent step没有建立安全档的
可能且有真实OOM风险。这是预定义安全门槛否决,不等于已经证实0.6M/39必然OOM。任何档位在
绑定具体硬件、模型、分辨率和插件组合后通过至少512MiB余量前,都不能命名为memory_safe。
2026-08-09 又完成了原生 DynamicVRAM headroom=2.0GiB、Stock/Sage和Block Cache的受控检查。
736×416与1056×608各用3个seed完成3冷3暖;Stock和Sage的全部试次均高于512MiB,相同策略的
冷/暖同seed输出bit-identical。默认Block Cache在4次前向中0次命中、CPU cache约117.7MiB,
不能跳过首次完整前向,因此不作为OOM默认方案。Sage虽更快,但同headroom下整机峰值反而比
Stock高;0.6M的3个seed中有2个出现明显镜头/姿态/运动轨迹分叉,只保留为高风险近似加速实验项。
最终采用Stock + DynamicVRAM headroom 2.0GiB重跑真实60秒/14段链,全程不重启且不显式/free。
14/14段、manifest revision 14、1440帧和1,920,000 audio samples全部完成;两份合成都是
736×416、24fps、1440帧,视频/音频/容器严格60.000秒。峰值范围12,829.44–13,640.09MiB,
中位13,137.67MiB,最低仍空闲2739.41MiB;暖态峰值不单调,未见典型阶梯泄漏。
相对旧headroom=0.5的同提示词/同seed Stock链,14/14段MP4 SHA-256以及13/13个续写
video_tail/audio_tail张量完全一致,说明调整的是原生内存调度而不是采样数值;峰值中位数
降低约2635MiB,总生成时间增加约1.63%。因此该组合可以称为本机固定配置已验证保守档,
但只覆盖RTX 4060 Ti 16GB、FL2VA INT8、Standard四步LoRA、736×416、124帧窗口、22帧context
和本次插件集合。其他GPU、0.6M长链、更多参考媒体或桌面显存占用仍可能OOM,不能宣传通用
memory_safe或“绝不爆显存”。0.6M/39帧也需在新策略下另做多seed显存与质量门槛。
随后又保持相同prompt、模型、画布、窗口、context和Stock+h2策略,只改变base seed为
2608082000、2608083101、2608083202,分别启动三个独立ComfyUI冷进程执行60秒/14段链。
三链共42/42段一次成功,没有OOM、重试或候选复用;manifest、父候选/revision链、候选与
accepted视频/context SHA-256、1440帧、1,920,000 samples、完成阻断以及六份60.000秒成片均
独立复核通过。每条链的最大峰值分别为13,640.09、13,414.01、13,426.72MiB,最差空闲余量
2739.41MiB,没有片段低于512MiB。这关闭了本机固定档跨base-seed冷启动机械/显存门槛,
但同seed整链暖重复、跨prompt/多素材、其他GPU和桌面负载仍未验证。
质量门槛没有随之通过:三个14段中间帧时间轴都出现逐段面部年龄与身份漂移,seed
2608083101最严重;三链音频相邻半秒窗最大响度差为23.59–48.06dB,描述性NCC中位仅
0.127–0.206,首末段8kHz以上能量占比下降9.66–36.30dB。5ms bridge把后AAC单样本跳变中位
降低94.93%–97.33%,但不能修复响度、音色、语义或递归变闷。因此仍不能宣传长期身份稳定、
音频无损或无缝;本地完整报告在
artifacts/long-video-generation-check/stock-headroom2-60s-multiseed/analysis/REPORT.md。
同一 ComfyUI 提交在 --novram 下,连本体自带的
EmptyMiniMaxH3LatentAV -> VAEDecodeAudio 也会独立复现 CUDA 输入与 CPU filter 的设备不一致;
因此这不是 T8 AV Decode 或 Orchestrator 引入的错误。当前建议使用本机已验证的 DynamicVRAM
路线;在 ComfyUI 本体修复或本项目有可靠的局部兼容方案前,不宣称 H3 Audio VAE 的
--novram 解码可用。
EXP:参考图像编辑
MiniMax H3 Reference Image Edit (EXP/T8) 位于
T8/MiniMax H3/Still/Experimental,复用 H3 Ref2VA 的 Picture 条件生成静态候选。
edit_image 始终是 <Picture 1>;附加参考图依次成为 <Picture 2> 至 <Picture 9>。
Prompt 应明确每张图的职责,例如主体身份、服装、背景或光照。
目标模式:
direct_1_frame:直接创建video latent_t=1,成本最低,但严重偏离训练帧数;micro_video_5_frames:生成 H3 最短 5 帧,再在 Still Decode 中选帧;short_video_22_frames:生成下一档原生17n+5网格的22帧,视频 latent T=7, 音频 latent T=37;比124帧便宜很多,但仍低于约124帧的训练下限;trained_124_frames:按近似训练下限生成 124 帧,作为质量基准,成本最高。
默认 reference_strength=0.999 与 H3 参考条件的原始噪声增强接近;降低该值会向参考
latent 注入更多噪声,可能增强重绘幅度,也可能损坏身份与构图。generate_and_discard
让联合模型正常生成短音频但最终不解码;lock_silence 锁定零音频,仅用于对照。
推荐链路:
- 加载 H3 Ref2VA 模型、H3 Qwen3-VL CLIP 和视频 VAE;
- 将主图和附加参考图接入 Reference Image Edit;
- 同一个
av_latent同时连接到双时钟采样设置与SamplerCustomAdvanced.latent_image; - 采样输出接 Still Decode,再接
SaveImage。
本机现有 Ref2VA 是 pruned INT8,不能完整应用本项目转换的 Turbo LoRA;示例因此不加载
LoRA,并以 20 步作为结构基线。若以后安装非裁剪 Ref2VA,再单独进行 Turbo LoRA 对照。
这项能力是参考引导的语义重绘,不是 mask/inpainting,也不保证未编辑区域像素不变。
API 示例见 examples/still_image_edit_api.json;可直接拖入画布的完整示例见
examples/workflows/H3_Still_Edit_22Frames_EXP.json。两者默认使用512×512、22帧、20步,
并连接 Still Preflight;在 Reference Image Edit 节点上点击“+”可追加最多8张参考图。
本机真实模型验证中,pruned Ref2VA INT8 在 512×512、20 步、direct_1_frame 下成功
保留手袋主体并把黑色皮革改成深红色;相同任务在 128×128 下结构明显崩坏。因此默认推荐
canvas_mode=from_edit_image,自定义画布短边不要低于 512。该结果只是单个可用案例,
不能代替多图、不同主体、不同编辑类型和多种 seed 的系统质量评估。
H3 Turbo 四步双时钟采样
H3 的视频流默认使用 shift 12,音频流使用 shift 3。旧版 ComfyUI 的 H3 DiT 会把音频
速度乘上 d(sigma_audio)/d(sigma_video);当前 ComfyUI 已改为 FLOW_AV,模型返回原始
音频速度,并由原生 ModelSamplingAV 支持音频 carry/scale。T8 双时钟节点自己维护两个
时钟,因此会检测实际基模协议:旧版移除 schedule slope,当前版直接按音频 sigma 差积分,
同时把自定义 sampling 的 audio_scale 固定为 1.0,避免重复缩放。
MiniMax H3 Dual-Clock Sampler (T8) 每步仍只做一次联合 AV 模型前向,不拆开模型,
但更新 latent 时执行:
- 视频:
delta_video * velocity_video; - 音频:旧协议先除去 schedule slope,当前协议直接使用原始速度,再乘
delta_audio; - mask=0 的锁定区域保留 ComfyUI 原有的 inpaint 时钟,完整生成区域使用音频时钟。
四步 Turbo 推荐连接:
UNET/Diffusion Model Loader -> LoraLoaderBypassModelOnly -> Dual-Clock Sampler.model; 当前 INT8/量化模型不要改用普通 LoRA 合并链并假设结果等价。- Conditioning/Empty H3 AV Latent 的同一个
av_latent同时连接到Dual-Clock Sampler.av_latent和SamplerCustomAdvanced.latent_image。 - Dual-Clock 的
model接BasicGuider.model,sampler和sigmas分别接SamplerCustomAdvanced的同名输入。 steps=4、shift_video=12、shift_audio=3、sampler=dual_clock_euler、scheduler=native_flow。LoRA 强度使用作者建议值。
节点内部现在可选择采样器和调度器:
| 控件 | 默认值 | 行为与兼容范围 |
|---|---|---|
sampler / 采样器 |
dual_clock_euler |
原有 T8 显式双时钟 Euler,数值路径不变;兼容旧版与当前 ComfyUI |
| 其他采样器 | 无 | 使用当前 ComfyUI 自带的 sampler,并切换到原生 ModelSamplingAV carry/scale;旧版 ComfyUI 不提供这些选项 |
scheduler / 调度器 |
native_flow |
原有 shifted-uniform H3 flow sigma,数值路径不变 |
| 其他调度器 | 无 | 调用当前 ComfyUI 的同名 scheduler;改变 sigma 时间网格,不承诺一定改善 Turbo 画质或音质 |
dual_clock_euler 配其他调度器时,仍由 T8 显式维护视频/音频两个时钟;其他采样器则由
当前 ComfyUI 原生 FLOW_AV 协议把联合 latent 映射为单一求解时钟。两条路径不能混用
carry/scale。标准采样器只在新版原生协议存在时开放,因为旧版 H3 没有可证明等价的通用
多阶求解适配。
这个节点已经代替 MiniMax H3 Sigma Shift、KSamplerSelect 和 scheduler 三个节点。
不要再串联一次 Sigma Shift,也不要外接 KSamplerSelect 或 BasicScheduler;需要更换时
直接使用本节点新增的两个下拉框。
SamplerCustomAdvanced、RandomNoise 和 BasicGuider 仍照常使用。
可导入的 API 结构示例见 examples/dual_clock_4step_api.json。其中模型文件名是占位符,
请替换为本机的 H3 基模、两个 VAE、Qwen3-VL CLIP 和已转换 LoRA 文件名。旧 API JSON
可以不提供 sampler_name 与 scheduler,后端会使用上述两个默认值。
EXP:视频 4 步、音频更多步
MiniMax H3 Multi-Rate Sampler (EXP/T8) 位于独立的 Experimental 分类,代码也在独立
模块中,并使用与稳定版相同的新旧 ComfyUI 音频速度协议检测。EXP 节点把视频
Euler 更新保持为 video_steps 个宏步,同时在每个宏步内部为音频安排更多微步。例如:
video_steps=4, audio_steps=8:每个视频区间 2 个音频微步;video_steps=4, audio_steps=10:四个区间均衡分配为 2、3、2、3 个音频微步;- 四个视频宏时间边界与稳定 4 步网格完全一致。
H3 是联合音画 Transformer,无法只计算音频分支。因此 audio_steps 也是实际的完整 H3
DiT 前向次数:4/8 约是稳定 4/4 的 2 倍计算量,4/10 约是 2.5 倍,并会同时受到显存和
耗时影响。视频 latent 只在四个宏边界提交更新,但每个音频微步仍需联合模型前向。
建议先用相同 seed、prompt 和输入做 4/4 稳定版与 EXP 4/8 对照;若音频仍明显不够,再试 4/10。更多步不保证一定更好,因为 Turbo LoRA 的训练设计点仍是四步,额外中间时间点可能 改善音频数值积分,也可能产生分布外误差。EXP 不应直接替代已验证的生产工作流。
连接方法与稳定版相同,只把三个输出接入 BasicGuider / SamplerCustomAdvanced;不要再
叠加 Sigma Shift 或外部 scheduler。示例见 examples/multirate_exp_api.json。
四种音频模式
| 模式 | 目标音频 latent | 源音频是否作为参考 | 适用场景 |
|---|---|---|---|
lock_source |
源音频,denoise mask=0 | 默认是 | 画面严格跟随音频,最终保留原音轨 |
remix_source |
源音频,按 strength 重绘 | 默认是 | 保留节奏/语音结构,同时让模型改造声音 |
reference_only |
空白、完整生成 | 是 | 源音频只提供语义/节奏参考,输出使用模型音频 |
native |
空白、完整生成 | 否 | 纯 H3 原生音画联合生成,无需输入音频 |
drive_audio 是给模型的驱动轨,final_audio 是最终 mux 的干净轨。二者分开可以让你把
外部人声分离器得到的 vocal stem 用作驱动,同时把原混音或另一条 stem 送到最终输出;
本包不会假装内置了一个未经验证的分离模型。
可直接拖入画布的音频示例:
| 工作流 | audio_mode |
最终 MP4 音轨 | 用途 |
|---|---|---|---|
H3_Audio_Lock_Source_Stable_4V4A.json |
lock_source |
Conditioning mux_audio |
锁定源 latent,保留干净输入原音轨 |
H3_Audio_Remix_Source_Stable_4V4A.json |
remix_source |
AV Decode generated_audio |
以默认0.35强度保留节奏/语音结构并重绘声音 |
H3_Audio_Reference_Only_Stable_4V4A.json |
reference_only |
AV Decode generated_audio |
输入音频仅作 <Audio 1> 参考,目标音频重新生成 |
H3_Turbo_Stable_4V4A.json |
native |
AV Decode generated_audio |
无需输入音频的原生音画联合生成 |
三份输入音频示例均预设736×416、124帧、稳定4/4双时钟、原生 flow 调度,并通过 Audio Window
把用户选择的5秒场景对齐到合法 H3 窗口,再由 Output Trim 恢复精确5秒。导入后必须先在
Load Audio 中选择或上传音频。切换 audio_mode 时不要只改下拉框:lock_source 的最终音轨
应取 mux_audio,而 remix_source / reference_only 应取模型解码的 generated_audio。
其中 reference_only 仍需要把输入音频接入 drive_audio,只是不会把它注入目标音频 latent。
若另接一条干净轨到 final_audio,它只会替换 Conditioning 的 mux_audio 输出;要把它用于最终
MP4,仍需将 mux_audio 明确连接到 Output Trim 的 audio。
推荐连接
锁定原音频生成画面:
Load Audio -> MiniMax H3 Audio Window (T8)。context_audio、视频 VAE、音频 VAE、CLIP 接入统一 Conditioning,选择lock_source。- Conditioning 的
positive和av_latent进入原生 H3 sampler。 - sampler 输出进入
MiniMax H3 AV Decode (T8)。 - 解码 frames、Conditioning 的
mux_audio、Audio Window 的两个 trim 输出进入MiniMax H3 Output Trim (T8)。 - 将裁切后的 frames/audio 交给 VideoHelperSuite 或你现有的保存节点。
短场景开启 ensure_minimum_context 时,节点会添加上下文,但不会再让动作时间轴悄悄漂移:
prompt_timing_note 给出主场景在渲染窗口中的真实开始/结束时间,最终 trim 参数再恢复用户请求时长。
媒体编号
H3 的展示顺序是:所有 Picture;然后每个参考视频(其声轨 Audio 标签位于对应 Video
标签前);最后是独立 Audio。因而两个参考视频都带声轨时,主驱动音频会是 <Audio 3>,
而不是 <Audio 1>。统一 Conditioning 会输出完整 media_map_json,并把 prompt 中配置的
prompt_primary_audio_ordinal 自动映射到主驱动音频的真实编号。设为 0 可关闭重映射。
严格模式会拒绝引用未连接媒体的标签,避免模型收到看似合法、实际无对应条件的 prompt。
H3 边界
- 固定 24fps,帧数向上对齐到
17n+5。 - 当前模型近似训练区间为 124–362 帧;区间外允许规划但 Preflight 会警告。
- 生成画布像素面积不能超过
1920×1088 = 2,088,960,宽高必须是 32 的倍数。 - 超过
1344×768 = 1,032,192像素不再报错,但 Preflight 会提示显存需求显著增加; 模型支持该画布不代表所有帧数、参考数量和显卡都能在相同显存内运行。 - 原生 H3 目前只支持 batch size 1。
- 引用上限:9 张 Picture、3 个 Video、3 个独立 Audio;参考视频官方建议 2–15 秒。
Hybrid同时使用精确首/尾帧和参考媒体。节点包含针对当前 ComfyUIPackedLayout行为的运行时契约检查;上游若改变结构会明确停止,而不是生成错位条件。
官方建议的 16:9、32 倍数尺寸可直接使用:
| 约百万像素 | 输出尺寸 |
|---|---|
| 0.2 | 608×352 |
| 0.3 | 736×416 |
| 0.4 | 864×480 |
| 0.5 | 960×544 |
| 0.6 | 1056×608 |
| 0.7 | 1152×640 |
| 0.8 | 1216×672 |
| 0.9 | 1280×736 |
| 0.98 | 1344×768 |
| 1.0 | 1376×768 |
| 1.2 | 1504×832 |
| 1.5 | 1664×928 |
| 1.8 | 1824×1024 |
| 2.0 | 1920×1088 |
高速动态质量实验(Advanced)
v1.19.0 追加两个完全旁路旧工作流的实验节点:
MiniMaxH3AVSigmaTailSubdivisionT8Advanced:接在双时钟节点的sigmas与SamplerCustomAdvanced之间。默认report_only + extra_substeps=0,逐位透传输入;开启实验时 只在base-flow时钟中插点并保留全部原始knots,同时报告video/audio sigma、真实NFE与schedule SHA。 Turbo增加中间时间点属于训练网格外实验,必须显式确认;每个新增点都是一次完整联合A/V DiT前向。MiniMaxH3MotionQualityAuditT8Advanced:对已解码IMAGE帧做只读时序代理审计,可用全帧、人工静态ROI 或外接MASK,输出风险区间与17n+5合法修复窗口。它不修改成片、不加载或自动下载人脸模型, 也不声称已完成人脸检测、身份验证或质量改善。
新的 Turbo 双时钟质量、兼容、性能和显存测试统一按视频8步/音频8步。旧4步工作流继续保留,
用于验证向后兼容和复现历史结果,不再作为后续质量结论的统一测试标准。新示例
H3_Motion_Quality_Advanced_8Step_EXP.json默认不应用sigma插点,先提供严格8步基线和只读审计。
2026-08-16 已完成首轮3类素材×3seed×Stock20/Standard8/EMA8/FL2V8×control/same-NFE-tail, 共72/72次真实124帧运行。严格视频解码6轮共432/432次通过;每条输出均为有限32kHz双声道音频, A/V时长差不超过一帧。FL2V处理组的预注册运动代理0/9通过,已否决。其余27个已完整评审的 profile-pair中,画面偏好为20平、5次same-NFE-tail、2次control,声音27/27判平;这不足以证明 尾部重分配具有稳定感知优势。完整36组最终记录为画面29平、5次same-NFE-tail、2次control, 声音36/36平;其中FL2V原先漏选的5个偏好仅在评审者明确说明“漏填就是平”后补记为平,未补造 缺失的1–5评分或语音判断。
这批首轮素材还暴露出一个测试设计错误:I2VA首帧以crop=disabled直接缩放至固定736×416,
两张900×1600竖图被横向相对拉宽约3.15倍,另一张3027×1531图也发生约10.5%的非等比变化。
因此该批运行只能保留机械执行、解码、音频时长和显存观察,不能用于绝对脸部质量、身份保持或
产品晋级。修正矩阵应使用与素材匹配的横/竖画布或已审核的同画幅素材后重跑。各profile至少有
一次整卡最低余量低于512MiB,3冷3暖尚未完成,故仍不能称为“修脸”“高速动态修复”或
memory_safe,quality_guarantee=false与memory_safe_claim=false保持不变。
保持源图比例的第二轮计划现已生成到
artifacts/motion-quality-same-nfe-v3-aspect-safe/,但尚未启动生成。它为3027×1531横图使用
768×384(相对宽高比误差约1.16%),为两张900×1600竖图使用416×736(误差约0.48%);
72/72个API prompt与36/36组A/B均通过静态指纹检查。逐任务对照确认,除画布、时间线画幅标签和
输出前缀外,其余模型、LoRA、步数、seed、prompt、调度和same-NFE变量与首轮一致。计划仍保持
quality_decision=not_evaluated_aspect_safe_matrix与memory_safe_claim=false。2026-08-16用户明确
决定不再执行这72条复测,并确认其16GB实际工作流没有问题、直接通过。项目因此将精确本机/用户
使用场景记为local_16gb_operational_acceptance=passed_by_user_confirmation,将72条复测与3冷3暖
记为waived_by_user而不是失败;原话、manifest哈希和边界保存在同目录user_acceptance.json。
这不是伪造的重复测量,也不外推到所有16GB显卡、分辨率、帧数、驱动、wrapper或并发负载。
示例与测试
可直接拖入画布的稳定 4/4、三种输入音频模式、EXP 4/8、EXP 4/10、Ref2VA 22帧静态候选编辑、
对白安全分轨母带、两遍 H3 分时背景底轨锁定、Hybrid Model Advanced Stock20,以及以下长视频示例位于 examples/workflows/:
H3_Long_Video_22F_EXP.json:手工逐段续写基线。H3_Long_Video_Accepted_22F_EXP.json:候选预览、接受和可恢复状态链。H3_Long_Video_Auto_Resume_22F_EXP.json:总时长编排与人工审核后自动恢复。H3_Long_Video_Background_22F_EXP.json:后台自动排队长链。H3_Long_Video_Background_22F_ScenePlusIdentity_EXP.json:完整场景与身份裁剪双参考的后台长链。H3_Motion_Quality_Advanced_8Step_EXP.json:Turbo双时钟8步测试基线、默认关闭的sigma尾段实验与只读质量审计。H3_Hybrid_Model_Advanced_Stock20_EXP.json:精确pair检查、默认小artifact、stock-loader Hybrid MODEL与Ref2VA参考图链。H3_Hybrid_Model_Audio_Reference_Stock20_EXP.json:独立音频参考,Inspector按Conditioning自动选择 最小audio-row实验profile。H3_Hybrid_Model_Mixed_Reference_Stock20_EXP.json:参考图+参考音频,自动选择video+audio-row 实验profile;仍需用户盲评,不能视为最佳profile。
API 示例见 examples/audio_lock_api.json、
examples/dual_clock_4step_api.json、examples/multirate_exp_api.json 和
examples/still_image_edit_api.json、examples/hybrid_model_advanced_api.json、
examples/hybrid_model_audio_reference_api.json与examples/hybrid_model_mixed_reference_api.json;
高速动态实验另见examples/motion_quality_advanced_8step_api.json;
对白安全音频另见
examples/dialogue_safe_master_api.json 与 examples/dialogue_timed_bed_lock_api.json。
替换 API 示例里的模型、VAE、CLIP、可选 LoRA、
输入图像和音频文件名后即可使用;
保存节点使用已安装的 VideoHelperSuite。
从 ComfyUI 根目录、使用启动 ComfyUI 的同一 Python 环境运行:
$env:PYTHONPATH=(Get-Location).Path
python -m pytest -q .\custom_nodes\minimax-h3-audio-T8
自动化测试用于验证节点注册、条件与 latent 契约、sigma 数学、mask/callback、工作流结构 和静态图像路径;它不等同于对所有模型、提示词、种子和画布的感知质量保证。
显存与 DynamicVRAM 验证
项目提供独立诊断工具 tools/validate_h3_vram.py,用于排查 H3 工作流在
DynamicVRAM/VBAR、LoraLoaderBypassModelOnly 和双时钟采样组合下的 OOM。工具不修改
采样数学或模型权重,可完成 API 工作流静态检查、生成 stock Euler/双时钟严格 A/B、生成
Hybrid Loader未启用/启用VRAM Policy的严格单变量A/B、按节点和采样进度记录显存曲线,以及
比较两次运行的控制变量与峰值增量。
从v1.19.0开始,新的 Turbo 双时钟对照必须统一为8步、相同模型/LoRA/Prompt/seed/尺寸/帧数, 并建议关闭预览。既有4步记录仅保留为历史与兼容证据。完整命令、判定规则和限制见 显存验证方法。在取得真实 OOM traceback 和有效 A/B 前,不应把高显存直接归因于双时钟节点,也不应盲目替换 INT8 旁路 LoRA 或关闭 VBAR。
2026-08-07 的本机暖缓存实测中,0.6M、362 帧、4 步的 stock Euler 与双时钟设备峰值
分别为 16,213.5 MiB 和 16,182.2 MiB,PyTorch 峰值均为 14,573.5 MiB;未发现双时钟路径
存在实质峰值增加。两条路径都已非常接近 16 GiB 上限,这个单机结果不能替代反馈用户的
精确工作流、OOM traceback 和冷启动换序复测。