最近在尝试用AI生成视频时,发现很多朋友被ComfyUI的安装和配置过程劝退。网上的教程要么版本过时,要么步骤零散,特别是对Mac和Windows双平台的支持以及插件、节点的部署,缺乏一套完整、可复现的解决方案。本文将为你带来一份从零开始的ComfyUI最新版保姆级安装部署指南,涵盖Mac和Windows双系统,并详细讲解核心插件安装、自定义节点部署,最后以“视频漫剧生成”工作流为例,带你实战体验AI视频创作的全流程。无论你是刚接触Stable Diffusion的新手,还是想从WebUI迁移到ComfyUI的进阶用户,都能按照本文步骤成功搭建并运行起来。
1. ComfyUI核心概念与优势解析
在深入安装部署之前,我们有必要先理解ComfyUI到底是什么,以及它为何在AI绘画和视频生成领域备受推崇。
1.1 什么是ComfyUI?
ComfyUI是一个基于节点式工作流的Stable Diffusion图形用户界面。与Automatic1111的WebUI那种直观的“文生图”单页界面不同,ComfyUI将图像生成的每一个步骤——如加载模型、编写提示词、采样、后期处理——都抽象为一个个可连接、可配置的“节点”。用户通过连接这些节点来构建一个完整的生成流水线,这类似于在Blender或Unreal Engine中使用节点编辑器进行材质编辑或视觉特效制作。
这种设计理念带来了几个根本性的优势:
- 极高的灵活性与可控性:你可以精确控制生成流程的每一个环节,例如在潜空间中对图像进行特定操作,或者将多个ControlNet条件以复杂的方式组合。
- 流程的可视化与可复用性:整个生成逻辑以流程图的形式呈现,清晰直观。构建好的工作流可以保存为JSON文件,方便分享和重复使用。
- 出色的性能与低内存占用:由于其轻量化的设计和对工作流的优化执行,ComfyUI在相同硬件下通常能获得比WebUI更快的推理速度和更低的内存消耗,这对于生成高分辨率图像或连续视频帧至关重要。
- 更适合复杂任务与自动化:节点式的工作流天生适合处理需要多步骤、有条件分支的复杂任务,如视频生成、连环画创作、批量处理等。它也更容易与外部脚本或API集成,实现自动化生产。
1.2 ComfyUI的核心组件:模型、节点与工作流
要玩转ComfyUI,需要理解其三大核心组件:
- 模型(Models):包括基础的大模型(Checkpoint)、LoRA、VAE、ControlNet等,这些是生成能力的基石。
- 节点(Nodes):构成工作流的基本功能单元。每个节点都有输入和输出“插座”,执行特定功能,如
CLIP Text Encode(编码提示词)、KSampler(采样器)、VAEDecode(解码图像)等。 - 工作流(Workflow):由节点通过连线连接而成的完整生成流程图。它定义了数据(如图像、潜变量、条件)在整个系统中的流动路径。
1.3 为何选择ComfyUI进行视频生成?
对于“视频漫剧生成”这类任务,ComfyUI的优势尤为突出。视频生成本质上是生成一系列在时间上连贯的图像帧。在ComfyUI中,你可以:
- 使用
Load Image Sequence节点加载视频帧或图片序列。 - 利用
AnimateDiff等特定节点注入运动模型,让静态图片“动起来”。 - 通过
Video Combine节点将生成的序列图片合成为视频文件。 - 构建复杂的工作流,对每一帧应用不同的提示词或ControlNet控制,实现镜头语言的变化。
接下来,我们将进入实战环节,从环境准备开始,一步步搭建你的ComfyUI创作平台。
2. 环境准备与双系统安装指南
ComfyUI支持Windows、macOS(包括Apple Silicon的M系列芯片)和Linux。本节将分别详解Windows和macOS下的安装方法。无论哪种系统,都需要先准备好Python环境。
2.1 基础环境准备:Python与Git
Windows系统:
- 安装Python:访问Python官网,下载并安装Python 3.10.x版本(3.10.6, 3.10.9, 3.10.11等均可,避免使用3.11+,某些依赖可能不兼容)。安装时务必勾选“Add Python to PATH”。
- 安装Git:访问Git官网,下载并安装Git for Windows。这将允许你使用
git命令克隆仓库。
macOS系统:
- 安装Homebrew(推荐):打开终端(Terminal),执行以下命令安装包管理器Homebrew。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - 安装Python和Git:继续在终端中执行以下命令。
对于Apple Silicon (M1/M2/M3) Mac,Homebrew会将Python安装到brew install python@3.10 git/opt/homebrew目录下,请确保终端使用的是brew安装的Python 3.10。
验证安装:打开终端(Windows为CMD或PowerShell,macOS为Terminal),分别执行以下命令,确认版本正确。
python --version # 应显示 Python 3.10.x git --version # 应显示 git 版本号 pip --version # 应显示 pip 版本号2.2 方案一:手动安装ComfyUI(推荐用于学习与自定义)
这种方式能让你最清楚地了解ComfyUI的依赖和结构,方便后续排查问题。
克隆官方仓库:在你希望安装的目录(如
D:\AI\或~/AI/)下打开终端,执行:git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI安装PyTorch与依赖:这是最关键的一步,需要根据你的操作系统和显卡选择正确的PyTorch版本。
- Windows (NVIDIA显卡):
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 - macOS (Apple Silicon):使用Metal Performance Shaders (MPS) 后端以加速。
pip install torch torchvision torchaudio - Windows/macOS (仅CPU):如果没有独立显卡或NVIDIA显卡。
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
- Windows (NVIDIA显卡):
安装ComfyUI其余依赖:在ComfyUI目录下,运行:
pip install -r requirements.txt这个过程会下载安装大量Python包,请保持网络通畅。
下载基础模型:ComfyUI本身不包含任何模型。你需要将Stable Diffusion模型文件放入指定文件夹。
- 从Hugging Face或Civitai等网站下载你喜欢的
.safetensors格式大模型。 - 在ComfyUI根目录下,创建
models/checkpoints/文件夹。 - 将下载的大模型文件(如
sd_xl_base_1.0.safetensors)放入models/checkpoints/。 - 同理,VAE模型放入
models/vae/,LoRA模型放入models/loras/,ControlNet模型放入models/controlnet/。
- 从Hugging Face或Civitai等网站下载你喜欢的
首次运行:在终端中,进入ComfyUI目录,执行:
python main.py如果一切顺利,终端会输出本地访问地址,通常是
http://127.0.0.1:8188。在浏览器中打开此地址,你将看到ComfyUI的节点编辑器界面。
2.3 方案二:使用秋叶大佬的整合包(Windows快速启动)
对于Windows用户,如果觉得手动安装复杂,可以使用国内开发者“秋叶aaaki”制作的整合包,它集成了Python环境、常用插件和基础模型,解压即用。
- 下载整合包:在相关社区或发布页面找到“秋叶ComfyUI整合包”的最新版本并下载。
- 解压与运行:将下载的压缩包解压到任意不含中文和空格的路径(如
D:\ComfyUI_windows\)。直接运行目录下的run_nvidia_gpu.bat(N卡)或run_cpu.bat(CPU)。 - 注意事项:整合包版本可能不是最新的ComfyUI主程序。如需更新,可以按照整合包内的说明或手动进入其内部的
ComfyUI文件夹执行git pull。整合包也预置了插件管理器,方便后续安装插件。
3. 核心插件安装与管理
ComfyUI的强大功能很大程度上依赖于社区开发的插件。插件可以为你提供新的节点、模型支持或界面优化。
3.1 使用ComfyUI Manager(插件管理器)
这是管理插件最方便的工具,强烈建议安装。
- 安装Manager:在ComfyUI根目录下打开终端,执行:
cd custom_nodes git clone https://github.com/ltdrdata/ComfyUI-Manager.git cd ComfyUI-Manager pip install -r requirements.txt - 重启ComfyUI:关闭并重新运行
python main.py。 - 使用Manager:在ComfyUI Web界面中,你应该能看到一个新增的“Manager”按钮。点击进入,即可在“Install Nodes”标签页中浏览、搜索和安装海量社区插件。在“Update”标签页可以更新所有已安装的插件和ComfyUI本身。
3.2 手动安装常用核心插件
有些插件可能不在Manager列表中,或者你需要更手动地控制安装。以下是视频生成工作流可能需要的几个关键插件的手动安装方法。
1. ComfyUI-Impact-Pack (功能强大的工具集)
cd custom_nodes git clone https://github.com/ltdrdata/ComfyUI-Impact-Pack.git cd ComfyUI-Impact-Pack pip install -r requirements.txt这个包包含了许多实用节点,如图像预览、工具调用等。
2. ComfyUI-AnimateDiff (动画扩散,视频生成核心)
cd custom_nodes git clone https://github.com/ArtVentureX/comfyui-animatediff.git cd comfyui-animatediff pip install -r requirements.txt安装后,你还需要下载AnimateDiff运动模型(.pth文件)并放入models/animatediff/目录。
3. ComfyUI-VideoHelperSuite (视频处理套件)
cd custom_nodes git clone https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite.git这个插件提供了加载视频、拆分帧、合并帧等节点,是处理视频输入输出的利器。
安装任何插件后,都需要重启ComfyUI服务才能生效。
4. 节点部署与工作流基础操作
安装好插件后,新的节点就会出现在节点列表中。理解如何操作节点是构建工作流的关键。
4.1 节点的基本操作
- 添加节点:在空白处右键 ->
Add Node,然后在分类中寻找,或在搜索框输入节点名称。 - 连接节点:拖动一个节点的输出“插座”(圆圈)到另一个节点的输入“插座”。
- 节点参数:每个节点都有可调整的参数,如采样步数、CFG Scale等,直接在节点框体内修改。
- 组织工作流:使用
Ctrl+G可以将选中的节点编组,方便管理复杂流程。使用W键添加注释框,用于说明。
4.2 解决“缺失节点”错误
在导入他人分享的工作流时,最常见的错误就是“Missing Nodes”(缺失节点)。这是因为你的环境中没有安装工作流所依赖的插件。
- 错误提示:通常会直接显示缺失的节点名称,例如“Missing
ImpactPacknodes”。 - 解决方案:
- 通过Manager安装:如果提示的节点属于已知插件(如ImpactPack),可以直接去ComfyUI Manager中搜索并安装对应插件。
- 手动查找安装:根据缺失的节点名,去ComfyUI的GitHub社区或相关插件网站搜索其所属的插件仓库,然后按照上述手动安装步骤进行安装。
- 使用安装命令:有时错误信息会直接给出安装命令,如“要安装缺失的节点,请先在你的 python 环境中运行
pip install -u --pre comfyui-m”。这时只需在ComfyUI的终端环境中执行该命令即可。
4.3 保存与加载工作流
- 保存:点击界面上的
Save按钮,可以将当前的工作流保存为一个.json文件。 - 加载:点击
Load按钮,选择之前保存的.json文件,即可完整还原整个工作流,包括所有节点、连线和参数。 - 加载图片附带工作流:ComfyUI生成图片时,可以将完整的工作流信息嵌入到PNG图片的元数据中。在“Save Image”节点生成的图片上,拖入ComfyUI界面,即可自动重建该图片的工作流,这是学习和复现他人成果的绝佳方式。
5. 实战:构建视频漫剧生成工作流
现在,我们将利用已安装的环境和插件,构建一个能够生成短视频片段的“漫剧”工作流。这个工作流将结合文生图、图生图、AnimateDiff运动控制等功能。
5.1 工作流设计思路
我们的目标是:输入一段描述性提示词(如“一个武士在樱花雨中缓缓拔刀”),生成一个约3秒的短视频。流程大致如下:
- 使用大模型生成一张高质量的关键帧(静态图)。
- 利用AnimateDiff为这张静态图注入合理的运动。
- 使用Video Helper Suite将生成的图像序列编码为视频文件。
5.2 分步构建工作流
步骤1:加载模型与提示词编码
- 添加节点
Load Checkpoint,选择你的基础大模型。 - 添加两个
CLIP Text Encode (Prompt)节点,分别连接到大模型的clip输出。一个输入正面提示词(positive),一个输入负面提示词(negative)。 - 添加
Empty Latent Image节点,设置生成图像的宽高(如512x768)。
步骤2:生成初始静态图像
- 添加
KSampler节点。- 将
Load Checkpoint的model连接至KSampler的model。 - 将
Empty Latent Image的latent连接至KSampler的latent_image。 - 将正面和负面的
CLIP Text Encode输出分别连接到positive和negative。 - 设置采样器(sampler,如
dpmpp_2m)、调度器(scheduler,如karras)、步数(steps,如20)、CFG值(如7.5)。
- 将
- 添加
VAE Decode节点。将KSampler的LATENT输出连接至其输入,将Load Checkpoint的vae输出连接至其vae输入。输出即为第一张静态图。
步骤3:注入动画(AnimateDiff)
- 添加
AnimateDiff Loader节点(来自AnimateDiff插件)。选择你下载的运动模型(如mm_sd_v15_v2.ckpt),设置总帧数(如16)和帧率(如8fps,这将生成2秒动画)。 - 我们需要将静态生成流程“动画化”。这里需要一个关键技巧:使用
AnimateDiff Uniform Context Options节点来设置动画上下文。将其连接到AnimateDiff Loader。 - 修改
KSampler:我们需要使用支持动画的采样器。将原来的KSampler替换为AnimateDiffKSampler(或类似名称,取决于插件版本)。这个节点会接收AnimateDiff Loader提供的运动参数。 - 连接
AnimateDiff Loader的motion_module到AnimateDiffKSampler的对应输入。 AnimateDiffKSampler的输出将是一个包含多帧的“批处理”latent。
步骤4:解码视频帧并保存
- 添加
VAE Decode节点,连接AnimateDiffKSampler输出的动画latent和VAE模型。这个节点会输出一个图像列表(每帧一张图)。 - 添加
Video Combine节点(来自VideoHelperSuite插件)。- 将
VAE Decode输出的图像列表(IMAGE)连接至Video Combine的images输入。 - 设置输出视频的帧率(fps,需与AnimateDiff设置一致,如8)。
- 设置输出格式(如
mp4)。 - 指定输出文件名(如
samurai_blade.mp4)。
- 将
- 为了预览单帧,可以从
VAE Decode输出的图像列表中接一个Image Select节点(来自Impact Pack或其他工具集),选择其中一帧,再连接到Preview Image节点。
5.3 完整工作流示意图与排错
由于无法直接展示图形界面,上述流程的节点连接逻辑是关键。构建时请耐心,遵循“数据流”从模型加载 -> 提示词 -> 潜空间 -> 采样 -> 解码 -> 输出的顺序。
常见问题与排错:
| 问题现象 | 可能原因 | 解决思路 |
|---|---|---|
启动时提示缺少模块(如cv2,accelerate) | Python依赖未安装完整 | 在终端ComfyUI目录下,尝试pip install opencv-python accelerate |
| 加载工作流后大量节点标红“Missing” | 缺少对应插件 | 根据缺失节点名称,使用ComfyUI Manager安装或手动安装对应插件。 |
| 生成视频时爆显存(OOM) | 分辨率太高、帧数太多、运动模型太大 | 降低Empty Latent Image的尺寸,减少AnimateDiff总帧数,尝试使用轻量版运动模型。 |
| 生成的视频闪烁或不连贯 | CFG值过高、提示词冲突、运动模型不适配 | 降低CFG值(如从7.5降到5),简化提示词,尝试不同的运动模型。 |
| AnimateDiff节点找不到 | 插件未正确安装或未重启 | 确认comfyui-animatediff文件夹在custom_nodes内,并已重启ComfyUI。 |
6. 高级技巧与最佳实践
掌握基础后,这些技巧能帮助你提升效率和质量。
6.1 工作流优化与模块化
- 使用自定义节点组:对于经常重复使用的节点组合(如一个完整的LoRA应用流程),可以将它们选中后,右键选择
Collapse to Group,将其折叠为一个自定义节点,方便复用。 - 利用工作流模板:将稳定可靠的工作流保存为模板。针对不同任务(人像、风景、视频)创建不同的基础模板,在此基础上修改,事半功倍。
6.2 模型与文件管理
- 规范目录结构:在
models目录下清晰分类存放各种模型。例如:models/ ├── checkpoints/ # 大模型 ├── vae/ # VAE模型 ├── loras/ # LoRA模型 ├── controlnet/ # ControlNet模型 ├── animatediff/ # 运动模型 └── upscale_models/ # 超分模型 - 定期清理缓存:ComfyUI会在
temp或output文件夹生成缓存文件。定期清理可以释放磁盘空间。
6.3 性能调优
- Windows NVIDIA用户:在
extra_model_paths.yaml(可能需要从示例文件复制创建)中配置vae_path,将VAE放在GPU上解码,可以提升速度。 - macOS Apple Silicon用户:确保PyTorch使用了MPS后端。如果遇到MPS相关错误,可以尝试在启动命令前设置环境变量
PYTORCH_ENABLE_MPS_FALLBACK=1。 - 使用--lowvram参数:如果显存较小,可以在启动命令中加入
--lowvram或--gpu-only 0来优化显存使用。python main.py --lowvram
6.4 视频生成专项优化
- 控制网络(ControlNet)的应用:对于视频,可以使用
ControlNet Apply节点对每一帧应用相同的姿势或边缘检测,以保持角色或场景的一致性。这需要将图像序列连接到ControlNet处理器。 - 提示词调度:使用
Prompt Schedule节点,可以为不同的帧区间设置不同的提示词,实现视频中场景或角色的渐变。 - 帧间插值与补帧:生成低帧率视频后,可以使用
FILM或RIFE等插值节点进行补帧,使运动更加平滑。
从手动安装环境、部署插件节点,到构建出完整的视频生成工作流,我们走完了ComfyUI从入门到实战的全过程。关键在于理解其节点化的工作流思想,这不仅是工具的使用,更是一种可视化编程的思维。遇到问题时,善用ComfyUI Manager和社区资源(如GitHub Issues、Discord频道),大部分难题都能找到解决方案。
下一步,你可以探索更多高级插件,如ComfyUI-Advanced-ControlNet、ComfyUI-InstantID等,来增强控制能力;也可以深入研究工作流的共享社区,学习他人精妙的工作流设计。记住,最好的学习方式就是动手复现、修改并创造属于自己的工作流。希望这份指南能成为你探索AI生成视觉世界的坚实起点。