我刚开始折腾ComfyUI那阵子,最常听到的一句话就是“节点看着头大”。真装上以后,我发现它更像一套可视化的生成流水线:模型怎么加载、提示词怎么走、图像怎么保存,都能摆在画布上看得明明白白。这篇ComfyUI入门内容,我想把自己的安装经历、踩过的坑、朋友问过的问题放在一起聊,帮你把环境准备和ComfyUI安装教程这两件事一次理顺。
1.1 ComfyUI入门认知:工具定位、核心特点与适用场景
我最早用的是那种表单式界面,输入提示词、点生成,流程藏在后台。转到ComfyUI以后,第一眼确实有点懵,画布上全是线和框。用上几天我才体会到,这种节点式设计把生成过程拆开了,我能清楚看到哪个环节加载模型、哪个环节做采样、哪个环节把图像写进文件夹。对想弄懂文生图原理的人来说,这种“看得见”很重要。
ComfyUI的核心特点我总结成三点:工作流可拆可存、显存调度相对灵活、社区节点扩展多。我自己最常用的是保存工作流,调好一套参数就存成模板,下次换模型换提示词直接复用。朋友做电商图,他会把常用尺寸、采样器、保存路径固定下来,一套流程反复跑。群里还有人专门研究节点组合,把局部重绘、放大、人脸修复串成一条线。适用场景挺广,个人练习、批量出图、工作流分享、教学演示都能用上。
我也劝过一位刚入门的朋友别急着装一堆插件。ComfyUI入门阶段先把默认文生图跑通,理解模型、提示词、采样器、保存图像这几个基础节点,后面再加控制网、放大、细化节点会更顺。工具定位想清楚了,安装和配置就不容易乱。
1.2 安装前的系统环境与硬件要求检查
我现在帮人看环境,习惯先问显卡型号和显存。NVIDIA显卡在ComfyUI生态里资料多,驱动和CUDA踩坑相对少。显存6GB能玩基础文生图,8GB更稳,12GB以上跑大模型和放大流程会舒服很多。AMD显卡和Mac也能用,配置细节差异大,查教程时要看清对应平台。内存我建议16GB起步,硬盘留出30GB到50GB空间,模型和输出图一多,空间消耗很快。
系统环境这块,Windows 10/11 64位是比较省心的选择。显卡驱动别太旧,装完驱动再去看CUDA版本和PyTorch版本是否匹配。我遇到过一位读者,游戏能玩,装完ComfyUI一启动就报CUDA错误,查来查去是驱动太老。我的做法是把显卡驱动更新到稳定版,再按教程选择对应的PyTorch安装命令。Python环境也要留心,手动部署常用Python 3.10或3.11,版本太新容易遇到依赖包不兼容。
还有几个小细节容易被忽略:安装路径尽量别放中文目录,杀毒软件可能拦截模型下载,电源模式别设成节能。我自己的机器会把ComfyUI放在单独硬盘分区,输出目录也单独规划。环境检查花十分钟,后面能省掉很多排查时间。
1.3 ComfyUI安装教程:整合包、手动部署与便携版方案对比
ComfyUI安装教程里最常见的三条路是整合包、手动部署、便携版。整合包对新手最友好,解压、双击启动,模型和常用插件往往也带好了。我给完全没碰过命令行的朋友推荐过整合包,半小时能见到界面。选整合包我会看来源和更新时间,网盘里来路不明的包尽量别用,启动脚本和插件版本也要留意,免得后面装新节点时冲突。
手动部署适合愿意折腾的人。我的流程是装好Git和Python,拉取ComfyUI仓库,建虚拟环境,按显卡型号安装对应PyTorch,再装依赖。这个过程能让我清楚每个包装在哪、报错该看哪。朋友做开发,他坚持手动部署,理由是排查问题方便,升级也能自己控制。手动部署对网络环境有要求,下载依赖卡住时换源或挂代理会顺一些。
便携版更像折中方案,官方发布的便携包解压即用,目录干净,迁移也方便。我出差时会把便携版放移动硬盘,换台电脑解压就能跑。三种方案没有绝对好坏,想省事选整合包,想可控选手动部署,想带着走选便携版。安装前想清楚自己的使用习惯,比盲目追新版本更重要。
1.4 模型、插件与输出目录的规划配置
模型目录我吃过亏。早期我把所有模型丢进默认文件夹,文件名又乱,换模型时找半天。后来我按用途分:checkpoints放主模型,vae放解码模型,loras放风格模型,controlnet放控制模型,upscale_models放放大模型。文件名带上版本和来源,比如“SDXL_base_1.0”。这样在ComfyUI节点里下拉选择时,一眼能认出谁是谁。模型体积大,我会把models目录放到空间更大的硬盘,用软链接或启动参数指过去。
插件目录在custom_nodes下,我装插件前会看它依赖哪些节点包,装完重启一次看控制台有没有红色报错。ComfyUI Manager帮我省了不少事,搜索、安装、更新都能在界面里完成。插件不是越多越好,我见过有人装了几十个节点包,启动慢,冲突也多。我的习惯是先用默认工作流跑通,再按需求装两三个常用插件,稳定后再加。
输出目录我建议单独规划。默认output文件夹会越堆越满,我改成按日期或项目建子文件夹,出图后好找。input目录放参考图,也按项目分。整个ComfyUI根目录我会放在非系统盘,路径保持英文。目录规划看起来琐碎,它直接影响后面工作流复用和模型管理效率。
1.5 首次启动验证与安装常见问题排查
装完第一次启动,我会盯着控制台看几秒。界面能打开、节点面板正常显示、默认工作流能加载,这三样过了心里就踏实一半。接着我会选一个小尺寸、少步数的文生图流程跑一张图,确认模型能加载、采样能完成、图像能保存到output目录。跑通这张小图,比反复看教程更有用。群里有人一上来就跑高分辨率大图,显存爆了,误以为安装失败。
常见问题我整理过几类。启动报CUDA相关错误,多半是驱动、PyTorch、CUDA版本不匹配,我会先看控制台第一行报错,再对照显卡型号重装对应版本。模型下拉框是空的,检查模型放没放对目录、文件名后缀对不对。节点出现红色报错,通常是插件缺失或版本不兼容,回custom_nodes里看对应插件说明。端口被占用、中文路径、权限不足也遇到过,换成英文路径、改启动端口、用管理员权限运行,往往能解决。
我遇到报错不会急着删环境重装。控制台信息先复制出来,看最后几行报错关键词,再去社区搜。ComfyUI更新快,插件和主程序版本对不上很常见,保留一个能跑通的稳定版本挺重要。安装这件事,跑通一次就有了底气,后面加模型、加插件都是在这个底子上做加法。
装好ComfyUI那天,我打开界面愣了半分钟。画布空着,右键能弹出菜单,左边一列节点分类,右边还有队列和历史的入口。上一章我们把环境跑通了,这一章聊界面认知和基础工作流搭建。我自己的习惯是先把界面摸熟,再动手搭一条能稳定出图的文生图流程,后面换模型、加插件都不容易乱。
2.1 节点式界面说明:菜单、画布、节点与队列面板
我头一次看ComfyUI界面,注意力全在画布上。画布就是工作区,节点拖进来、线连起来,生成流程就摆在这里。右键画布会弹出节点搜索菜单,输入关键词能找节点,分类列表里也能翻。顶部菜单管保存、加载、清空画布、导出工作流这些操作。我刚开始老找不到“保存”,后来记住快捷键Ctrl+S,手就顺了。画布可以缩放、平移,节点多了用鼠标滚轮拉远,整条流程能看个大概。
节点本身不复杂。每个节点有输入口、输出口、参数区,连线颜色对应数据类型。模型线、条件线、 latent线颜色不一样,连错了界面会提示。我习惯把同类节点摆在一排,模型加载放左边,提示词放中间,采样和保存放右边。朋友来问我界面怎么认,我让他先看节点标题,再看输出口连到哪。节点标题写的是功能,连线看的是数据流向,这两样看明白,画布就不吓人了。
队列面板是我早期忽略的地方。点开Queue,能看到正在跑和排队的任务。History里留着跑过的记录,出图失败时我会去翻一眼,看是哪一步断的。有一回我连点三次生成,以为卡住了,队列里其实排了三个任务。界面右侧的面板不大,作用挺实在,跑批量图时尤其要看队列状态。菜单、画布、节点、队列这四块认全,界面认知就算过关。
2.2 默认工作流拆解:模型加载、提示词、采样与图像保存
默认工作流是我最早拆的东西。加载ComfyUI后点开默认流程,画布上大概有六七个节点。Load Checkpoint负责加载主模型,它输出MODEL、CLIP、VAE三路。CLIP Text Encode有正负两个,正向写想要的画面,负向写不想要的内容。Empty Latent Image设置宽高和批次,KSampler把模型、条件、latent接进来做采样,VAE Decode把采样结果解成图像,Save Image写进output目录。我照着这条线走一遍,文生图的骨架就清楚了。
拆默认工作流时,我爱看每个节点的输入输出。Load Checkpoint的模型下拉框里选checkpoints目录下的文件,选不到就说明模型没放对位置。正向提示词节点接KSampler的positive,负向接negative,接反了出图效果会怪。Empty Latent Image的宽高决定基础分辨率,批次决定一次出几张。KSampler参数多,采样器、步数、CFG、种子都在这。VAE Decode需要VAE输入,默认工作流从Load Checkpoint直接引过来。Save Image的filename_prefix可以改,出图文件名会带上这个前缀。
我让一位朋友照着默认工作流念一遍节点顺序,他念到VAE Decode卡住了,问为什么采样完还要解码。我让他把latent想成压缩后的数据,VAE Decode把它还原成像素图。这么一解释,默认工作流拆解就顺了。模型加载、提示词、采样、解码、保存,五步走完,一张图从模型到文件的全过程就摆在画布上。看懂默认流程,后面搭自己的文生图流程就是换节点、调参数。
2.3 ComfyUI基础工作流搭建:文生图流程实操
我搭文生图流程习惯从空白画布开始。右键添加Load Checkpoint,选好模型。再加两个CLIP Text Encode,一个写正向提示词,一个写负向。正向我常写主体、场景、光线、风格,负向写低质量、模糊、多余手指这类词。Empty Latent Image设成512×512或768×768,批次先设1。KSampler接上模型、正负条件、latent,采样器选euler,步数20,CFG设7,种子留随机。VAE Decode接KSampler输出,Save Image接解码后的图像。线连完,点Queue Prompt,等队列跑完去output看结果。
实操时我建议先跑小图。512×512、20步、一张图,显存压力小,跑通再往上加。提示词别一上来堆太长,先写清楚主体和风格,出图稳定后再加细节。我朋友做头像图,他把分辨率设成768×768,步数25,CFG 7,种子固定,跑出来不满意就改提示词,不动其他参数。这样每次只变一个变量,问题好定位。Save Image的filename_prefix我改成项目名,比如“avatar_test”,出图多了也分得清。
这条流程跑通后,我会把节点摆整齐,保存成模板。文生图流程是最基础的底子,后面加图生图、加ControlNet、加放大节点,都从这条线长出来。我见过有人一上来就搭十几节点的复杂流程,报错后不知道从哪查。基础工作流搭建这件事,节点少、线清楚、参数稳,比功能多更重要。跑通一张小图,心里就有底了。
2.4 核心参数入门:采样器、步数、CFG、分辨率与随机种子
采样器我常用euler和dpmpp_2m。euler速度快,适合草稿和批量试提示词。dpmpp_2m细节多一些,出成品图我会换它。采样器不是越新越好,不同模型适配的采样器不一样,社区里有人专门做对比图。我自己的做法是固定模型和提示词,换采样器各跑一张,看哪张顺眼就用哪张。步数我一般设20到30,低于15细节容易糊,高于40收益不明显,时间倒涨得快。
CFG管提示词引导强度。设太低画面松散,设太高颜色容易发灰、边缘发硬。我从7开始试,人像和场景图在6到8之间比较稳。分辨率要看模型训练尺寸,SD1.5常用512,SDXL常用1024,尺寸不对容易出重复构图或肢体问题。批次设大能一次出多张,显存也跟着涨。随机种子我分两种用法:试提示词时留随机,固定构图时把种子填死,改提示词看变化。
群里有人问我种子固定后为什么出图还变。我让他检查采样器和步数有没有动,模型有没有换。种子只管随机初始化,其他参数一变,结果照样变。核心参数入门不用背表,我习惯一次只调一个,跑两三张对比。采样器、步数、CFG、分辨率、种子这五个参数摸熟,基础文生图的可控性就上来了。参数是工具,出图目标先想清楚,调起来才有方向。
2.5 工作流的保存、加载、复用与模板管理
工作流保存这事我吃过亏。早期调好一套参数,关掉界面再打开,画布空了,只能重搭。后来我养成习惯,调顺一条流程就按Ctrl+S存成JSON,文件名带上模型和用途,比如“sdxl_portrait_basic”。ComfyUI菜单里有Save和Export,Save存的是当前工作流,Export可以带上部分节点。我一般用Save,简单直接。存好的文件放在专门的工作流文件夹,按项目分,找起来快。
加载工作流也简单,把JSON拖进画布,或者用菜单Load。加载后先看模型下拉框有没有变红,模型路径变了会提示缺失。我换电脑时会把工作流和模型目录一起迁移,路径保持一致,加载就顺。复用工作流时我只改提示词和种子,其他参数不动,出图风格稳定。朋友做电商图,他把产品图尺寸、保存路径、采样器固定在一套模板里,每次换产品名和背景词,效率高很多。
模板管理我用ComfyUI Manager配合文件夹。常用模板存一份,试验版另存一份,文件名加日期。改动大的工作流我会复制一份再改,原模板留着回退。社区工作流下载下来,我先另存再加载,免得覆盖自己的。工作流保存、加载、复用、模板管理这几件事看着琐碎,它决定后面能不能稳定出图。我现在的习惯是每跑通一个新流程,先存模板再继续折腾。
2.6 基础工作流常见报错与调试思路
基础工作流报错,我第一眼看节点颜色。节点变红通常是缺输入、模型没选、插件没装。画布上红色框会标出问题节点,鼠标放上去有提示。控制台里也会打印报错信息,我会把最后几行复制出来搜关键词。模型下拉框为空,检查checkpoints目录和文件后缀。KSampler报错,看模型、正负条件、latent有没有接全。Save Image报错,看输出目录权限和路径有没有中文。
显存不足也常见。跑1024大图或批次设太大,控制台会提示out of memory。我先把分辨率降下来,批次设1,关掉其他占显存的程序再试。节点缺失报错会写missing node type,回custom_nodes看插件装没装、版本对不对。工作流加载后线断了,多半是节点版本不一致,重新连一下或换回稳定版本。我遇到报错不急着重装环境,先看控制台、再看节点、再看模型路径,三步走完多半能找到原因。
调试思路我总结成“小步跑”。先跑默认工作流,再跑自己的基础流程,每次只加一个节点或改一个参数。报错时把工作流简化到最小可运行状态,确认哪一步断的。群里有人一报错就删整合包,重装两小时,问题还在。我让他把报错截图发出来,一看是模型文件名多了个空格。基础工作流常见报错不可怕,怕的是不动手排查。跑通一条稳定流程,后面加功能才有底气。
基础流程跑顺之后,我开始琢磨给画布加点东西。上一章结尾还在聊报错排查,那会儿我把一条文生图流程存成了模板,跑了几十张图没再翻车。人一旦不满足于只出图,就会想着换花样,我也一样。这一章写的是扩展和学习路径,内容比前两章散一些,更像是我这段时间踩坑的流水账。
3.1 常用插件与节点包的选择与安装
插件这块我一开始是乱装的。看到别人工作流里有个好用的节点,就去搜名字,找到仓库就git clone,装完重启,画布上多出一堆不认识的节点。装到第十几个的时候ComfyUI启动变慢,有些节点还报版本冲突。我后来学乖了,先装ComfyUI Manager,用它来管插件。Manager相当于一个插件商店,搜关键词能列出仓库,点安装,重启界面就生效。手动装也行,把仓库放进custom_nodes目录,跑一下依赖安装,麻烦一点。
常用插件我留了几个。ComfyUI Manager管安装和更新,Impact Pack带了一堆图像处理节点,做局部重绘和细节修复用得上。ControlNet的辅助节点我装了一套,配合模型用。其余的花哨节点包我试过就卸了,画布上节点太多,找起来眼花。我现在的原则是缺什么装什么,不为了“可能用得上”提前囤。插件装完先跑默认工作流验证一遍,界面能正常加载,节点能搜到,再往自己的流程里加。
安装方式我分两种。Manager里搜得到就用Manager,省事。搜不到的去GitHub找仓库,看README里的安装说明,注意有没有requirements.txt。手动装完记得重启,有些插件还要在Manager里点一下“Install Missing Dependencies”。我遇到过一次装完节点不显示,折腾半天发现是没重启。插件版本也别一味追新,社区工作流常标注适配版本,老工作流配新插件,节点接口一变,线就断了。
3.2 图生图、局部重绘等入门工作流扩展
图生图是我从文生图跨出来的第一步。基础流程上加一个Load Image节点,把参考图读进来,接VAE Encode转成latent,替换掉Empty Latent Image那一路。KSampler的denoise参数调低,0.4到0.7之间试,数值越高改动越大。我拿自己的照片试过,denoise 0.5能保留轮廓又换风格,0.8就快认不出原图了。这条流程搭起来不难,难的是控制“像”和“不像”的平衡,得反复调。
局部重绘我学了挺久。思路是给原图加一个mask,只让mask区域参与重采样。节点上要用到Load Image、Mask相关的处理节点、VAE Encode(带mask输入),KSampler的latent接的是带mask的编码结果。我最早不会画mask,后来用Impact Pack里的节点配合手绘,或者用SAM分割模型自动生成。重绘时denoise可以设高一些,0.7到0.9,因为只改局部,不怕整体跑偏。给朋友改证件照背景,我用这套流程试了几次,边缘处理比想象中干净。
ControlNet算是图生图的进阶。它不吃latent,吃的是参考图提取出的条件,比如边缘、深度、姿态。工作流里加一个ControlNet Apply节点,把参考图和控制模型接进去,输出接到KSampler的positive条件上。我入门用的是canny边缘和openpose姿态,模型放controlnet目录,节点里选对应的预处理器。刚开始线连错,条件没接进采样器,出图跟参考图毫无关系。把线理顺之后,构图控制就稳了。这几类扩展都从基础文生图长出来,节点加得不多,思路一脉相承。
3.3 模型资源管理与运行性能优化
模型多了之后,目录管理成了麻烦事。checkpoints放主模型,loras放微调模型,vae单独放,controlnet放控制模型,upscale_models放放大模型。我一开始全堆在checkpoints里,节点下拉框长得看不到底。后来按类型分文件夹,文件名加上模型系列和用途,比如“sdxl_realistic_v1”“sd15_anime_lora”。ComfyUI的模型路径可以在配置文件里改,我把大模型放到另一块硬盘,节省系统盘空间。
下载模型我只看两个地方,Civitai和HuggingFace。下之前先看文件大小和版本说明,别下到一半发现是别人的中间产物。模型下完我会跑一张测试图,确认能加载、能出图,再放进正式目录。有些模型带触发词,我记在文件名或者旁边的txt里,用的时候翻一眼。LoRA要配合主模型用,底模不对,效果出不来或者直接报错。我吃过一次亏,SDXL的LoRA挂到SD1.5流程上,加载就红。
性能优化我试过几招。启动参数加--lowvram,显存小的机器能跑大模型,速度会慢一些。--xformers能加速注意力计算,装好对应的包就行。分辨率别硬拉,SD1.5跑768以上容易出重复构图,SDXL跑1024比较稳。批次设大显存吃紧,我一般设1到4。跑图时关掉浏览器其他标签页,显存能省一点是一点。缓存目录定期清,output和temp里的旧图删一删,硬盘不至于爆。这些调整不复杂,跑几轮就知道自己机器的脾气。
3.4 社区工作流模板与学习资源的高效使用
社区工作流我下了不少,用起来的不到三分之一。Civitai上很多作品附带工作流JSON,下载下来拖进画布,第一眼先看节点红不红。红色节点代表缺插件或模型,我会把缺的清单列出来,一个个补。补完先别急着改参数,原样跑一张,看能不能复现作者的效果。能跑通再拆解,看它用了哪些节点、参数怎么设、提示词什么结构。我拆过一套人像工作流,发现作者在采样后加了两级放大和细节修复,这套组合我后来用到了自己的流程里。
学习资源我分两类看。官方文档和GitHub的README偏功能说明,遇到节点不懂先查这里。视频教程偏操作演示,B站上搜ComfyUI能翻出不少,挑播放量高、更新近的看。我习惯边看边在画布上跟着做,光看不练记不住。群里有人分享工作流,我会问一句用的什么模型和插件版本,版本对不上,跑出来效果差很远。社区资源质量参差,别照单全收,跑一遍、拆一遍、挑有用的留下。
有个习惯我坚持到现在,下载的社区工作流先另存一份再改。原文件留着回退,改坏了不至于重下。工作流文件名我加上来源和日期,比如“civitai_portrait_202406”。用别人的模板跑图,注意模型授权和商用限制,Civitai上很多模型标了不能商用。学习资源高效使用这件事,核心是带着问题去找,缺什么补什么,别漫无目的地刷。
3.5 从入门到进阶的练习路线与使用规范
练习路线我心里有个大概的顺序。文生图打底,参数调熟。图生图练denoise控制。局部重绘练mask和边缘处理。ControlNet练条件约束。放大和细节修复放在后面,出图稳定了再追求画质。每一层都拿同一个主题反复练,比如做人像,从文生图到重绘到放大,一条线走下来,节点怎么接、参数怎么变,心里就有数了。我见过有人一上来就啃多ControlNet叠加的复杂流程,报错一堆,信心先没了。
使用规范我列几条自己的。工作流每跑通一次就存模板,命名带模型和用途。模型按类型归档,下载后先测试再入库。插件不囤,缺了再装。社区工作流先跑通再拆解,原文件留底。跑图前想清楚目标,别为了调参数而调参数。显存和硬盘定期清理,输出目录按项目分。这些规矩看着琐碎,它让我少返工。有回我连续三天调一套流程,最后发现是模型放错目录,规范里加一条“先查路径”,这种事就少了。
进阶没有明确终点,我现在还在补课。视频生成、3D相关的工作流我还没碰,等手上的出图流程再稳一点再说。练习这件事,我信“小步快跑”,每加一个节点、每换一个参数,跑一张看结果,问题早发现早解决。ComfyUI的社区更新快,新节点新模型层出不穷,追不完。把基础打牢,按需扩展,比什么都学一点强。这一章写到这,下一章大概会聊具体案例,到时候再细说。