快速结论:这个报错通常出现在使用 WanVideoSampler 但没有连接 multitalk_embeds 的普通 I2V/T2V 工作流中,属于采样器里 multitalk_audio_stride 变量未初始化就被引用导致的 UnboundLocalError。优先排查 nodes_sampler.py 中该变量是否有默认初始化,或代码是否已包含修复提交。
适用环境:Issue 中确认的环境包括:ComfyUI WanVideoWrapper(main / latest main)、ComfyUI v0.22.2、Windows 10 / Python 3.13,以及 Windows 11 / Python 3.12;模型为 Wan2.2 I2V 14B,且同样影响其他模型变体。
最快修复方案:Issue 中明确验证过的修复是更新到提交 8f1804b,评论确认“Fixed in commit 8f1804b, confirmed working”。如果暂时不能更新,可按 Issue 讨论中的替代改法修改 nodes_sampler.py:在第 566 行补上 multitalk_audio_stride = None,或把第 822 行改为 if 'multitalk_audio_stride' in locals() and multitalk_audio_stride is not None:。这些手工修改在 Issue 评论中被报告为有效,但属于用户操作,需自行承担风险。
注意事项:手工修改 Python 源文件会带来与后续版本冲突、覆盖更新丢失等风险;修改前建议备份文件或确认版本。提交 8f1804b 是 Issue 中明确确认有效的修复,其他改法虽在评论中报告有效,但未在 Issue 中作为官方统一方案声明。
问题场景
用户在 ComfyUI 中运行基于 WanVideoWrapper 的普通 I2V 或 T2V 工作流,使用 WanVideoSampler 节点时,没有连接 multitalk_embeds 输入。工作流执行到采样器 process 方法时触发报错,导致采样无法继续。Issue 描述中给出的复现步骤如下:创建任意使用 WanVideoSampler 的 I2V/T2V 工作流,保持 multitalk_embeds 输入未连接,然后运行工作流。
报错原文
UnboundLocalError: cannot access local variable 'multitalk_audio_stride' where it is not associated with a value
Issue 指出堆栈指向 nodes_sampler.py:822 的 process 方法。
原因分析
在 nodes_sampler.py 中,multitalk_audio_stride 只在 if multitalk_embeds is not None: 代码块内部(Issue 引用为第 587 行)被赋值:
multitalk_audio_stride = multitalk_embeds.get("audio_stride", None)
但后面第 822 行无条件引用了它:
if multitalk_audio_stride is not None:
当没有连接 multitalk 输入时,multitalk_embeds 为 None,上面的 if 块被跳过,multitalk_audio_stride 从未被初始化,因此触发 UnboundLocalError。Issue 还特别指出,其他相关变量(multitalk_audio_embeds、audio_scale、audio_emb_slice、audio_features_in)在该 if 块之前都有默认初始化,唯独 multitalk_audio_stride 缺少默认值。
环境排查
- 确认 ComfyUI-WanVideoWrapper 是否为 Issue 所对应的 main/latest main 版本,并检查是否已包含提交
8f1804b。 - 确认 ComfyUI 版本,Issue 中报告为 v0.22.2。
- 确认操作系统与 Python 版本,Issue 中涉及 Windows 10 / Python 3.13 以及 Windows 11 / Python 3.12。
- 确认使用的模型,Issue 中为 Wan2.2 I2V 14B,且说明也影响其他模型变体。
- 检查工作流中
WanVideoSampler节点的multitalk_embeds输入是否未连接;这是触发问题的直接场景。
解决步骤
- 优先更新 ComfyUI-WanVideoWrapper 到包含提交
8f1804b的版本;Issue 评论已确认该提交可修复并正常工作。 - 如果暂时无法更新,可参考 Issue 中的建议修复:在
nodes_sampler.py第 566 行附近,将默认初始化从multitalk_audio_embeds = audio_emb_slice = audio_features_in = None改为multitalk_audio_embeds = audio_emb_slice = audio_features_in = multitalk_audio_stride = None,确保变量在未连接 multitalk 时也有默认值。 - 或者参考 Issue 评论中的另一种改法:将第 822 行的
if multitalk_audio_stride is not None:改为if 'multitalk_audio_stride' in locals() and multitalk_audio_stride is not None:。 - 如果选择手工修改,修改后保存文件并重启 ComfyUI,确保代码重新加载。
验证方法
重新运行之前触发报错的普通 I2V/T2V 工作流,保持 multitalk_embeds 输入不连接,观察 WanVideoSampler 是否能够正常执行并完成采样,不再出现 UnboundLocalError: cannot access local variable 'multitalk_audio_stride'。Issue 评论确认在应用提交 8f1804b 后问题已解决。
参考来源
kijai/ComfyUI-WanVideoWrapper #2019
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


