ComfyUI-WanVideoWrapper:基于 ComfyUI 的 WanVideo 封装节点项目

用户可通过该项目在 ComfyUI 中便捷使用 WanVideo 及相关模型进行视频生成等操作。它提供自定义节点,支持多种额外模型,能快速测试新功能,优化 LoRA 权重处理以提升内存使用效率。【此简介由AI生成】

Branch6Tags0
This repository is empty

WanVideo 及相关模型的 ComfyUI 封装节点

可能影响旧工作流内存使用的更新通知

在最近的一次更新中,我更改了未合并 LoRA 权重的处理方式:

以前,主要是由于我的疏忽,这些权重在使用时总是从 RAM 加载,这当然效率低下,也使得为 LoRA 应用使用 torch.compile 变得困难,从而在使用未合并 LoRA 时强制图形中断。

现在,LoRA 权重被分配为相应模块的缓冲区,因此它们是块的一部分,并遵循块交换机制,统一了卸载过程,并允许 LoRA 权重受益于异步卸载的预取功能。缺点是,如果您没有使用块交换,您会看到内存使用量增加,因为 LoRA 是模型的一部分,并且全部位于 VRAM 上。

如果您使用块交换,LoRA 会与块的其余部分一起交换,但块大小现在更大了,这意味着您可能需要多交换几个块来补偿。

示例情况:您使用 1GB 的未合并 LoRA,并在 14B 模型上交换 20 个块,我们可以将 LoRA 大小除以块数,单个块增加 25MB,20 个块增加 500MB,因此您的 VRAM 使用量将比以前多 500MB,为了补偿,您需要多交换 2 个块。

与 torch.compile 相关的其他 VRAM 问题

在任何修改模型代码的更新之后,当使用 torch.compile 时,经常会遇到 VRAM 问题,这可能是由于使用了没有最新编译修复的旧版 pytorch/triton,和/或来自旧的 triton 缓存,主要在 Windows 系统中。这表现为以下问题:新输入大小的第一次运行可能会显著增加内存使用,只需再次运行即可清除,并且一旦缓存,就不会再次出现。同样,我只在 Windows 中见过这种情况。

要清除 Triton 缓存,您可以删除以下(默认)文件夹的内容:

C:\Users\<username>\.triton C:\Users\<username>\AppData\Local\Temp\torchinductor_<username>

注意:由于大量机器人或误认为这是某种视频生成服务的用户,我暂时阻止了新账户发布问题。

开发中(持续进行)

既然 WanVideo 原生就能用,为什么还要用自定义节点?

简而言之:除非原生版本暂不支持某个模型/功能,否则你不需要用。

详细来说:由于 ComfyUI 核心代码的复杂性,加上我缺乏编码经验,在很多情况下,将新模型和功能实现到独立的包装器中要容易得多、快得多,所以这是一种相对快速测试功能的方式。我把这当作自己的个人沙盒(当然对所有人开放),可以随意尝试,而不必担心兼容性等问题,但因此,这段代码始终处于开发中,容易出现问题。此外,并非所有新模型都值得费劲在核心 Comfy 中实现,不过我也制作了一些补丁节点,允许在原生工作流中使用它们,例如本包装器中提供的 ATI 节点。这也是最终目标,我的想法不是与原生工作流中的所有功能竞争,甚至也不是提供替代方案。话虽如此(这显然不是推销),我还是很感谢大家使用这些节点来探索 WanVideo 的新版本和可能性。

安装

  1. 将此仓库克隆到 custom_nodes 文件夹。
  2. 安装依赖:pip install -r requirements.txt 如果你使用的是便携版,请在 ComfyUI_windows_portable 文件夹中运行:

python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\ComfyUI-WanVideoWrapper\requirements.txt

模型

https://huggingface.co/Kijai/WanVideo_comfy/tree/main

fp8 缩放模型(个人推荐):

https://huggingface.co/Kijai/WanVideo_comfy_fp8_scaled

文本编码器放入 ComfyUI/models/text_encoders

Clip 视觉模型放入 ComfyUI/models/clip_vision

Transformer(主要视频模型)放入 ComfyUI/models/diffusion_models

Vae 放入 ComfyUI/models/vae

你也可以使用原生 ComfyUI 的文本编码和 clip 视觉加载器与包装器配合使用,而不是使用原始模型:

image

GGUF 模型现在也可以在主模型加载器中加载。


支持的额外模型:

SkyReels: https://huggingface.co/collections/Skywork/skyreels-v2-6801b1b93df627d441d0d0d9

WanVideoFun: https://huggingface.co/collections/alibaba-pai/wan21-fun-v11-680f514c89fe7b4df9d44f17

ReCamMaster: https://github.com/KwaiVGI/ReCamMaster

VACE: https://github.com/ali-vilab/VACE

Phantom: https://huggingface.co/bytedance-research/Phantom

ATI: https://huggingface.co/bytedance-research/ATI

Uni3C: https://github.com/alibaba-damo-academy/Uni3C

MiniMaxRemover: https://huggingface.co/zibojia/minimax-remover

MAGREF: https://huggingface.co/MAGREF-Video/MAGREF

FantasyTalking: https://github.com/Fantasy-AMAP/fantasy-talking

FantasyPortrait: https://github.com/Fantasy-AMAP/fantasy-portrait

MultiTalk: https://github.com/MeiGen-AI/MultiTalk

EchoShot: https://github.com/D2I-ai/EchoShot

Stand-In: https://github.com/WeChatCV/Stand-In

HuMo: https://github.com/Phantom-video/HuMo

WanAnimate: https://github.com/Wan-Video/Wan2.2/tree/main/wan/modules/animate

Lynx: https://github.com/bytedance/lynx

MoCha: https://github.com/Orange-3DV-Team/MoCha

UniLumos: https://github.com/alibaba-damo-academy/Lumos-Custom

Bindweave: https://github.com/bytedance/BindWeave

免训练技术:

TimeToMove: https://github.com/time-to-move/TTM

不完全是 Wan 模型,但足够接近,可以在代码库中运行:

LongCat-Video: https://meituan-longcat.github.io/LongCat-Video/

示例:

WanAnimate:

https://github.com/user-attachments/assets/f370b001-0f98-4c4c-bcb5-cfad0b330697

ReCamMaster

https://github.com/user-attachments/assets/c58a12c2-13ba-4af8-8041-e283dbef197e

TeaCache(包含旧的临时开发中基础版本,图像到视频):

注意:新版本的阈值应提高10倍

使用系数时,0.25-0.30的范围似乎较为理想,起始步数可设为0。若使用更高的阈值,为避免早期可能出现的跳步(通常会破坏运动效果),将起始步数设晚一些可能更合理。

https://github.com/user-attachments/assets/504a9a50-3337-43d2-97b8-8e1661f29f46

上下文窗口测试:

使用81帧的窗口大小和16帧的重叠,处理1025帧。在5090显卡上,使用1.3B的文本到视频模型,显存占用低于5GB,生成耗时10分钟:

https://github.com/user-attachments/assets/89b393af-cf1b-49ae-aa29-23e57f65911e


首次测试为512x512x81(分辨率512x512,共81帧)

在20/40块卸载的情况下,显存占用约16GB

https://github.com/user-attachments/assets/fa6d0a4f-4a4d-4de5-84a4-877cc37b715f

视频到视频示例:

使用14B文本到视频模型:

https://github.com/user-attachments/assets/ef228b8a-a13a-4327-8a1b-1eb343cf00d8

使用1.3B文本到视频模型:

https://github.com/user-attachments/assets/4f35ba84-da7a-4d5b-97ee-9641296f391e

Introduction

用户可通过该项目在 ComfyUI 中便捷使用 WanVideo 及相关模型进行视频生成等操作。它提供自定义节点,支持多种额外模型,能快速测试新功能,优化 LoRA 权重处理以提升内存使用效率。【此简介由AI生成】

Customize your domain