1. 为什么我把 AI 绘画从"在线出图"搬到了 ComfyUI + PS 的组合上
先交代一下背景。我接触 AI 绘画的时间不算早,最开始和大家一样,用的是各种在线出图工具和封装好的网页端。说实话,那阵子确实挺兴奋的,输入一段提示词就能生成几张像模像样的图,出图速度也快,足够发朋友圈了。但真正让我转向 ComfyUI 的,是一个很现实的问题:我在做一个系列海报项目,需要保持统一的角色形象、一致的构图风格,并且要对其中某几张图的细节做局部修改。在线工具这边生一张、那边修一下,风格飘忽不定,改一处细节就得把整张图重新生成,最后我在 PS 里修补的时间比生成的时间还长。
后来我把工作流整体迁移到了 ComfyUI,配合 PS 做后处理,才真正找到了顺手的节奏。这套组合的实际价值在于:ComfyUI 负责可控生成,PS 负责像素级修正,两者分工明确,中间通过"图生图、局部重绘、精细修复"这些环节衔接起来。现在我的日常流程是:先在 ComfyUI 里把底图、构图、光影、风格全部定死,产出后丢进 PS 做精修、排版、调色,必要时再把 PS 里修好的图送回 ComfyUI 做二次生成(俗称"回炉")。这套流程跑通之后,我的出图效率大概翻了一倍,而且最关键的——客户的修改意见,我能精准地在对应图层和节点上处理,而不是靠运气重新抽卡。
这篇文章我不会讲太多玄乎的概念,重点就落在四件事上:ComfyUI 的节点逻辑到底怎么理解、一个能用于实际项目的文生图工作流怎么搭、PS 在这个流程里的正确打开方式,以及从"自娱自乐"到"商业接单"怎么把工作流变成生产资料。如果你和我一样,已经受够了随机出图的折磨,或者正准备把 AI 绘画用在正经项目里,这篇应该能给你一些可以直接上手的思路。
2. ComfyUI 环境准备:从整合包到基础概念,少走弯路
2.1 环境安装:建议直接用整合包,但要知道自己装了什么
先聊环境。我第一次接触 ComfyUI 的时候,头铁去官方仓库手动部署,结果在依赖和版本兼容上折腾了两天。后来换了社区常用的整合包,十分钟就跑起来了。这里建议新手直接走整合包路线,不要在这个阶段浪费时间。市面上常见的整合包(比如秋叶整合包、满血版整合包)本质上是帮你把 Python 环境、PyTorch、CUDA 依赖、常用节点和模型都封装好了,开箱即用。
但我要提醒一点:用整合包没问题,但你必须清楚自己用了什么版本的底层组件。因为后面你装自定义节点的时候,大概率会遇到版本冲突。我建议动手前先记住三个东西:ComfyUI 的前端版本、PyTorch 版本、你用的显卡驱动版本。整合包的发布页一般会写明这些信息,截图存一份就行。
另外,国内网络环境下载模型可能比较慢,整合包一般自带切换国内源的工具,或者你直接去国内模型站下载 checkpoint、LoRA 放到对应目录。模型放哪里也是有规矩的:checkpoint 大模型放在models/checkpoints,LoRA 放在models/loras,VAE 放在models/vae,ControlNet 相关的放在models/controlnet——路径放对了,加载的时候才找得到。
2.2 节点逻辑的本质:一张图就是一条流水线
ComfyUI 和传统在线工具最大的区别,就是它把"生成一张图"这件事拆成了一串可以自由组装的操作步骤,每个步骤是一个节点,节点之间有输入输出连接,串联起来就是一条工作流。你可以把每个节点想象成一个工位上的工人:加载模型的人只管加载模型,写提示词的人只管把文字转换成模型能理解的向量,采样器负责根据条件去"画",解码器把潜空间数据还原成像素图。每个工位干好自己的活,然后把半成品递给下一个工位。
这个逻辑看起来很绕,但一旦理解了,你就获得了一个核心能力——可复现性。在线出图工具是一次性黑箱,而 ComfyUI 里同样的工作流、同样的 seed(随机种子)、同样的模型和参数,产出结果是可以复现的。对商业项目来说,这意味着你终于可以对客户说:"这个方案是基于这套参数生成的,我们后续每张图都会在这个基准上迭代。"这种可控性,是所有严肃创作场景的刚需。
新手入门 ComfyUI 的时候,我建议你把默认的"文生图"模板拆开逐节点看一遍,跟着连一遍线,不要急着装一堆插件。先搞清楚最核心的五类节点:加载 checkpoint、CLIP 文本编码(正向/负向提示词)、采样器(KSampler)、VAE 解码、保存图像。这五个节点的链路就是一条最基础的"文生图流水线",之后再往这条主线上加 ControlNet、LoRA、局部重绘之类的分支节点,理解起来就快多了。
2.3 几个容易卡住新手的点
根据我自己的经历和帮朋友排查的经验,新手最容易卡住的通常是这几个地方:
- 模型加载不出来:多半是路径放错了或模型格式不兼容,确认是 .safetensors 文件,并且放在正确的目录,重启 ComfyUI 后刷新节点列表。
- 生成全黑图或彩色噪点图:大概率是 VAE 没有正确连接或模型内置 VAE 没启用,可以单独下载一个 VAE 文件挂上去。
- 报错提示缺少自定义节点:说明工作流里用到了你没装的插件,去"管理器"里一键安装缺失节点。
- 显存不足(OOM):降低分辨率、把 batch size 调小,或者启用低显存模式。如果你还在用 8G 以下显存的卡,尽量不要开一堆 ControlNet 和放大模型同时跑。
这些坑基本都属于"知道原理就能避开"的类型。比如全黑图的问题,如果你理解 VAE 负责把潜空间数据还原成可见像素,你就知道少了这一步输出肯定是坏的。
3. 搭一条能用于实战的文生图工作流:从模型选择到参数设置
3.1 模型的选型逻辑:别追新,要追"稳"
很多刚接触 ComfyUI 的朋友特别热衷于下载最新的 checkpoint 大模型,谁的样图好看就下谁。但真正做项目的时候,"稳定"比"惊艳"重要得多。我常用的思路是:主力大模型固定在 1-2 个经过大量社区验证的模型上,比如 SD 系列的经典版本和各种微调版本,具体选哪个取决于你的项目风格——画写实人像选写实类模型,做二次元风格选动漫类模型。切换大模型会连带着改变画风、光影、人体结构表现力,所以同一个系列海报项目里,尽量不要中途换模型。
LoRA 的作用更微妙。它相当于在"模型这个人格"之上叠加一些"职业特长",比如某个角色的长相、某种画风、某种物体质感。商业项目中,我强烈建议把客户需求里反复出现的元素做成一两个专用 LoRA,能省下大量重复调整提示词的时间。不过 LoRA 的权重不是越大越好,我一般先设在 0.7-0.9 之间,然后根据效果小范围调。
3.2 提示词的写法:正负提示词怎么配合出好结果
在 ComfyUI 中,提示词被拆成正向提示词和负向提示词,分别输入两个 CLIP 文本编码节点,再汇入采样器。正向提示词负责告诉你想要什么,负向提示词负责告诉模型你不想要什么。比如生成人像的时候,负向提示词里通常会有"bad hands, extra fingers, twisted body, low quality, blurry, watermark, text"这些常见问题项。
我写正向提示词的套路是"四段式":主体描述 + 环境背景 + 光影风格 + 质量词。举个例子,我要生成一张"在黄昏海边奔跑的女孩"的图:
- 主体:
a young girl running on the beach - 环境:
golden hour, ocean waves, seaside, sand - 光影风格:
soft lighting, warm tones, cinematic lighting - 质量词:
high quality, masterpiece, highly detailed, sharp focus
负向提示词我就干脆粗暴一点:把常见崩坏项全堆上去。这里有个小技巧——写负向提示词的时候,不要只写词,要写短句,比如"extra fingers"比"mutated hands"更精准,因为模型对具体缺陷的描述理解得更好。
3.3 采样器关键参数:从玄学到科学
新人最容易把采样参数当玄学,其实核心参数就那么几个,理解了就很好调:
- Steps(步数):采样器迭代的次数。太高不一定更好,20-30 步以内是常见区间,超过 40 步收益就递减了。
- CFG(提示词引导系数):数值越大,生成结果越贴近提示词,但太大容易色彩过饱和。我一般设在 7 左右,特殊情况会在 5-10 之间波动。
- Sampler(采样器):不同采样器对画面的细腻度、随机性影响不同。日常用 Euler 或 DPM++ 系列就足够,追求精细可选 UniPC。
- Seed(随机种子):固定种子才能复现结果。调构图的时候,我会固定 seed,只改提示词,这样出图风格不会突变,方便对比哪个关键词起了作用。
推荐一个调参习惯:每次改参只动一个变量。比如你想试 CFG=7 和 CFG=9 的区别,就不要同时把 steps 和 sampler 也换了,否则你根本不知道画面变化是哪一步引起的。我自己的记录方式是给每张图打标签,文件名里带上"model-lora-steps-cfg-seed",这样回头查图的时候一眼就能看出参数脉络。
3.4 基础工作流的节点连接参考
基于上面的逻辑,一条标准的文生图工作流节点连接顺序如下:
Load Checkpoint(加载大模型,同时会输出 MODEL、CLIP、VAE 三个通道)CLIP Text Encode(正向提示词)→ 连接采样器的 positiveCLIP Text Encode(负向提示词)→ 连接采样器的 negativeEmpty Latent Image(设置画布宽高和 batch size)→ 连接采样器的 latent_imageKSampler(设置 steps、cfg、sampler、seed)→ 输出 LATENTVAE Decode(把 LATENT 转成像素图像)Save Image(保存到 output 目录)
用默认模板搭一遍,然后跑一次,看能不能出图。这一步过了,你的 ComfyUI 基本盘就稳了,接下来可以往上面加 ControlNet、放大节点、局部重绘这些进阶功能。
4. PS 在 AI 绘画工作流中的真实角色:不是替代品,是精修台
4.1 ComfyUI 完成 80%,剩下 20% 为什么必须交给 PS
很多人以为 AI 绘画有了 ComfyUI 就不需要 PS 了,这种想法是对工具的误解。ComfyUI 擅长"从无到有"地生成图像,但它不擅长"从有到精"。商业落地的时候,客户不会满足于"这张图整体还行",他们会指着画面说:"这个手指的弧度不对""这个 LOGO 的字母拼错了""这里的光影过渡有点脏""这个产品的边缘要和背景融合得更自然。"这些事情在 ComfyUI 里处理起来往往要反复重新生成,但在 PS 里就是几分钟的活。
我把 PS 在这个流程中的角色总结为三个字:精修台。所有从 ComfyUI 出来的底图,先在 PS 里过一遍——修结构、理光影、做排版、加文字、调颜色。PS 里那些年积累的笔刷、蒙版、混合模式这时候全都派上用场,这才是 PS 不可替代的地方:像素级的控制力。
4.2 从 ComfyUI 到 PS 的衔接:图像尺寸与格式的讲究
工作流衔接的第一个坑就是尺寸。ComfyUI 生成的图默认分辨率不一定符合最终交付要求,如果直接拉到 PS 里放大,画面会虚。我的做法是:在 ComfyUI 里就用足够高的分辨率出图(对应地,显存不够就分块放大),或者用放大模型(如 Ultimate SD Upscale)做一次高清放大,再进 PS。这样到了 PS 里,大部分情况下只需要做小范围的修正,不用整体重绘。
第二个坑是格式。ComfyUI 保存的 PNG 文件是带完整元数据的,PS 里打开后可以看到提示词和参数。单张交付用 PNG 没问题,但如果要做批量处理,建议在 PS 里转成 PSD 保存图层,方便后续反复修改。我习惯在 PS 里把"AI 底图层"和"手动修正层"分开建组,这样客户要改的时候,我能清楚地知道哪部分是生成出来的、哪部分是修过的。
4.3 PS 里的高频动作清单:我每天都会用到的修复操作
在长期配合 ComfyUI 使用的过程中,我总结了一套 PS 高频动作,每条都是针对 AI 出图的常见毛病:
- 手指与肢体修复:用液化工具(Filter > Liquify)微调手指弯曲方向和关节位置,比重新生成快得多。
- 文字修正:AI 生成图里的文字经常是乱码。用套索工具圈出文字区域,内容识别填充(Content-Aware Fill)抹掉,再手动打上正确的文字。
- 边缘融合:AI 合成的素材边缘常有一圈生硬过渡。用橡皮擦配合低流量笔刷,或者添加图层蒙版做羽化过渡。
- 光影统一:在 PS 里叠加一个柔光图层(Soft Light),用黑白画笔在蒙版上涂抹,压暗过曝区域、提亮欠曝区域,让整体光影方向一致。
- 降噪与锐化:AI 出图在高频噪点区域会有颗粒感,先用 Camera Raw 滤镜做降噪,再对主体做局部智能锐化。
这些操作看着简单,但真正做商业项目的时候,它们决定了你交付物的专业度。AI 出一张 80 分的图,你花半小时修到 95 分,客户会认为你是专业的。而如果你只会出图不会修图,交付的永远是"AI 味"很重的东西。
4.4 回炉重绘:PS 修完再送回 ComfyUI 的正确姿势
PS 和 ComfyUI 的协作还有一层很多人没用到的高级玩法,叫回炉重绘。场景是这样的:你在 PS 里把一张 AI 图的背景改成了新的颜色、加了一个新元素,但改完之后整体画面变得不太协调——AI 原图的光影关系被破坏了。这时候不需要在 PS 里硬拗,而是把这张改过的图保存下来,重新拖回 ComfyUI,用img2img(图生图)的方式,让 AI 基于你改过的构图和色彩重新生成一版,保持你想要的改动,同时把光影和细节重新统一起来。
这个玩法我用得很频繁。操作要点有两个:重绘幅度(denoise strength)控制得低一点,一般在 0.3-0.5 之间,太高会把你的改动整个冲掉;用局部重绘节点(Inpaint),只把你改动过的区域发给 AI 处理,其他部分保持不变。这样就能实现"PS 做布局、AI 做融图"的协同效果。这个流程熟练之后,你会发现自己的创意边界一下子宽了很多——先用 PS 拼接大感觉,再让 AI 把细节焊死,两边各用各的长处。
5. 商业落地:从能跑通工作流到能交付客户成果
5.1 别把"能出图"当成"能接单"
我见过不少朋友,ComfyUI 能跑通几个工作流,就开始觉得自己能接单了,结果真拿到需求的时候手忙脚乱。"能出图"和"能交付"之间隔着一条巨大的沟,这条沟的名字叫"需求理解、版本管理、交付规范和修改响应"。
商业项目的第一课,是学会把客户模糊的需求翻译成工作流参数。客户说"我想要一张科技感强的 banner",这是废话——你需要追问的是:尺寸是多少?用在什么平台上?画面里是产品实拍还是纯概念图?主体是什么?风格是冷色调还是暖色调?有没有参考图?把这些信息全部拿到手,再开始动工。我自己有一个需求采集清单,每次接单前先对着清单问一遍,不满足就不开工。这样做的目的不是为难客户,而是避免你连续出十几版废图,既浪费时间又影响口碑。
5.2 版本管理:一个项目一个目录,一套参数一套截图
商业项目最容易被忽略的,是版本管理。在 ComfyUI 里,一次生成的图由"模型 + 提示词 + 参数 + seed + 节点结构"共同决定,任何一环变了,结果就变了。你必须把这些信息全部固化下来。
我的做法是:每个商业项目单独建一个目录,下面按照"v01、v02、v03"分文件夹,每个文件夹里存三样东西:出图 PNG、对应的 ComfyUI 工作流 JSON 文件、一个参数说明截图(用 Workflow 的截图功能把节点图截下来)。客户说"上一版更好"的时候,你只需要打开上一版的文件夹,把 JSON 拖回 ComfyUI,一切恢复原样,然后在那基础上迭代。没有这套机制的话,客户的"上一版"就是你的噩梦。
这里说一个我踩过的坑:有一段时间我偷懒,觉得工作流 JSON 存不存无所谓,结果同一个项目相隔两周要出 v5 版,客户说"和 v2 的感觉保持一致",我对着屏幕回忆了十分钟,根本想不起当时具体改了什么参数。后来花了一个小时重试才勉强找回来。从那以后,我再也不敢省略版本记录。
5.3 商业交付物里常被忽略的三件事:高分辨率、图层源文件、授权边界
商业交付和自娱自乐还有一个重要区别:交付物的完整性。我总结为三件事:
第一,高分辨率。商业用途的图,一般要求长边不低于 2048 甚至更高。如果客户要印刷品,分辨率要求更苛刻。ComfyUI 默认分辨率经常不够用,必须走放大流程。我不会为了省时间跳过这一步。
第二,图层源文件。专业客户,尤其是设计公司和广告代理公司,通常要求交付 PSD 源文件,因为他们的设计师还要在你这张图的基础上继续加工。所以我在 PS 里修图的时候,所有调整动作都会保留在独立图层和蒙版里,不会合并图层交付。这也反过来要求你的 PS 修图过程必须规范。
第三,授权边界。AI 绘画作品的版权和商用授权目前是一个比较模糊的领域,但作为交付方,我会在合同或沟通记录里写明:生成的图片是基于何种模型、使用了哪些素材,以及约定好的使用范围(比如只能用于线上投放还是可以用于印刷)。不是在制造麻烦,而是在保护我自己——万一客户拿去商用引发了侵权纠纷,至少我有清晰的记录证明来源。这件事一定要做,别嫌麻烦。
5.4 从单张接单到批量交付:怎么把工作流变成"小流水线"
接单到了一定阶段,你会发现单张出图已经不够了——客户要的可能是一套 20 张的社交媒体海报,统一主题、统一风格、每张构图略有变化。这时候,手工一张张调整的效率就太低,必须把工作流派上用场。
我的做法是:先做主视觉模板,把构图、配色、字体位置全部定好;然后在 ComfyUI 里用批量参数生成功能,把变化的部分(比如每张图的标题文案、主视觉元素)作为变量输入,一次性跑一批底图;最后在 PS 里用动作和脚本批量套模板、批量导出。这套流程跑下来,20 张海报的交付时间能压缩到两三天。
批量交付的核心思路是:把"每张图都当新项目"变成"所有图共享一套核心参数"。客户看重的统一感,恰恰来自同一套工作流的稳定输出。而你需要应对的变量,永远控制在极少数几个节点上——切换关键词、切换 ControlNet 条件图、切换 LoRA。能批量化的东西绝不动手,这样才能腾出时间做真正需要审美判断的部分。
6. 进阶玩法和三个让我效率翻倍的小习惯
6.1 ControlNet 与局部重绘:把"改图"这件事从随机变成精准
如果你只掌握了文生图,你在商业项目里的战斗力还只有一半。另一半来自两个关键节点:ControlNet 和 Inpaint(局部重绘)。
ControlNet 的作用是"给 AI 递图纸"。你可以把一张线稿、一个姿势骨架图、一张深度图喂给它,让 AI 严格按照这个结构去生成画面。比如客户要一个特定构图的场景,我先在 PS 里画一个粗略的线稿或摆一个 3D 姿势骨架,然后通过 ControlNet 的 Canny 或 OpenPose 模式控制住 AI,让它只能在给定的结构范围内发挥风格——这就是可控生成的精髓。
Inpaint 的作用是"精准做局部手术"。只发给你圈定的区域,让 AI 只重绘这部分内容。我经常用它来替换画面里的某个元素:比如把一张室内设计图里的沙发换成茶几,其他地方丝纹不动。这个功能和 PS 的"内容识别填充"思路类似,但效果要强得多——它不只是填补空白,而是基于整个画面的语义理解生成新内容。
6.2 模型和 LoRA 的管理:做一个自己的"素材资产库"
用了一段时间 ComfyUI 之后,你手机里的模型和 LoRA 会越来越多,如果不好好管理,找东西的时间比生成的时间还长。我强烈建议你建一个"AI 素材资产库"——不仅是模型文件,还包括你已经验证过好用的工作流 JSON、提示词模板、参考图分类。
我的管理方式很简单:按"风格 - 用途"两层目录分类。大模型放在"写实 / 二次元 / 3D渲染"这三类下面;LoRA 按"角色 / 风格 / 物体"分类;工作流 JSON 按"文生图 / 图生图 / 局部重绘 / 视频帧插值"分类。每个文件文件名里带上版本号和日期,比如realistic_v1.5_20240115.safetensors。这套体系虽然朴素,但在项目紧急的时候救过我很多次——翻目录找到正确模型的时间不会超过一分钟。
6.3 提示词模板化与批量测试:让"玄学"变成"工程学"
最后分享一个让我效率翻倍的习惯:把提示词模板化,并且批量测试。不要每次写提示词都从零开始,而是根据项目类型维护几套提示词模板。
比如我的"电商产品主图模板"长这样:
product shot of [产品名], [材质], [颜色], on [场景背景], studio lighting, soft shadows, high detail, 8k, commercial photography style
"二次元角色立绘模板"长这样:
1girl, [角色特征描述], [服饰], [动作姿势], clean lineart, detailed background, anime style, vibrant colors, high quality
模板化之后,每次接新项目,我只需要填几个变量,剩下的部分都是经过验证的稳定描述。配合 ComfyUI 的批量测试功能(跑 4-8 张不同布局和参数的图),我能在半小时内锁定一个方案的视觉方向。把写提示词从"玄学"变成"工程学",是控制生成质量的最关键一步。
另外,建议你在批量测试时把每张图的 seed 都记录下来,因为总有一张图会是"差一点就完美",你只需要找到它的 seed,微调一下重跑,就能得到一张接近完美的成图——而不是把整批图推翻重来。
6.4 我的三个压箱底小习惯
到这里,正文快结束了,我把压箱底的三条经验再集中倒一次:
- 每次出图后第一件事是截图节点图,第二件事是存 JSON。这两样东西是你复现和复盘的全部依据。没有它们,当时的思路和参数就全丢了。
- "先定结构,再调风格"——不要一上来就纠结提示词里的措辞,先把一个主体构图跑出来,再逐步替换风格词。我在做任何新项目时,都是先用默认参数跑通结构,确认构图没问题,再引入 LoRA 和 ControlNet 去逼近具体风格。
- 永远给自己留一个"兜底工作流"。有一个你反复用过、确信能出高质量图的经典工作流,在措手不及的时候直接套用。商业项目里,稳定交付一次,胜过惊艳但没有后续。
7. 个人体会:这套组合拳真正改变了我做图的方式
写到最后,说点掏心窝的话。我最初觉得 ComfyUI 的学习曲线让人头大,一堆节点连线,远不如在线工具来得简单。但坚持用下来,我最大的感受是:它改变了我对"生成"的理解——从"抽卡式碰运气"变成了"搭积木式构建"。每一个节点都是一块经过验证的积木,我对输出结果有越来越强的预判能力。而 PS 的加入,让我在 AI 绘画的随机性面前依然保有设计师的主动性和控制力。
现在我的工作流已经稳定成了一套固定的循环:需求拆解 → ComfyUI 搭结构 → 批量试探风格 → PS 精修 → 回炉重绘 → 交付归档。每次跑完一圈,我都会把工作中踩的新坑和验证过的新参数补充进自己的模板库里。AI 绘画的工具迭代很快,但只要这套"结构控制 + 像素修正 + 工程管理"的思路不变,换什么模型、换什么版本,我都能很快适应。
最后再分享一个小技巧:如果你刚开始接触 ComfyUI 和 PS 配合的玩法,不要急着追求花哨的功能,先用一套最简单的工作流,走完"生成 → 精修 → 交付"的完整循环。哪怕只是一张普通的产品图,把这个链路走通、走顺,你对这套工具组合的信心会立刻建立起来。之后每加一个新节点、一个新技巧,都是在给这个基础链路添砖加瓦。这条路我走过,收益很大,希望你也一样。