Linux 下部署 ComfyUI 并集成 Wan 2.1 视频生成工作流
在 AI 内容创作领域,从静态图像到动态视频的跨越正变得越来越重要。传统文生图工具已无法满足对时间维度表达的需求,而像Wan 2.1这样的视频生成模型,配合ComfyUI的节点式流程编排能力,为开发者和创作者提供了一套高度可控、可复用的解决方案。
本文将带你一步步在 Linux 系统上完成 ComfyUI 的安装与配置,并成功运行基于 Wan 2.1 模型的文生视频与图生视频工作流。整个过程涵盖环境搭建、依赖管理、模型部署和实际使用技巧,适合有一定命令行基础的技术用户或 AI 工程师参考实践。
系统准备:确认硬件与驱动支持
在开始前,请确保你的系统具备以下条件:
- 操作系统:Ubuntu 20.04 LTS 或更新版本
- GPU:NVIDIA 显卡(建议 RTX 3060 及以上)
- CUDA 支持:推荐 CUDA 12.x 环境
- 存储空间:至少 20GB 可用空间(含模型缓存)
首先检查系统版本:
cat /etc/issue正常输出应类似:
Ubuntu 20.04.6 LTS \n \l接着验证 GPU 是否被识别:
nvidia-smi如果命令未找到,说明 NVIDIA 驱动尚未安装;若显示 GPU 型号及显存信息,则表明驱动已就绪,可以继续下一步。
💡 提示:如果你使用的是云服务器(如阿里云、AWS EC2),通常需要手动安装驱动或选择预装 CUDA 的镜像。
使用 Conda 管理 Python 环境
为了避免全局 Python 环境污染,强烈建议使用conda创建独立虚拟环境。这不仅能隔离依赖冲突,也便于后续清理和迁移。
创建名为comfyui的 Python 3.10 环境:
conda create -n comfyui python=3.10 -y激活该环境:
conda activate comfyui此后所有操作都应在该环境下进行。你可以通过以下命令确认当前 Python 版本:
python --version预期输出:
Python 3.10.x(可选)删除旧环境
如果你之前尝试过安装但失败了,可以通过以下命令查看已有环境:
conda env list若存在名为comfyui的旧环境,可执行:
conda remove --name comfyui --all这样就能彻底清除残留配置,重新开始。
安装 PyTorch 与 CUDA 支持
ComfyUI 依赖 PyTorch 实现 GPU 加速推理。为了充分发挥性能,我们需要安装支持 CUDA 的版本。
目前推荐使用PyTorch 2.3+配合CUDA 12.6:
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu126安装完成后,在 Python 中测试 CUDA 是否可用:
import torch print(torch.__version__) print(torch.cuda.is_available()) print(torch.cuda.get_device_name(0))理想输出如下:
2.3.0+cu121 True NVIDIA GeForce RTX 4090⚠️ 如果
torch.cuda.is_available()返回False,请逐一排查:
- NVIDIA 驱动是否最新?
- 是否安装了
nvidia-cuda-toolkit?- PyTorch 安装命令中的 CUDA 版本是否匹配?
常见误区是误用了 CPU-only 版本的 PyTorch,务必确保使用--extra-index-url指定 CUDA 构建源。
克隆 ComfyUI 主程序
进入目标目录并拉取官方仓库:
mkdir ~/comfyUI && cd ~/comfyUI git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI此时你会看到项目的基本结构:
ComfyUI/ ├── main.py ├── nodes/ ├── web/ ├── models/ └── requirements.txt其中main.py是启动入口,models/目录用于存放各类模型文件,web/包含前端界面资源。
安装 Python 依赖包
接下来安装 ComfyUI 所需的第三方库:
pip install -r requirements.txt这个过程可能耗时几分钟,具体取决于网络速度。主要依赖包括:
numpy,pillow:图像处理基础transformers:HuggingFace 文本编码器接口onnxruntime:ONNX 模型运行时支持accelerate:多设备调度与内存优化
💡 若国内网络较慢,可更换为清华源加速下载:
bash pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
注意不要跳过此步骤,否则启动时会因缺少模块报错。
下载 Wan 2.1 模型文件
Wan 2.1 是由 ModelScope 社区发布的高性能 AI 视频生成模型,已在 ComfyUI 中实现良好适配。其完整模型包可通过modelscopeCLI 工具获取。
先安装modelscope客户端:
pip install modelscope然后执行下载命令:
modelscope download --model 'Comfy-Org/Wan_2.1_ComfyUI_repackaged' --local_dir './Wan_2.1_ComfyUI_repackaged'成功后,你将在本地看到以下关键文件:
wan_2.1.safetensors:主模型权重config.json:模型配置- 多个
.json示例工作流文件(如文生视频、图生视频模板)
这些文件构成了后续运行的基础,尤其是.safetensors权重文件,必须正确放置才能加载。
配置模型路径以供 ComfyUI 识别
ComfyUI 对模型路径有严格规范。我们必须将 Wan 2.1 的组件复制到对应子目录中。
首先创建必要的模型目录结构:
mkdir -p models/checkpoints mkdir -p models/vae mkdir -p models/clip然后分别拷贝核心文件:
# 主模型 cp Wan_2.1_ComfyUI_repackaged/wan_2.1.safetensors models/checkpoints/ # VAE 解码器 cp Wan_2.1_ComfyUI_repackaged/vae.pt models/vae/ # CLIP 文本编码器 cp Wan_2.1_ComfyUI_repackaged/clip_l.safetensors models/clip/最终结构应如下所示:
ComfyUI/models/ ├── checkpoints/ │ └── wan_2.1.safetensors ├── vae/ │ └── vae.pt └── clip/ └── clip_l.safetensors✅ 注意:文件名无需修改,ComfyUI 会自动扫描
checkpoints/目录下的.safetensors文件并在 UI 中列出。
启动 ComfyUI 服务
一切就绪后,即可启动主程序:
python main.py --listen 0.0.0.0 --port 33310 --cuda-device 0参数说明:
--listen 0.0.0.0:允许局域网访问(不加则仅限本地)--port 33310:自定义端口(避免与其他服务冲突)--cuda-device 0:指定使用第一块 GPU(多卡时可切换)
首次运行时,系统会自动建立索引并加载模型列表。等待日志出现:
Startup complete, running on: http://0.0.0.0:33310 To see the GUI go to: http://127.0.0.1:33310表示服务已成功启动。
访问 Web 图形界面
打开浏览器,输入服务器地址:
http://<你的服务器IP>:33310例如本地调试可访问:
http://localhost:33310你会看到一个清晰的节点式编辑器界面:左侧是可拖拽的节点面板,中间是画布,右侧是参数设置区。
点击右上角菜单 → Language → 简体中文,即可切换为中文界面,降低操作门槛。
加载 Wan 2.1 预设工作流
Wan 2.1 提供了多个开箱即用的工作流模板,位于下载目录中:
ls Wan_2.1_ComfyUI_repackaged/*.json常见模板包括:
text_to_video_wan.json:文生视频image_to_video_wan_480p_example.json:图生视频(480p)image_to_video_wan_720p_example.json:图生视频(720p)
在 Web UI 中,点击左上角“Load”(加载)按钮,上传对应的.json文件。
加载成功后,画布将展示完整流程,典型节点链路如下:
[文本提示] → [CLIP 编码] → [Latent 初始化] → [Wan 2.1 模型] → [采样器] → [VAE 解码] → [视频合成]每个节点均可双击修改参数,例如调整提示词、帧数、分辨率等。
使用技巧与常见问题处理
推荐操作流程
- 在
Empty Latent Image节点设置输出尺寸与帧数(如 480x480, 16 帧) - 在
CLIP Text Encode输入正向/负向提示词(支持自然语言描述动作、风格) - 点击顶部“Queue Prompt”提交生成任务
- 观察终端日志跟踪进度(模型加载、逐帧推理等)
- 完成后视频将保存至
ComfyUI/output/目录,格式为 MP4 或 GIF
常见问题与应对策略
| 问题 | 原因分析 | 解决方法 |
|---|---|---|
CUDA out of memory | 分辨率或帧数过高导致显存溢出 | 降低至 480p 或减少帧数(如 8~16 帧),或启用--gpu-only参数限制内存占用 |
| 模型无法加载 | 文件未放在models/checkpoints/ | 检查路径和文件名是否准确,重启服务刷新索引 |
| 页面无法访问 | 防火墙或安全组限制 | 开放 33310 端口,或使用 SSH 隧道:ssh -L 33310:localhost:33310 user@server |
| 工作流报错“Node not found” | 缺少自定义节点插件 | 根据提示安装所需插件(如有CustomNode报错) |
进阶建议
- 备份工作流:完成调试后,点击“Save”将流程导出为
.json,便于团队共享或批量调用。 - 组织输入输出:利用
input/和output/文件夹分类管理素材与结果,提升工程化水平。 - 自动化生成:结合
Run Counter节点与脚本调度器,实现定时批量生成任务。 - 性能调优:对于低显存设备,可尝试启用
--disable-smart-memory强制释放缓存,或使用split attention技术分块计算。
这套基于 ComfyUI + Wan 2.1 的视频生成方案,不仅提供了高质量的时间一致性输出,还保留了极高的可定制性。无论是做短视频内容生成、动画原型设计,还是构建私有化 AI 视频流水线,它都是一个值得投入掌握的工具组合。
随着更多视频模型的涌现和节点生态的完善,这种“可视化编程”式的 AI 创作方式,正在成为连接创意与技术的新桥梁。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考