ComfyUI-WanVideoWrapper:从 0 到 1 跑通文生视频与图生视频
【免费下载链接】ComfyUI-WanVideoWrapper项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper
ComfyUI-WanVideoWrapper 是一套 ComfyUI 自定义节点。克隆进custom_nodes目录装依赖即可用。它把 WanVideo 系扩散模型包成节点图,覆盖文生视频、图生视频、风格迁移三类任务。全文按「装环境 → 放模型 → 跑第一条视频 → 排报错」顺序展开。
环境核查与安装命令
先确认你的机器达标,再动手。对照下面的表逐项核:
| 项目 | 最低要求 | 推荐配置 |
|---|---|---|
| 操作系统 | Windows 10、Ubuntu 20.04+ | — |
| Python | 3.8 | 3.10 |
| 显卡 | NVIDIA,8GB 显存 | 12GB 以上 |
| CUDA | 11.7+ | 与 PyTorch 版本匹配 |
| 磁盘 | 约 20GB(依赖 + 模型) | — |
两条自检命令:
python --version跑完应看到版本号,落在 3.8–3.10 区间即可。
nvidia-smi跑完应看到驱动版本、CUDA 版本和显存大小。看不到显卡说明 NVIDIA 驱动没装好,先修驱动。
安装给 Windows 和 Linux 两版命令。macOS 用户把 Linux 版的python3换成python3走 venv 流程即可,其余相同。
Windows(PowerShell):
cd path\to\ComfyUI\custom_nodes git clone https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper cd ComfyUI-WanVideoWrapper pip install -r requirements.txtLinux:
cd /path/to/ComfyUI/custom_nodes git clone https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper cd ComfyUI-WanVideoWrapper python3 -m venv venv source venv/bin/activate pip install -r requirements.txt依赖以diffusers>=0.33.0(扩散模型推理管线核心)、einops(张量重排)、accelerate(模型分片加载)为主,外加gguf、opencv-python等十几个包。pip install -r一次拉齐,不用手动挑。
模型文件放哪
模型放错目录是新手第一道坎。四类文件对应四个目录:
| 目录 | 文件类型 |
|---|---|
ComfyUI/models/text_encoders/ | 文本编码器(如 umt5-xxl,把提示词变成向量) |
ComfyUI/models/clip_vision/ | 图像编码器(图生视频用,理解首帧内容) |
ComfyUI/models/diffusion_models/ | WanVideo 主模型(transformer,去噪核心) |
ComfyUI/models/vae/ | VAE 解码器(把 latent 还原成像素帧) |
三条选型建议:
- 主模型优先选FP8 scaled 量化版(如
fp8_e4m3fn后缀),显存占用明显更低,画质损失很小。 - 主模型加载器同时支持GGUF 格式文件,量化实现见 gguf/ 目录。
- 文本编码器和 clip vision 可以直接复用 ComfyUI 原生加载器,不必单独放模型文件。
模型的结构参数在 wanvideo/configs/ 下按 1.3B / 14B、T2V / I2V 分文件存放,加载器会自动匹配,你不需要改配置。
跑通第一条工作流
这节带你用仓库自带的图生视频示例,从一张人像出 5 秒视频。参照 example_workflows/wanvideo_2_1_14B_I2V_example_03.json,导入 ComfyUI 后直接看节点连线。最小链路六步:
WanVideoModelLoader加载主模型:从
diffusion_models选 FP8 文件(示例用的是Wan2_1-I2V-14B-480P_fp8_e4m3fn)。LoadWanVideoT5TextEncoder和WanVideoVAELoader分别加载文本编码器和 VAE,dtype 保持示例中的
bf16。LoadImage导入首帧。用 example_workflows/example_inputs/woman.jpg 这张人像。
WanVideoImageToVideoEncode生成图像 embeds:示例参数为 832×480、81 帧。前一步的图先过ImageResizeKJv2做缩放裁切。
WanVideoTextEncode输入正向提示词,示例里同时挂了负向提示词,
use_negative保持开启。接WanVideoSampler→WanVideoDecode→VHS_VideoCombine,输出 mp4。显存吃紧时在模型加载器后插WanVideoBlockSwap+WanVideoSetBlockSwap,示例设了 10 块换出。
参数起步值:
| 参数 | 起步值 | 选择理由 |
|---|---|---|
| 分辨率 | 832×480 | 示例默认;显存紧张降到 480×480 |
| 帧数 | 81 | 约 5 秒(16fps) |
| steps | 30 | 采样器默认值,够用 |
| cfg | 6.0 | 采样器默认值,过高易过饱和 |
| shift | 5.0 | 采样器默认值,先不动 |
| block swap | 10–20 块 | 按显存上调,见下一节实测数据 |
小案例:输入woman.jpg,提示词写「一位年轻女性,微笑逐渐变为惊讶,柔和室内光线,轻微头部运动」。预期产出 832×480、81 帧、约 5 秒的 mp4。跑完再换thing.png做产品 360 度展示,提示词写「米色泰迪熊缓慢匀速 360 度旋转,白色背景,柔光」,帧数加到 160 左右就是 10 秒。
想做主体替换或动作迁移,用human.png这类人物参考图。导入 example_workflows/wanvideo_2_1_14B_MoCha_replace_subject_KJ_02.json 或 Phantom 同名工作流,参考图接对应节点即可,主链路参数不变。
显存不足与翻车对照
优化手段三条,各带收益和边界:
- 主模型换 FP8 或 GGUF。收益最大的一刀,14B 模型从 fp16 降到 fp8 后显存近乎减半。边界:量化有损,特写细节不如全精度。
- 开 block swap,把 transformer 的 blocks 换出显存。收益:512×512×81 的 14B 测试在 20/40 块换出下约 16GB;1.3B 模型做 1025 帧长视频(窗口 81 帧、重叠 16 帧)可压到 5GB 以内。边界:未合并的 LoRA 现在并入 block 一起换出,单块体积变大。💡 以 1GB LoRA 配 14B 模型为例,20 块换出时单块涨约 25MB,总涨 500MB,多换 1–2 块补回。
- 开 TEA cache 跳步。收益明显,阈值(带系数版)建议 0.25–0.30,start step 设 0。边界:阈值太激进会跳掉前段步数,运动直接崩坏,可以改从更晚的步开始跳。
⚠️ 用 torch.compile 时,换输入尺寸后首次跑显存可能异常飙升。清掉 Triton 缓存再跑一次通常就好。Linux 执行:
rm -rf ~/.cache/tritonWindows 用户手动清空C:\Users\<用户名>\.triton和AppData\Local\Temp\torchinductor_<用户名>两个目录。
常见问题对照:
| 症状 | 原因 | 处理 |
|---|---|---|
| 模型加载失败、下拉框选不到 | 文件没放对目录或下载不完整 | 对照四个目录逐一检查,重新下载 |
| 显存溢出 OOM | 分辨率或帧数过高 | 降分辨率、减帧数、加 block swap、换 FP8 |
| 运动卡顿、跳变 | 换出块过多或 TEA 阈值过激 | 减少换出块数,阈值回调到 0.25–0.30 |
| 人脸变形 | 首帧质量差或主体被裁切 | 换更清晰的输入图,人物完整入画 |
| 生成速度慢 | 步数过多、未用量化模型 | 步数回落到 30,主模型换 FP8/GGUF |
继续往哪走
基础链路跑通后,仓库目录本身就是功能地图。每个模块都配了example_workflows/里的同名.json,导入后直接看连线最快:
- controlnet/:姿态、深度等条件控制,见
wanvideo_2_2_5B_I2V_controlnet_example.json - unianimate/:DW 姿态驱动动作动画,见
wanvideo_WanAnimate_example_01.json - s2v/:音视频联合生成
- skyreels/:风格迁移,见
wanvideo_2_1_14B_skyreels_a2_example_01.json - onetoall/:角色动画迁移,见
wanvideo_2_1_14B_OneToAllAnimation_pose_control_example_01.json - context_windows/:长视频分窗拼接
- cache_methods/:TEA cache 跳步加速的实现
从一张图出 5 秒视频,到控制动作、分窗拼长视频,主流玩法这里都有对应节点。剩下的就是按显存把 block swap 和 TEA 阈值调顺,多跑几次。
【免费下载链接】ComfyUI-WanVideoWrapper项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考