10 分钟搭好 WanVideo 图生视频工作流:从安装到显存自管
【免费下载链接】ComfyUI-WanVideoWrapper项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper
想把手头一张照片变成一段短视频,你多半体会过这份麻烦:Wan 2.1/2.2 新出的运镜、姿态控制这类能力,ComfyUI 原生支持不全,你得再翻一个项目、再搭一遍环境。ComfyUI-WanVideoWrapper 就是冲着这件事来的——它把 Wan 2.1、Wan 2.2 以及相机控制、主体参考等十几类相关模型接进节点流,一个 ComfyUI 项目就能同时干文生视频、图生视频和运镜这几件事。
三步装好 ComfyUI-WanVideoWrapper
第一步:把仓库克隆进 custom_nodes 目录。
git clone https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper ComfyUI/custom_nodes/ComfyUI-WanVideoWrapper第二步:装依赖。如果你用的是 Windows 便携版,改用python_embeded\python.exe -m pip来跑同一条命令。
pip install -r requirements.txt第三步:按 readme 下载模型放进对应目录,重启 ComfyUI。节点列表里会出现 WanVideoWrapper 分类,后面提到的示例流也就齐了。
| 模型文件 | 放置目录 |
|---|---|
| T5 文本编码器(把文字变成文本特征) | models/text_encoders |
| VAE(潜空间的编解码器) | models/vae |
| 1.3B / 5B / 14B 主扩散模型 | models/diffusion_models |
| CLIP Vision(从图片里提取视觉特征) | models/clip_vision |
把一张人像照片变成 5 秒图生视频
example_workflows 目录里有一组图生视频(I2V,以图片作为视频起点)的样例流,wanvideo_2_1_14B_I2V_example_03.json是其中之一。把它拖进画布,在 Load Image 节点里放一张示例输入图,连线就已经是齐的。
▲ 仓库自带的示例输入图,直接拿它跑图生视频流程
图片在流里的走法是:WanVideo ClipVision Encode 先用视觉编码器"看"一遍图,WanVideo ImageToVideo Encode 把图像特征变成潜空间条件喂给采样器,WanVideo Sampler 跑完几轮去噪,WanVideo Decode 再把潜变量还原成真实像素。第一次跑不用碰别的参数,点 queue 等结果就行——第一段 5 秒短片正常出片,说明整条流已经通了。
手头没有素材的话,仓库里那只抱着红玫瑰的泰迪熊也可以直接用:
▲ 仓库内置示例图:同一条流程跑下来,小熊也能"动起来"
让镜头绕着主体转:试试 Fun 相机控制
跑通了静止的画面,下一步自然想让镜头动起来。项目里接了 Fun Camera Control,对应的样例流是wanvideo_2_1_14B_Fun_control_camera_example_01.json:拖进来,接上你想拍的那张参考图,用流里默认的参数直接出图。出来的是一段镜头围绕主体缓慢环绕、推近的视频,比定帧画面更有动感。想细调轨迹时,直接在流里找相机参数节点改数值就好——思路和图生视频那套一样,模型还是同一个主体,换的只是输入条件。
14B 装不下显存时:用块交换把占用降下来
真正开始批量生成后,第一个拦路虎通常是显存。14B 主模型光是待在显存里就要占掉好几 G。项目给出的办法是 WanVideo Block Swap:把blocks_to_swap设成 20 之类的值,对应数量的 transformer 块(14B 共 40 个,1.3B 和 5B 是 30 个)就会在 CPU 内存与显存之间按需交换,运行时 GPU 上只留正在用的那部分。觉得速度掉了,把prefetch_blocks设成 1,让它提前把下一块预取过来,基本能抹平掉速。还想再压,可以换 WanVideo VRAM Management 节点,那是更激进的卸载方案,占用明显更低,代价是速度可能更慢。这两个节点的源码在 nodes_model_loading.py。
用 TeaCache 把生成时间再砍几秒
显存压住了,接下来就是速度。cache_methods 目录里带了一套 TeaCache 之类的缓存节点:去噪过程中,如果当前这一步的特征跟上一步相比变化不大,就直接跳过部分计算。readme 里建议阈值取 0.25 到 0.30(注意这是旧版数值放大 10 倍之后的量级),起始步可以从 0 开始;想要更激进的话,让跳步从更靠后的位置开始更稳,避免太早跳步把动作节奏跳坏。实现在 cache_methods/cache_methods.py。
💡 两个值得顺手试的细节:主模型加载器现在也能读 GGUF 量化权重,低显存机器可以直接把 14B 跑起来;LoRA 权重现在按 buffer 挂载、会跟着块交换一起移动,所以如果你发现显存比预期略高,多半把交换的块数再加 2 就行。
继续深入:从源码与样例流看门道
想弄清这个项目到底注册了哪些节点,打开init.py 看一眼,必装模块(Main、Sampler、ModelLoading)和可选模块(ControlNet、SkyReels、MultiTalk 等)都按行列在那里;而 example_workflows/ 目录里的每个 JSON 都是能直接拖进画布跑的工作流,照着连法改参数,就是你自己的第一个变体。
【免费下载链接】ComfyUI-WanVideoWrapper项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考