快速结论:该报错通常发生在运行 MiniMax H3 官方文生视频工作流时,由第三方自定义节点(如 ComfyUI_smZNodes、efficiency-nodes-comfyui)全局替换了 `comfy.sample.prepare_noise` 函数,导致 NestedTensor 噪声被降级为普通视频流张量,最终在 `SamplerCustomAdvanced` 的 `noise_scaling` 阶段因形状不匹配而崩溃。优先排查是否有安装了此类会挂钩 `prepare_noise` 的扩展节点。
适用环境:已确认在 ComfyUI 0.30.0、0.30.1、0.30.2 中复现;操作系统包括 Windows 11、MacOS 26.6 (M3 Ultra)、Linux。已确认的 Python 版本为 3.12.10,PyTorch 2.9.1+cu130,显卡 RTX 5070 Ti。
最快修复方案:暂无确认的一步修复方案。可优先尝试禁用 ComfyUI_smZNodes 和 efficiency-nodes-comfyui 这两个第三方扩展节点,或在其 `prepare_noise` 替换函数顶部添加 NestedTensor 保护判断(详见“解决步骤”)。
注意事项:核心 ComfyUI 代码本身是正确的;该问题由第三方扩展的全局 monkey-patch 引起,禁用扩展是最安全的验证方式。若修改第三方扩展代码,需注意升级扩展后修改可能会被覆盖。
问题场景
用户运行 ComfyUI 官方 MiniMax H3 文生视频工作流(Image to Video (MiniMax H3) UUID 子图节点),使用默认设置(864×480 分辨率、5 秒时长),采样阶段在 `SamplerCustomAdvanced` 中立即失败。该问题在 ComfyUI 0.30.0 至 0.30.2 中均存在,与操作系统无关。
报错原文
RuntimeError: The size of tensor a (59940) must match the size of tensor b (1451808) at non-singleton dimension 2
File "comfy\model_sampling.py", line 97, in noise_scaling
return sigma * (s * noise) + (1.0 - sigma) * latent_image
原因分析
核心 ComfyUI 在 comfy/sample.py:22-38 中专门为 NestedTensor 提供了 prepare_noise 分支处理。但第三方节点 ComfyUI_smZNodes 在挂钩注册时无条件替换了整个 comfy.sample.prepare_noise 函数,其替换版本没有处理 is_nested 分支,而是直接调用 latent_image.size() 生成普通张量。
问题在于 NestedTensor.size() 只返回第一个子张量(视频流)的形状 [1, 24, 37, 30, 54],而忽略了音频流 [1, 32, 2, 207]。这导致生成的噪声只包含视频流且通道数被缩减,与原始 AV NestedTensor 不匹配。当 noise.unbind() 对普通张量按维度 0 解绑时,结构完全错乱,最终在 noise_scaling 中报出形状不匹配错误。
该问题与 V1 还是 V3/子图节点路径无关,只要运行了替换补丁就会触发。
环境排查
- 检查是否安装
ComfyUI_smZNodes:若 traceback 中出现File "custom_nodes/ComfyUI_smZNodes/smZNodes.py", line 114, in KSAMPLER_sample,则确认该扩展的prepare_noise补丁已生效。 - 检查是否安装
efficiency-nodes-comfyui:当其中 RNG 源设置为gpu/nv时也会触发同样问题。 - 如需最小化复现,可尝试卸载全部第三方扩展后重新运行工作流。
解决步骤
- 首选方案:禁用冲突扩展。在 ComfyUI 的
custom_nodes目录中暂时移走或重命名ComfyUI_smZNodes和efficiency-nodes-comfyui文件夹,重启 ComfyUI 后重新运行工作流。这是最安全可靠的验证方式。 - 临时补丁(可优先尝试):修改
ComfyUI_smZNodes中替换的prepare_noise函数(位于modules/rng.py:40和:106),在其开头加入 NestedTensor 保护判断:if getattr(latent_image, 'is_nested', False): import comfy.nested_tensor, comfy.sample generator = torch.manual_seed(seed) return comfy.nested_tensor.NestedTensor( [comfy.sample.prepare_noise_inner(t, generator, noise_inds) for t in latent_image.unbind()] )该补丁已在 Issue 中验证有效,打包后的噪声形状变为
(1, 1, 1451808),与 latent 匹配。 - 若使用
efficiency-nodes-comfyui,可将其 RNG 源从gpu/nv改回其他选项,或直接禁用该扩展。 - 更新 ComfyUI 核心版本,关注后续版本是否会加入更明确的报错提示(当前仍未修复)。
验证方法
重新运行 MiniMax H3 官方文生视频工作流,观察采样阶段是否正常进行。若不再出现 59940 与 1451808 的形状不匹配错误,且能成功生成视频,则问题已解决。也可打印中间张量检查:打包后的噪声形状应为 (1, 1, 1451808),与打包后的 latent 完全一致。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。

![[Bug] Canary Docker image fails to start due to missing @swc/helpers runtime file](https://www.chat-gpts.plus/wp-content/uploads/2026/08/18323-56abae9d-768x403.jpg)
