ARTICLE · 1030219
H3 数字人插件说明书:它能干什么、怎么装、怎么用
QUOTE
同一个模型,喂对信号和喂错信号,出来的是两种东西。

如果你在 ComfyUI 里跑过 MiniMax H3 的数字人视频,大概经历过这种落差。
画面本身没问题,脸是那张脸,光影也自然。可一配上声音就露怯:嘴动的节奏总比声音慢半拍,念到重音的地方嘴没张开,句子之间的停顿也对不上。你反复换提示词、换随机种子,效果时好时坏,像在碰运气。
另一道坎出现在你想做高清的时候。为了让画面更清楚,常见的做法是把视频切成几块分开算,再拼回一整张。可只要这么做,声音就容易乱——画面被切成了四块,声音却没有对应的处理方式,于是原本对得上的口型又开始飘。
有开发者专门为这两件事写了个小插件,叫 selflift-Avatar。
这篇文章不讲代码,也不要求你懂 ComfyUI 的内部机制。只回答三个问题:它是什么、能帮你解决什么、以及怎么把它装上。

— 声音与画面各走一条轨道,错开的那一格就是问题所在
本文看点
01
它到底解决什么问题
02
三个核心能力拆开看
03
怎么装,以及六个坑
01
WHAT IT IS
一句话说清它是干什么的
它是挂在 ComfyUI 上的一个小插件,专门补 H3 数字人流程里的音频这一环。
打个比方。H3 像一台既能拍画面、又能录声音的摄影机。你递给他一段参考声音,希望他照着这段声音去演嘴型。但默认情况下,他未必真的把这段声音当成了表演指令——也有可能他只是把声音原封不动地放进了最终文件里,画面照自己的意思演。
「selflift-Avatar 干的活,就是在开拍之前,把这段声音正确地交到 H3 手里,并明确告诉它——照着演,别改。」
有三件事需要先说清楚,免得期待错位。
它是独立分支
不是 MiniMax 官方项目,也不是原版 SelfLift 的升级版,而是一个单独维护的实验版本。
它使用独立的节点编号
可以跟原版 SelfLift 同时装在一个 ComfyUI 里,两者互不打架。
它不包含模型权重
也不新增任何依赖。前提是你已经有一个能正常跑 H3 的环境。
当前公开的开发版本是 v0.1.2-experimental,2026 年 9 月 16 日发布。
02
WHAT IT SOLVES
它能帮你解决什么问题
场景一 · 声音是对的,嘴型总是差一点
这是最常见的困扰。你给了一段很干净的人声,期待画面里的人物照着念。结果出片一看,节奏是对的,但嘴型含糊,重音处理得很随意。
要理解这件事,先要接受一个有点反直觉的事实:最终视频里有正确的声音,并不能证明画面是照着这段声音演出来的。声音可能只是被原样贴了上去,画面本身是模型自己发挥的。
selflift-Avatar 的做法,是在生成开始之前就把声音当作约束条件交给模型,而不是等画面生成完再把声音贴回去。差别听起来很小,但它决定了模型到底有没有机会用上这段声音。
场景二 · 想上高清,一切块声音就乱了
为了出更清楚的画面,常见做法是把整段视频按空间切成几块,分别用更高的分辨率计算,再拼回去。这种思路本身没问题。
问题出在声音。画面可以切,声音不能切——你没法把一句话切成上下两半,让上半句在左边那块算、下半句在右边那块算。这个插件的处理方式很直接:每个画面块都拿到完整的声音数据,从头到尾不参与切分。
场景三 · 不想让 AI 重新配音,想用原声
很多数字人流程会连声音一起重新生成。如果你的素材本来就是自己录好的,重新生成等于白录,音色变了,情绪也没了。这个插件提供了保留原声的开关:你需要保留的那部分声音,会被完整地传给模型,而不是被覆盖掉。
OFFICIAL DEMO
项目发布页提供两段完整演示视频
音频驱动 Demo · 13.67 秒 · 1088×1920 · 24fps
工作流 Demo · 10.05 秒 · 1906×1080 · 30fps
03
THREE ABILITIES
三个核心能力拆开看

— 原声保留、高清分块、音频条件注入
能力一 · 原声保留
用一个开关决定这段声音的命运:是原样保留,还是交给 AI 重新生成。你只需要在声音的遮罩上填 0,它就明白这段声音要保持原样;填 1 则表示允许重新生成。0 到 1 之间的数值代表软约束,也就是部分保留。
这里有个前提:要保留的内容,必须真实存在于输入的数据里。你不能要求它保留一段你根本没提供的声音。
能力二 · 高清分块,但声音不切
打开高清分块开关后,插件会根据你当前的可用资源,自动决定往哪个方向切、切成几块,范围是 1 到 8 块。它也可能选 1 块,那意味着当前根本不需要拆。关键在于切分只发生在画面方向,每一块画面拿到的都是完整的声音。这是它跟普通分块方案最本质的区别。
能力三 · 把声音真正喂进生成过程
这是 v0.1.2最主要的一项改动,也是最容易被忽略的一项。插件把声音的约束信息,在采样之前就送进了 H3 的原生处理路径,而不是等模型算完再回头修。
同时它做了一件事:把高清阶段带噪声的恢复状态,和干净的声音基准,分开保存。这样残余的采样噪声就不会被误当成原始声音。
说得再直白一点:它修的是管道,让信号能正确送达。它不负责让模型变得更聪明。
04
HOW IT WORKS
它是怎么工作的
整个流程其实只有四步:准备声音、贴上标签、合成一路、开始生成。下面这张图把它们串了起来。

— 四步流程 + 遮罩速查
第一步,把声音准备好。裁到目标长度,转成机器能读的格式。注意,声音片段、视频帧的范围、最终输出的帧率,这三者必须对应同一段素材,不能各说各话。
第二步,告诉它哪些要保留。用一个遮罩给声音贴标签,这一步决定了后面模型能不能动你的声音。三种取值对应的含义,可以看下面这张表。
第三步,把声音和画面合成一路,一起交给采样器。这一步是分块功能能够正确工作的基础。
第四步,交给 selflift-Avatar 自己的采样器节点开始生成,它在标准采样流程之外,额外接管了声音约束的传递。
一个特别提醒:如果你的最终视频节点直接使用了原始声音,那么听到正确的声音,并不能证明模型在生成画面时真的用它驱动了嘴部。要判断效果,请去看画面本身。
05
GETTING STARTED
四步在本地装上它
装它的门槛,主要在于你得先有一个能跑 H3 的环境。

— 前提条件与四个步骤
用 Git 拉取到 ComfyUI 的 custom_nodes目录,或从发布页下载 ZIP 解压进去。两种方式选一种就行。
这一步不能省。只刷新浏览器不会重新加载 Python 节点,新插件不会出现。更新版本后也一样。
装好后,节点列表里会多出三个:一个给 H3 用,一个给图片用,还有一个是时间步相关的高级节点。这篇文章用到的,主要是给 H3 用的那个采样器。
采样器请使用标准的 Euler,并把 s_churn保持为 0。另外,如果你在用遮罩相关的工作流,先不要打开高清分块开关,两者同时使用目前还不被支持。
CHECK
怎么确认分块规划器真的启动了?看控制台。出现自动分块已启用的提示,以及一行标明方向和块数的日志,就说明生效了。
06
Use ON RUNNingHuB
本地搞不定?云端直接用吧!
一步一步来很简单。
AI应用:Minimax H3 Selflift音频驱动数字人
体验地址:https://www.runninghub.cn/ai-detail/2100501021809274881?inviteCode=3487e1be




07
PITFALLS
六个容易踩的坑
装了两份。插件目录里同时存在两个本插件的副本,会导致节点重复。要装新版就先把旧版移出去,不要原地叠加。
只刷新了浏览器。前面说过,但真的有很多人卡在这里。更新完必须重启 ComfyUI 的后端进程。
开着分块用局部遮罩。高清分块目前只支持一种组合:画面全部重新生成,声音全部保留。用局部保留、软遮罩这类设置时,请先把分块关掉。这不是保守,而是那些组合下的遮罩也需要跟着切块、变换、对齐,硬开只会出错。
三段时间没有对齐。声音片段、视频帧范围、输出帧率必须指向同一段素材。对不齐的话,后面所有环节都会错位。
把它当成后期对口型的工具。它不是。它工作在生成阶段,而不是在视频做完了拿去修。如果你的素材已经成片,指望它来补救是不现实的。
对效果抱有不切实际的期待。项目作者自己的说明写得很坦白:它修的是遮罩和条件的传递问题,并不保证口型绝对准确。外部的高清放大模型包含时间维度的卷积,而且不会直接接收目标声音,所以最终的嘴部细节仍可能受影响。
∞
EPILOGUE
它修的是管道,不是模型
写到这里,其实可以给这个插件一个很准确的定位:它没有让 H3 变强,也没有发明什么新的生成方式。它做的事情,是把一段本来就应该正确传递的信号,认真地送到了它该到的地方。
这件事听起来不够性感。但做过视频的人会知道,很多时候效果不好,不是模型不行,而是信号在某个环节走丢了。找到那个环节并把它修好,往往比换一个更大的模型更有效。
作者在说明里也留了一句很实在的话:目前它是实验版本,通过了 34 项测试,但还没有做系统性的效果评估,不同的人物、声音、提示词和随机种子,结果都可能不一样。
所以,把它当成一个正在被认真打磨的工具,而不是一个承诺结果的方案。如果你本来就在跑 H3 数字人,它值得花二十分钟装一下试试;如果你只是想找一个开箱即用的对口型工具,它可能还不是你要的答案。
同一段声音,喂对和喂错,出来的是两种东西。
如果你觉得今天这篇有收获,欢迎点赞、在看、转发三连,我们下篇见。