插件: comfyui-minimax-h3-audio-T8 v1.3.0 · GPL-3.0 · 作者 T8mars
验证基线: ComfyUI 0.30.0 (commit 6f7cd7fce) · 本机 ComfyUI v0.30.1 ✅
这是针对 ComfyUI 原生 MiniMax H3 的独立音频扩展节点包。核心价值:解决 H3 原生实现中音频被丢弃、低步数音频崩溃、音频控制缺失三大痛点。
| 问题 | 原生 ComfyUI 行为 | T8 解决方案 |
|---|---|---|
| VAEDecode 丢弃音频 | latent.unbind()[0] 只取 video,audio 被丢弃 | AV Decode (T8) 同时解码 video+audio VAE,输出分离 |
| 低步数音频白噪声 | 4步时最后一跳音频更新放大~2.5x → 近白噪声 | Dual-Clock Sampler (T8) 双时钟 Euler:video shift=12, audio shift=3 独立更新 |
| 无法控制音频行为 | 只能原生生成、无法锁定/混合/替换音轨 | 4种音频模式 + Audio Mix (ducking/增益/峰值限制) |
T8/MiniMax H3/Audio| 节点 | 功能 | 关键参数 |
|---|---|---|
| Audio Conditioning | 统一条件节点:T2VA/I2VA/FL2VA/L2VA/Ref2VA/Hybrid + 4音频模式 | auto任务推断、ref_image_size、reference_video_policy |
| Audio Latent Control | 对已有 AV latent 锁定/重绘源音频,保留视频 mask | lock(不降噪) / remix(按strength重绘) |
| Duration Planner | 时间→24fps帧数→17n+5网格→最终裁切参数 | scene_duration, warmup/cooldown, ensure_minimum_context |
| Audio Window | 切取/补零音频到对齐的 H3 上下文窗口 | 自动扩展到124帧训练下限 |
| Prompt Tags | 规范化 Image 1/Audio1 → 官方标签 <Picture 1>/<Audio 1> | strict模式拒绝引用未连接媒体 |
| AV Decode | 分别解码 video VAE + audio VAE,分离输出 | 输出: frames + generated_audio + 分离的 latent |
| Audio Mix | 源音轨 ⊕ 模型生成音轨:重采样/增益/ducking/峰值限制 | source_gain_db, duck_generated, peak_limit_dbfs |
| Output Trim | 把 Duration Planner 的时间窗口同时应用到帧和音频 | 帧级精度裁切 |
| Preflight | 采样前检查:尺寸/帧数/音频/参考数量/参考视频时长 | 训练区间警告 [124, 362]帧 |
| Dual-Clock Sampler | 4步 Turbo 双时钟采样器,替代 SigmaShift+KSamplerSelect+scheduler | steps=4, shift_video=12, shift_audio=3 |
| 节点 | 菜单 | 用途 |
|---|---|---|
| Multi-Rate Sampler (EXP) | Audio/Experimental | 视频4宏步 + 音频8/10微步(每步完整DiT前向,成本2-2.5x) |
| Reference Image Edit (EXP) | Still/Experimental | Ref2VA 单图语义编辑(颜色/材质),最多9参考图 |
| Still Preflight (EXP) | Still/Experimental | 单帧OOD/画布/模型检查 |
| Still Decode (EXP) | Still/Experimental | 从1/5/124帧候选选最佳静态图 |
| 模式 | 目标音频 latent | 源音频作为参考 | 适用场景 |
|---|---|---|---|
lock_source | 源音频,denoise mask=0 | ✅ 默认 | 画面严格跟随音频,最终保留原音轨 |
remix_source | 源音频,按 strength 重绘 | ✅ 默认 | 保留节奏/语音结构,让模型改造声音 |
reference_only | 空白,完整生成 | ✅ | 源音频只提供语义参考,输出用模型音频 |
native | 空白,完整生成 | ❌ | 纯 H3 原生音画联合生成,无输入音频 |
drive_audio = 给模型的驱动轨(如人声分离的 vocal stem)
final_audio = 最终 mux 的干净轨(如原混音或另一条 stem)
两者分开 → 可以用 vocal 驱动模型生成画面,但最终输出用原混音。插件不假装内置分离器。
H3 视频流 shift=12,音频流 shift=3。原生 DiT 把音频速度乘 d(σ_audio)/d(σ_video),标准 Euler 再统一乘视频步长。20步附近是可用近似,但4步时最后一跳把音频更新放大到应有值的~2.5倍 → 画面正常但音频≈白噪声。
每步仍只做一次联合 AV 模型前向(不拆开模型),但更新 latent 时分离两个时钟:
delta_video × velocity_videodelta_audio[1, 36/37, 12/13, 4/5, 0][1, 0.9, 0.75, 0.5, 0]视频保持4宏步,每个宏步内部为音频安排更多微步:
| 配置 | 音频微步分配 | 计算量 |
|---|---|---|
| 4/4 (稳定) | [1,1,1,1] | 1x |
| 4/8 (EXP) | [2,2,2,2] | ~2x |
| 4/10 (EXP) | [2,3,2,3] | ~2.5x |
⚠️ 每个音频微步都是完整 H3 DiT 前向。Turbo LoRA 训练设计点是4步,额外中间步可能改善音频数值积分,也可能产生分布外误差。
用 H3 Ref2VA 的 Picture 条件生成静态候选帧,支持语义编辑(如改颜色/材质)。
| 模式 | 帧数 | 成本 | 质量 |
|---|---|---|---|
direct_1_frame | 1 | 最低 | 偏离训练帧数严重 |
micro_video_5_frames | 5 | 中 | H3最短帧数 |
trained_124_frames | 124 | 最高 | 质量基准 |
已验证:pruned Ref2VA INT8 在 512×512、20步、direct_1_frame 下成功改色(黑色皮革→深红色)。
⚠️ 这是语义重绘,不是 mask/inpainting,不保证未编辑区域像素不变。
| 模型 | AdaLN adapter | LoRA 兼容 | 本机状态 |
|---|---|---|---|
| fl2va_pruned_int8 (19.5GB) | 208/259 匹配 | ❌ 51个AdaLN不兼容 | ⬅ 当前使用 |
| fl2va_int8_convrot (31.7GB) | 259/259 匹配 | ✅ 完全兼容 | 未安装 (需下载) |
| fl2va_bf16 (61.7GB) | 259/259 匹配 | ✅ 完全兼容 | 未安装 |
Pruned checkpoint 把 AdaLN 输入从 2688 维压缩到 8 维曲线基。Turbo LoRA 训练时用的是原始 2688 维。259 个 adapter 模块中 208 个匹配,但 51 个 AdaLN adapter 的输入维度不匹配 → BypassModelOnly loader 运行时会失败。
| 模型 | 权重 | +采样缓冲 | 3090 24GB |
|---|---|---|---|
| pruned_int8 (当前) | 19.5GB | ~22.5GB | ⚠️ 勉强 (1.5GB headroom) |
| int8_convrot (非剪枝) | 31.7GB | ~34.7GB | ❌ Dynamic VRAM 可跑但极慢 |
| bf16 (非剪枝) | 61.7GB | ~64.7GB | ❌ Dynamic VRAM 可跑但极慢 |
结论:Turbo LoRA 的完整应用需要非剪枝基模(31.7GB+),3090 可通过 Dynamic VRAM 运行但速度会显著下降(远超当前 9.2min/15步)。
基于插件源码和文档分析,夸克网盘 pan.quark.cn/s/bfffb2e76df4 应包含:
| 文件 | 大小(估) | 用途 |
|---|---|---|
minimax_h3_turbo_4步加速.safetensors | ~780MB | Turbo LoRA 标准版 (259 modules / 518 BF16 tensors) |
minimax_h3_turbo_4步加速ema.safetensors | ~780MB | Turbo LoRA EMA 版 (时间平均,通常更平滑) |
| ComfyUI 前端工作流 JSON ×3 | ~21KB each | 稳定4/4、EXP 4/8、EXP 4/10 完整对比工作流 |
SHA-256 已知值(来自 VERIFICATION_REPORT.md):
标准版: 9344cd958f8d354da03dd00b7d462933eb5d0cbf11e56a25d8e9911bb971160e EMA版: 8a1265e81e5368ab0e52cbb990aee3cb59b28b91fdfa415ef8dbabf81aef890e
LoRA 原始来源:HuggingFace larryvrh/MiniMax-H3-Turbo-Lora(T8 做了 ComfyUI key 前缀适配)
| 插件路径 | /root/ComfyUI/custom_nodes/minimax-h3-audio-T8/ | ✅ 已安装 |
| 节点注册 | 14/14 节点全部加载 | ✅ |
| 额外依赖 | 无(复用 ComfyUI PyTorch + torchaudio) | ✅ 零依赖 |
| Turbo LoRA | 未安装(需夸克网盘下载) | ⏳ 待下载 |
| LoRA 兼容基模 | 当前只有 pruned → 51 adapter 不匹配 | ⚠️ 限制 |
| 能力 | 当前原生 H3 | + T8 插件 | 管线影响 |
|---|---|---|---|
| 音频提取 | ❌ VAEDecode 丢弃 | ✅ AV Decode 分离输出 | P10/P12 音频管线简化 |
| TTS 参考锁定 | 需手动拼 R2V 工作流 | ✅ Conditioning 统一节点 | ref2va 工作流标准化 |
| 音频混合 | 需外部 ffmpeg | ✅ Audio Mix (ducking+限制) | 环境音+对白混合自动化 |
| 时间控制 | 手动算 17n+5 | ✅ Duration Planner 自动 | 减少人为错误 |
| 预检 | 无 | ✅ Preflight 全面检查 | 减少运行时失败 |
| 能力 | 当前 | + Turbo 4步 | 提速 |
|---|---|---|---|
| 采样速度 | 15步 ~9.2min | 4步 ~2.5min (预估) | ~3.7x |
| 音频质量(低步) | 白噪声风险 | 双时钟修复 | 质变 |
pan.quark.cn/s/bfffb2e76df4,下载 Turbo LoRA 文件(标准版+EMA版),放到 /data/models/comfyui/loras/tools/convert_minimax_h3_lora_for_comfyui.py 添加 diffusion_model. 前缀研究完成时间: 2026-08-07 · 源码逐行分析 + 容器实装验证 · ComfyUI v0.30.1 + RTX 3090