comfyui-SelfLift(MiniMax H3 渐进分辨率采样 / 时间一致性补丁的 ComfyUI 插件)| 仓库 | 角色 | 关键数据(2026-09-17 查) |
|---|---|---|
| facok/comfyui-SelfLift | 上游本体("饼佬",中文社区作者)。SelfLift 图像采样器 + H3 采样器 + H3 TST 补丁,共 3 个节点 | 创建 2026-09-07,最后推送 2026-09-12,184 star / 5 fork / 6 open issues,无 License、无 Release、无 tag,默认分支 master,代码仅 9 个文件(约 146KB) |
| slmonker/selflift-Avatar | 第三方实验分支(2026-09-14 创建,第二天)。专攻 H3 音视频双流遮罩 + 原始音频保留(数字人口型/换人方向) | 创建并推送于 2026-09-14,19 star,当前版本 v0.1.1-experimental,README 用中文,同样无 License(明确声明"不擅自新增许可证") |
| LBH-123-AI/Comfyui_Minimax_h3_latent_Upscaler | 配套外部 lifter(H3 latent 学习式放大器),被 SelfLift 的 H3 节点调用 | 创建 2026-08-17,612 star,权重在 HF |
上游 comfyui-SelfLift 文件清单(全部代码):__init__.py / nodes.py(31KB) / selflift.py / h3_upscaler.py / h3_tiling.py / h3_tst.py / diagnostics.py + 两个 README。没有模型权重、没有新依赖。
少步模型(4~8 步)每次前向的空间成本占比很高,把宽高砍半 → latent 空间位置数降到约 1/4。所以:
transition_step)在低分辨率 latent 上跑;z_lat:直接 latent 插值(nearest / bilinear / 外部 H3 lifter)——快,但 latent 通道不一定有局部插值性质,易分布偏移;z_pix:VAE decode → 像素空间放大(图 Lanczos / 视频 anti-alias bicubic)→ VAE encode——稳,但慢且偏平滑;rho 比例位置,权重在线性映射到 [w_min, w_max],只在高风险区向像素锚点修正(不是整张替换);sigmas[transition_step:] 续跑。关键:N 步调度仍然严格是 N 次 NFE(不额外调用去噪模型)。额外成本 = rho>0 时一次 VAE decode→放大→encode 往返。所以只有当"省下的模型前向时间 > VAE 往返"才净加速。
边界:rho=0 纯直接提升;rho=1, w=1/1 纯像素锚点;0<rho<1 才是 SelfLift-zero。
optimized_attention_override 注入:定位视频 token → 对每帧 post-RoPE 的 q/k 做空间平均 → 构造 F×F 帧级传输矩阵 A;H_row(传输多弥散)与 von Neumann 熵 H_vN(全局谱多样性),定义带符号的"谱张力" T:
T>0 → 局部过于弥散 = 过度混合(over-mixing)T<0 → 全局碎片化 = 各帧难以维持一致状态(fragmented)tau=0.2 推荐,0.5 已明显过强。TST 是最贴合本机痛点的一块:它针对的正是"细节闪烁/形变、人物与服装身份漂移、不符合物理的运动"——即我们换人链路里反复遇到的 identity drift。而且它接任意标准采样器,不限于 SelfLift 采样器。
三个节点,全在 selflift 分类下:
model / positive / negative / vae / latent_image / sampler / sigmas / seed / cfg + 参数:
| 参数 | 默认 | 说明 |
|---|---|---|
transition_step | 6 | 低分辨率阶段步数。论文:Z-Image-Turbo 8 步取 6,FLUX.2-Klein 4 步取 3 |
lowres_scale | 0.5 | 前缀空间缩放 |
rho | 0.3 | 高风险位置修正比例。Klein 取 0.4;0 关闭锚点 |
w_min / w_max | 0.5 / 1.0 | 修正强度范围 |
latent_upsample | nearest | 直接提升插值方式(可选 bilinear) |
model_hires | — | 高分辨率阶段换模型(必须同架构同 latent 格式) |
H3 音视频实验性适配(论文未验证)。两种模式:
rho=0,学习式纯 latent 提升 —— 但这不算 SelfLift-zero;upscaler_model=none + rho>0,建议起点 rho=0.6、w_min=w_max=1。额外:upscaler_model、highres_tiling(把高分辨率阶段切成 1~8 个空间块省显存)、latent_diagnostics。节点会拒绝 upscaler_model=none 且 rho=0 的组合(那等于只剩高风险的 nearest 路径)。
MODEL → MODEL 补丁节点,参数只有 tau(默认 0.2)与 log_diagnostics。
s_churn=0,采样器必须来自 KSamplerSelect 的 euler,其它采样器被拒绝;noise_mask 与 highres_tiling 不兼容;highres_tiling 不兼容(TST 会打印警告并跳过);lowres_scale=0.5 时只有 384px,可能偏离骨干训练分布(作者明确要求自行验证)。SELFLIFT_TIMING_SYNC=1(CUDA 同步计时)、SELFLIFT_MEMORY_LOG=1(阶段内存快照)、SELFLIFT_DEBUG=1(导出过渡中间 PNG)、SELFLIFT_TST_EXACT=1(精确算子探针,仅调试)。 日志关键词:[SelfLift plan] / [SelfLift timing] / [SelfLift upscaler] / [SelfLift tiling memory] / [H3 TST]。
同一 prompt + seed,transition_step=6、lowres_scale=0.5:
| 测试 | upscaler | rho | 权重 | 结果(单 seed) |
|---|---|---|---|---|
| 原生基线 | — | — | — | 干净 |
| 纯像素锚点 | none | 1 | 1/1 | 干净 |
| 直接路径 nearest | none | 0 | 任意 | 大范围伪影 |
| 论文图像参数 | none | 0.3 | 0.5/1 | 伪影大部分仍在 |
| H3 强修正 | none | 0.6 | 1/1 | 主要伪影消除 |
| 外部 lifter | H3 ckpt | 0 | 任意 | 学习式提升 |
⚠️ 这是单 seed 证据,作者自己写明"仅为单 seed 证据"。结论是"H3 的直接提升误差比论文图像骨干更广,建议从强修正起步,过平滑再降"。
| # | 标题 | 状态 | 要点 |
|---|---|---|---|
| #9 | 音频全是电子噪音 | open、0 回复 | 无报错、画面基本正常,音频全是电子噪音(Win11 + ComfyUI 0.34.2)。未解决 |
| #8 | 和 AudioDrive 节点一起用 | open | 报 noise_mask/inpainting is not supported |
| #7 | 锁定音频会出错 | open | 同一错误;作者回复"我现在去放宽限制"→"解除限制了,但没办法保证这样用会不会有其它问题" |
| #6 | 0.7(Seedream? 实为 15 秒数字人)跑起来内存/显卡/虚拟内存全满 + 二采黑屏 | open | 显卡 5060Ti 16G(=本机同款!) |
| #5 | 能否拆分成"一采→预测x0→放大latent→重新加噪→二采"两个节点 | open | 2 条回复;带 add guide/motion context 的双采样工作流需要对两个 latent 分别引导 |
| #4 | 插件节点分类名称 | open | 11 条回复(分类命名讨论) |
#6 的实测数据(同款 5060Ti 16G,15 秒数字人):
这条对本机极有价值:16GB 显存跑 H3 + 二采(高分辨率阶段)是显存硬瓶颈,highres_tiling 正是为此设计的兜底(但代价见下)。而且 79s/步的二采速度说明"提速"在 H3 上未必成立——SelfLift 省的是低清阶段的算力,二采本身反而更贵。
facok/comfyui-SelfLift 未声明任何 License(GitHub API license: null,无 Release / 无 tag);| 部分 | 证据强度 |
|---|---|
| SelfLift-zero 图像采样器 | 最强——直接对应论文验证范围 |
| H3 SelfLift-zero 渐进分辨率 | 中/弱——作者单 seed 实测,论文未验证 |
H3 highres_tiling | 弱——实验性,块间无全局注意力、只保留第一块音频、不支持 ControlNet/noise_mask/TST |
| H3 TST 移植 | 中——论文 Best Paper + 真实 H3 上 89–100% 逐头一致,但"不能创造底模没有的细节" |
| Avatar 分支(音频遮罩/口型) | 最弱——v0.1.1-experimental,仅 28 项 CPU 测试,真实大模型生成未验证,作者自述"不保证所有音频与角色都能准确同步" |
b2da2b42,2026-09-16),Python 3.12.3,torch 2.11.0+cu130;custom_nodes/ 里 没有 SelfLift,也没有 MiniMax H3 latent upscaler 节点包;models/latent_upscale_models/ 里已经有 lifter 权重:
minimax_h3_latent_upscaler_3d_bf16.safetensors(659 MB)minimax_h3_latent_upscaler_3d_fp16.safetensors(659 MB)ltx-2.5-latent-spatial-upscaler-x2-bf16-1.0.safetensors(950 MB)⇒ SelfLift 的 H3 "外部 lifter"路径开箱即用(它自己在 h3_upscaler.py 里实现推理,不需要另装 LBH 的节点包)。节点默认会自动选第一个文件名含 h3 的模型。
tau=0.2)单点接入——直接打我们换人链路最痛的 identity drift / 细节闪烁,代价仅 1~2% 开销,接任意标准采样器,不需要动 SelfLift 采样器。这是投入产出比最高的一项。rho=0,外部 lifter)——我们本来就有权重,可作为"低清 384p 一采 → 学得式 latent 提升 → 高清二采"的提速/省显存路线,和现有 Singularity 双采样思路同源但实现不同(Singularity 走 VDN/Sol-Attn,SelfLift 走 latent 学习式提升 + 自恢复修正)。highres_tiling 兜底 16GB——issue #6 证明 16G 跑 H3 二采会爆内存,tiling 是唯一的官方兜底手段,但画质/运动可能变化、只保留第一块音频,只能当实验手段。MiniMaxH3MemoryEfficientSageAttentionPatch 强行把注意力拉回 SageAttention(sm120 无内核 → triton JIT → GSP 挂死)(见 dl-hub/06-ComfyUI-H3运维记录、dl-hub/10-视频生成流水线/H3换人视频-部署与实测报告-20260914.md)。TST 同样是注意力注入型补丁(走 optimized_attention_override),虽然论文口径只改 query 温度、不换注意力后端,但在本机务必单独、短片段、盯 nvidia-smi 试跑,不要和 sage 相关补丁叠加。noise_mask、highres_tiling、TST 三者互相有互斥关系(见 3.4 硬约束)。noise_mask 报错是作者临时放宽限制的(作者原话"没办法保证这样用会不会有其它问题")。做数字人/换人时音频条件必须单独验收。严格 A/B,固定 seed、prompt、帧数、输出 FPS、总步数,一次只改一个变量:
第 0 步(基线):现有官方 Director H3 工作流,原生全分辨率采样,记录时间 + 显存峰值 + 熟肉质量。
第 1 步(最低风险,先摘果子):只接 TST,tau=0.2,采样器不动。
tau=0(验证补丁本身不改结果)③tau=0.2;tau=0 与"不接"结果不一致,说明补丁有副作用,先停。第 2 步(省显存/提速):H3 SelfLift 采样器 + 外部 lifter(rho=0),transition_step ≈ 总 NFE 的 3/4、lowres_scale=0.5、highres_tiling=off。
第 3 步(实验性,可选):upscaler_model=none + rho=0.6 + w_min=w_max=1 的 H3 SelfLift-zero 路线,与"纯像素锚点 rho=1"和"论文参数 rho=0.3"分别对照,判断强修正是否真的必要。
第 4 步(仅在爆显存时):highres_tiling=on,接受画质/运动变化与"只保留第一块音频"的代价;此时必须关掉 TST 和 noise_mask。
数字人/换人额外一步:若要用 selflift-Avatar 做音视频遮罩,先读它的"口型效果排查"章节——音频保留 ≠ 口型正确,作者明确要求固定全部参数、先与原生全分辨率采样对比,再分别测"更多高清步数"与"不用外部 upscaler 的像素锚点路径"。
cd /home/zyw/ComfyUI/custom_nodes
git clone https://github.com/facok/comfyui-SelfLift.git
# 然后必须重启 ComfyUI 后端(只刷新网页不加载新 Python 代码)
(Avatar 分支是另一个注册 ID,可与上游并存;但不要放两份 Avatar 副本,会节点重复注册。)
优点
缺点 / 保留意见
建议:先只试 TST(tau=0.2),成本极低、痛点最准;渐进分辨率采样与 Avatar 分支作为第二批实验,且必须做固定 seed 的 A/B 与音频单独验收。不要直接把它当生产链路替换现有官方 Director 工作流。
dl-hub/28-H3-Singularity双采样提速方案/、dl-hub/10-视频生成流水线/H3换人视频-部署与实测报告-20260914.md、dl-hub/06-ComfyUI-H3运维记录/