做了小半年的 AI 绘画工作流相关项目,我越来越确定一件事:ComfyUI + PS 这套组合,是目前从创意发散到商业落地最靠谱的路径之一。很多朋友一上来就被 ComfyUI 的节点图吓住,觉得那是一片密密麻麻的蜘蛛网,转头又回了 WebUI 的怀抱;还有一批人花了几千块买显卡、下了十几个大模型,结果图生成出来还是没人要,卡在“能出图”和“能交付”之间的那道坎上。
这篇内容我想把从节点逻辑到商业落地的完整路径摊开来讲。不绕弯子,直接说清楚 ComfyUI 的节点到底怎么理解、怎么连线才能不出错,PS 在其中承担什么角色、后期要做到什么程度才算“能交差”,以及真正接商业项目时你需要在工作流里提前埋好哪些伏笔。适合刚摸到 ComfyUI 门路的新手,也适合已经能被图但还不知道怎么把流程变成生产力的进阶玩家。
1. 为什么是 ComfyUI + PS:这组黄金搭档的定位
1.1 ComfyUI 到底解决了什么问题
先说结论:ComfyUI 不是来替代你的审美和 PS 修图能力的,它是把“生成图像”从玄学变成工程学的工具。
用生活化的类比来说,WebUI 像一个“点菜式”餐厅——菜单写好了,你选口味、选辣度,厨师在后台按固定流程做菜,你只能等成品;ComfyUI 则像是你自己搭了一条中央厨房流水线——食材(模型)、调料(LoRA、embedding)、烹饪步骤(采样器、步数、CFG)全都是可视化的模块,你可以自由调整顺序、并联多条产线、任意插拔环节,还能把整条线保存下来反复复用。
这套东西解决的核心痛点有三个:
- 可复现性。同样的提示词、同样的参数,别人复现不出你的图,那是因为 WebUI 背后隐藏了太多内部逻辑。ComfyUI 把每一个变量都摆到台面上,工作流文件一分享,别人加载后跑出来的图基本一致,商业协作时这个优势是决定性的。
- 精细控制。你可以只替换其中一个 LoRA、只调整某个采样器参数、单独看某一步的潜空间输出,而不是整张图推倒重来。
- 批量与组合。想一次生成 100 张底图?想在同一个流程里测试三组不同的 ControlNet 强度?ComfyUI 里拖几个节点就完成了,WebUI 里做这事费劲得多。
当然,代价就是学习曲线陡。节点图本质上是一个“数据流编程”界面,你需要理解图像、潜空间、条件控制这些概念在节点之间是怎么流动的。这个坎必须迈过去,一旦迈过去,你会发现手上的自由度完全不一样。
1.2 PS 在 AI 工作流中的不可替代性
很多人会问:AI 都生成图了,还要 PS 干嘛?这个问题的答案很简单——商业项目里,客户买的从来不是“一张图”,而是“一个可用的图”。
AI 生成的原图,哪怕质量再高,也大概率存在几个绕不开的问题:边缘像素溢出、局部结构错误、文字笔画缺失、光影方向不统一、细节过曝或过暗。这些不是靠重roll提示词就能解决的,尤其是涉及人像的商业图,客户一眼就能看出“AI味”。PS 承担的正是“从生成物到作品”的最后一步精修:
- 修结构:手指畸变、五官错位、肢体比例不对,用液化、仿制图章、内容识别填充修掉;
- 统光和色:AI 不同区域的光影可能各说各话,用曲线、色彩平衡、Camera Raw 滤镜统一氛围;
- 加质感和合成:电商场景里需要把产品抠出来、换背景、加投影、做反射,这些是 AI 生成器目前做不好的;
- 补文字和细节:AI 出图文字基本残废,最终版文字信息都是 PS 里后加的。
总结下来,ComfyUI 负责“量的生产与方向的探索”,PS 负责“质的控制与最终的表达”。前者是发动机,后者是方向盘和刹车,哪个缺了都跑不远。
2. 环境搭建:从零跑通 ComfyUI 与 PS 的配合
2.1 ComfyUI 安装与启动
关于安装这部分,我见过太多人在第一步就被劝退。这里给两套方案,按自身情况选。
方案一:官方包直接拉(推荐有一定经验的人)
进 ComfyUI 的 GitHub 官方仓库,按 README 里的说明,用 Git 把 desktop 或 portable 版本拉到本地。Windows 用户建议直接下载 portable 版,里面已经预编译好了 Python 环境和依赖,解压即用,绕开了不少环境变量坑。
启动时运行run_nvidia_gpu.bat,它会自动检测显卡型号和 CUDA 版本。这里有一个我踩过的坑:如果你的显卡驱动很老,即便 PyTorch 装对了也可能报 CUDA error,此时优先去升级显卡驱动,而不是折腾重装 PyTorch。实测下来,驱动版本比 PyTorch 版本对稳定性的影响更大。
方案二:整合包(新手快速上手用)
秋叶整合包或者类似的社区整合包,最大的价值是把模型管理、插件安装、启动器这些环节都做成了图形界面。对完全没接触过 Python 和命令行的新手来说,这确实是足够的起点。
但有一点必须提醒:整合包为了兼容性,内置的版本往往滞后,等你想用新出的模型架构或插件时容易碰壁。所以我个人建议是:用整合包起步可以,但尽早过渡到官方或半官方版本,把 models 和 custom_nodes 目录迁移出来保留好,这样后续升级成本才最低。
2.2 模型与插件的选择
ComfyUI 本身只是一个执行引擎,真正干活的是放在models/checkpoints、models/loras、models/controlnet这些目录里的模型文件。
基础模型(checkpoint)是核心中的核心。目前主流就是 SD1.5 和 SDXL 两大阵营:
- SD1.5 系列:生态最老、LoRA 最多、对显存要求低(8GB 就能跑得很舒服)。但出图分辨率基本在 512/768 级别,细节和构图上限有限。
- SDXL 系列:原生分辨率拉到 1024,细节纹理明显更好,对提示词的理解也更“语言化”而不是“标签化”。缺点是显存需求高,且部分老插件不支持。
如果是做商业项目,我目前的主力是 SDXL + 对应风格的 LoRA,因为 1024 的基础分辨率在后期做 PS 精修时保留的像素空间更多,质量下限明显更高。
插件方面,真正高频率用到的其实就几个:
- ComfyUI-Manager:装插件、更新节点、补缺失模型的一站式工具,必须装;
- ControlNet 相关节点:控制构图、姿势、景深、线稿的保命工具;
- AnimateDiff 相关(可选):如果未来要碰视频生成,提前了解没坏处。
我不建议一次装几十个插件。插件越多,启动报错、节点冲突的概率指数级上升。用哪个装哪个,才是省心的做法。
2.3 PS 端的配合设置
PS 这一侧不用做太复杂的配置,但有几个习惯建议从一开始就养成:
- 统一色域。新建文档时优先用 sRGB IEC61966-2.1,尤其是涉及电商图或网络传播的图。如果你经常用广色域显示器,切回 sRGB 时颜色会明显变灰,这是色彩管理模式的问题,在“编辑-颜色设置”里把 RGB 工作空间统一成 sRGB 即可。
- 建立动作预设。把 AI 出图后的常规修正流程(缩放、锐化、导出 JPG、加版权信息)录制成“动作”,批处理时能省大把时间。
- 用智能对象保护改造空间。从 AI 拖进 PS 的图层,先右键转成智能对象再调色或加滤镜,这样后期后悔了还能随时改参数,不会破坏原图信息。
另外,建议把 PS 的暂存盘设置到非系统盘(比如 D 盘或独立 SSD),处理高分辨率 AI 大图时,PS 的临时文件读写量非常大,暂存盘不够会导致“存储为”卡死,这个操作能直接改善体验。
3. 核心节点逻辑拆解:一次看懂工作流运转
3.1 节点图的基础认知
第一次打开 ComfyUI 默认工作流的人都会愣住:一堆方块、一堆连线,这到底是怎么跑的?
其实核心就一句话:每个节点是一个处理单元,接收上游数据,处理后输出给下游;连线的本质是数据传递,而不是“信号触发”。
你只需要盯住三种数据类型,就基本能看懂 90% 的节点图:
- IMAGE(图像数据):这是最直观的,节点之间传送的就是像素图;
- LATENT(潜空间数据):Stable Diffusion 并不直接在像素空间里工作,而是先把图像压缩到一个低维潜空间,采样器在这个空间里“去噪”,最后再用 VAE Decode 解码回像素图;
- CONDITIONING(条件数据):提示词被文本编码器处理后变成的一种“引导信号”,它不直接是图,而是告诉采样器“朝哪个方向去噪”。
三个类型的连线颜色通常不一样(图像是红色/灰色,潜空间是紫色,条件是绿色/黄色),一眼就能分辨。
这个数据流思维特别重要。我见过太多新手卡在一个问题上:为什么我这个节点连不上?答案往往是因为数据类型不匹配——你把一个 IMAGE 的输出接到了需要 LATENT 的节点上,当然报错。
3.2 典型文生图工作流
一次标准的文生图,最少需要五组节点,按数据流顺序是:
- Checkpoint Loader:加载基础模型,同时输出模型、VAE 和 CLIP 三份数据;
- CLIP Text Encode(正向提示词)和CLIP Text Encode(负面提示词):把文字变成 CONDITIONING;
- Empty Latent Image:设置画布尺寸,生成一张纯噪声的潜空间图像;
- KSampler:核心采样环节,负责把噪声一步步“去噪”成潜空间图像;
- VAE Decode + Save Image:把潜空间数据解码成 PNG 并保存。
KSampler 里几个关键参数我先说一下,因为它们会在后面的实战里反复用到:
- steps(步数):去噪迭代的次数,SDXL 一般 25-35 步足够,再多对质量的提升很小;
- CFG(提示词引导强度):值越高越“听话”,但太高会过曝、色彩发闷。SDXL 建议 5-7,SD1.5 可以放到 7-9;
- sampler_name(采样器):不同采样器出图风格和收敛速度差异很大。我常用 DPM++ 2M Karras 或 Euler a,前者质量稳、细节扎实,后者风格化强;
- denoise(重绘幅度):文生图默认 1.0,图生图时这个值决定你保留原图多少信息。
首次跑通这个最简流程,你就算入门了。之后再跑不通任何复杂工作流,都可以回到这个基础链路排查问题——大部分报错本质都出在“某个环节的数据没接好”。
3.3 从文生图扩展到图生图与局部重绘
图生图和文生图最大的区别在于:初始状态不是一张纯噪声图,而是一张带原图信息的潜空间图。
实际操作中,你通过 Load Image 节点把参考图载入,再用 VAE Encode 把它编码成 LATENT,然后传给 KSampler。此时 KSampler 里的 denoise 参数决定你保留多少原图信息:
- denoise 0.3:轻度调整,只改风格和细节;
- denoise 0.5:中等程度重绘,构图大体不变但细节大变;
- denoise 0.8 以上:几乎重新生成,只是保留了很模糊的构图轮廓。
局部重绘(Inpaint)是商业项目里使用频率极高的能力。比如一个模特图,你只想改衣服颜色,或者产品图里只想换背景。ComfyUI 里通常的做法是:用 mask(遮罩)标记要重绘的区域,再配合 Set Latent Noise Mask 节点告诉采样器“只在遮罩区域内去噪”。
这里有一个实操心得:局部重绘时,遮罩边缘一定要留出一定羽化过渡空间,不要卡着边界画得死死地,否则重绘区域和原图之间会有一条明显接缝。PS 修图同理——所有边缘处理都要做过渡,AI 里也一样。
3.4 ControlNet 精准控制:构图稳定的核心
ControlNet 是我认为 ComfyUI 与 PS 工作流能成立的关键。它让 AI 生成不再是纯碰运气,而像是“在同一套底稿上做不同的填色与光影”。
控制方式主要有五类,我按实际使用频率排个序:
- OpenPose(姿态控制):通过一张骨架图约束人物姿势,做电商模特图、角色设定时非常常用;
- Canny/Scribble(边缘控制):提取参考图的轮廓线,适合控制构图布局;
- Depth(深度控制):保留场景的空间层次,适合室内设计、场景改版;
- Lineart(线稿控制):适合动漫插画、线稿上色场景;
- Tile(分块重绘):在不破坏整体细节的前提下改变风格或修复,常用于放大补细节。
节点逻辑上,ControlNet 的接入方式是在 KSampler 之前,把“图像控制信号”加入到 CONDITIONING 里。具体做法是:加载 ControlNet 模型 → 用 ControlNet Apply 节点把 control_image 和 conditioning 合到一起,生成一个新的 conditioning,再给到 KSampler。
ControlNet 的强度参数(strength)控制干预程度,一般从 0.3 到 1.0 之间调。我建议日常工作流里把 strength 当成一个常调旋钮而不是固定值,因为同样的图片在不同采样器、不同 CFG 下,最佳 strength 差别很大。商业项目里,我经常对一个构图跑 4-5 组不同的 strength 值,再从中挑结构最稳的版本做后期。
4. 实战案例:从概念图到可交付成图
4.1 案例设计:一张产品宣传海报的完整需求
这一节我们直接看一个我会真实接到的项目需求:某品牌方要做一张“夏日气泡饮料”的宣传海报,要求如下:
- 画面主体:一瓶饮料,冰镇感、气泡飞溅、背景是明亮的夏日海滩;
- 风格:商业摄影质感,不是插画;
- 尺寸:3000x4000 px(竖向海报),需要留出顶部标题区域;
- 交付格式:PSD 源文件 + 高清 JPG。
拿到需求后,我的第一反应不是打开 ComfyU I 狂写提示词,而是先拆解:哪些部分靠 AI 生成最划算,哪些部分必须靠 PS 做合成。
这个需求里,AI 最适合做的是“氛围底图”——海滩背景、光影氛围、水花气泡这些元素的组合,AI 生成效率远比搭实景高;而瓶颈恰恰在于:产品本体(那瓶饮料)必须长得跟实物一致,AI 无法知道这瓶饮料长什么样。所以最终方案定为:
- ComfyUI 生成“背景 + 场景氛围”图;
- PS 里把产品实拍图(或产品建模渲染图)抠出合成进去;
- PS 统一调色、加文字、压暗标题区。
这种思路我称为“AI 做底,PS 做面”。它能同时满足效率和质量两个指标。
4.2 ComfyUI 侧的工作流构建过程
第一步,搭建基础出图分支。用 SDXL 底模,正向提示词写核心元素:
a refreshing lemon-lime soda bottle on a sunny beach, splashing water droplets, ice cubes flying, bright summer atmosphere, commercial product photography, high detail, professional lighting负向提示词写通用废图项:
low quality, blurry, oversaturated, deformed, extra fingers, bad hands, watermark, text, logo第二步,接 ControlNet。因为海报需要严格的竖构图和特定主体位置,我用一张自己用 3D 场景软件快速摆的粗略“构图参考图”(也可以手绘线稿),经过 Canny 预处理后接入 ControlNet,把主体饮料的位置、大小先锁死。
这里有个细节:ControlNet 的控制条件不一定非得是精美图片,粗糙的占位图一样好用。它的作用只是约束大结构,细节全交给模型发挥。在我自己手动搭的参考图里,甚至可以直接用简单的色块 + 文字描述“这里是产品”、“这里是背景”,模型依然能理解。
第三步,接一个高清放大分支。SDXL 原生 1024x1024,离 3000x4000 还差得远。我常用的方式是先用 4x-UltraSharp 这类的放大模型做一次 2x 缩放,再用 KSampler 做一次低 denoise 的二次采样补细节,整体成本可控,画质也不会变肉。
第四步,批量生成环节。因为这个项目需要给客户挑图,我一次性挂了 8 个批次并行出图,每批之间随机换种子、微调提示词里的氛围词,最后挑出 3 张候选底图进入 PS 环节。
4.3 PS 后期处理全流程
候选底图进 PS 之后,我的处理顺序有一套固定流程,这套流程是很多次交付踩坑后总结出来的:
- 基础校正:先跑一遍 Camera Raw 滤镜——校色温、调对比度、看直方图是否有死黑死白区域;
- 产品合成:把品牌方提供的饮料产品图抠出来(用快速选择 + 调整边缘),调整透视、大小、位置,让它融入画面光影里;
- 光影统一:这是最核心一步。AI 底图的光源方向和产品实拍图的光源方向通常不一致,所以要用“曲线+蒙版”分别给产品添加环境光反射和阴影。我习惯先画一个大致阴影形状,再高斯模糊让它柔和,这样才能“坐实”在画面里;
- 提升质感:用 Nik Collection 插件或直接手刷“高反差保留”来增加水滴和高光细节;
- 文字与构图:顶部压暗出一个渐变区域,放标题字,注意留出安全边距;
- 导出与交付:把图层整理命名,导出 16 位 TIFF 主文件、sRGB JPG 网络版和 PSD 源文件。
整套流程下来,单张图的 PS 处理时间大概在 1-2 小时。好消息是,因为工作流已经定型,这事变成了流水线作业,而不是每个项目重新摸索。
5. 商业落地要点:从自嗨到交付
5.1 效率工程:批量化与预设工作流
商业项目真正的考验不是能不能出图,而是能不能按节点时间、按数量、按质量稳定交付。我强烈建议每个人做一件事:把项目里反复使用的流程固化成模板工作流(.json文件)。
比如我的workflows/templates目录里躺着这几个文件:
portrait_base.json:人像写真基础流程;product_catalog.json:产品图批量生成流程,内置了固定背景色和视角控制;concept_sketch.json:概念设计快速发散流程,低步数出草图,高步数出精图;upscale_final.json:通用高清放大流程,不和具体主题绑定。
固化模板的好处有两个。第一,新同事或协作者接手时,加载模板就能跑通,不用你从头讲一堆“先连这个再连那个”。第二,批量任务只需把输入图片文件夹换成新的,其他参数基本不动,出图效率翻倍。
另外,务必给输出文件加一套命名规范,比如项目名_批次_版本_日期。否则接单三个月后你想找某张图,能翻到崩溃。PS 工程文件也建议统一放项目文件夹/PS源文件、项目文件夹/导出成品、项目文件夹/参考素材,这个习惯在结项时尤其救命。
5.2 质量控制与交付标准
商业交付,最忌讳的是“我觉得这张不错”。客户说“不错”和说“能用”是两个标准。我练出来的标准化交付流程里有这几条硬规矩:
- 创建交付检查清单。每一单交付前,对着清单过一遍:分辨率是否符合要求;重要文字是否拼写正确;主体是否清晰无畸形;是否有多余的水印/杂质;色彩模式是否正确;文件命名是否符合约定。
- 提供对比与修改记录。交付时附上一份简单的修改说明文档,告诉客户你改了什么、为什么这么改。看起来是小事,但能大幅减少反复扯皮。
- 保留可修改性。PS 源文件一定分好层,AI 生成的工作流一定保存好节点图,客户后期要改颜色、换文字、调整式样时,你半天内能返工完,而不是推倒重来。
这些规矩背后其实都是同一个逻辑:把你自己变成一个可预期的供应商,而不是一个靠灵感的艺术家。客户付钱是买确定性,在商业语境里,稳定比惊艳更重要。
5.3 版权与合规注意事项
这条单独拿出来说,是因为 AI 绘画商用化这两年吃了很多亏,包括我自己早期也踩过。几个底线原则:
- 不使用来源不明的“魔改模型”,如果模型混入了未经授权的画师作品,商用后版权纠纷非常麻烦;
- 提示词不要直接提“在某某在世画家的风格下”(这位画师明确抵制的情况下),既涉及伦理也涉及侵权风险;
- 客户明确要商用,优先用经过授权、许可协议清晰的模型;
- 涉及真实人物肖像、知名品牌 IP、地标建筑,即使 AI 生成了高度相似的图,商用前也必须获得相应授权。
合规问题在商业项目里不是成本,是安全垫。我见过一个工作室因为用了有争议的 LoRA,被原画师找到门上,最终项目黄了还赔了违约金。这种事一次都不能赌。
6. 常见问题与排查经验实录
6.1 环境与性能问题
“为什么我按了运行,节点一直排队但就是不跑?”
九成原因是显存或内存不足。ComfyUI 的排队机制是逐节点执行的,如果当前节点因为显存溢出崩了,后续节点就会一直卡住不动。解决方法是把启动参数里的--lowvram或--medvram打开,牺牲一点速度换稳定。另外确认批量大小没设太高,8GB 显存跑 SDXL 建议 batch size 保持 1。
“为什么同一个工作流,我跑出来的图跟别人不一样?”
如果你确定模型、提示词、种子、版本都一样,最常见的原因是采样器版本不一致。ComfyUI 内置采样器和 WebUI 的采样器虽然同名,但部分参数行为有细微差别;另外 ComfyUI 版本升级也可能导致随机数序列变化。商业协作时,最好把工作流文件连同所用模型的版本、哈希值一并记录。
6.2 节点连接与逻辑问题
“为什么我把 A 节点的输出连到 B 节点的输入,但颜色对不上 / 接口不亮?”
就是数据类型不匹配。解决方式不是硬连,而是根据实际需要的类型插入转换节点。比如你想把 LATENT 变成 IMAGE,就用 VAE Decode;想把 IMAGE 变成 LATENT,就用 VAE Encode。搞清楚每个节点需要什么类型、输出什么类型,常见的报错能消掉 70%。
“为什么我加载别人分享的工作流,很多节点是红色的?”
红色节点表示这个节点在当前环境里不存在,通常是缺少对应插件。用 ComfyUI-Manager 里的“Install Missing Custom Nodes”功能批量安装缺失插件,装完后重启 ComfyUI 再试。如果安装后依然红色,检查是不是节点版本太老,需要卸载重装。
“跑图过程中报错CUDA error: out of memory”
不只是显存,也可能是内存不够,或者虚拟内存被限制。可以做的操作:调低分辨率、减小 batch、打开--lowvram、关闭电脑里其他占用显存的程序(浏览器开一堆标签页也吃显存,别不信)。如果这些都不行,把 Windows 虚拟内存手动设置到 32GB 以上,往往能缓解。
6.3 出图质量问题
“画面里有明显的手部畸形、人脸崩坏”
SDXL 对手和脸的处理比 SD1.5 好,但不是零失误。我的习惯是:先生成低分辨率小图,用“区域裁剪放大”节点快速检查手部、脸部细节,发现崩坏就直接换种子或局部重绘,而不是在完整尺寸上反复磨。
“图很干净但很‘AI’,塑料感强、死板”
这种情况通常是 CFG 太高、步数太少导致画面过度“求稳”。降低 CFG(比如从 7 降到 4-5),稍微提高步数,并用 DPM++ 2M Karras 这类质量型采样器,同时加一点“数字摄影”、“胶片颗粒”这类提示词,塑料感会明显下降。另外可以考虑在后期 PS 里加噪点、纹理,真实感是靠细节叠加出来。
“主体构图没问题,但背景细节乱糟糟,还有杂物”
我一般不说“重新生成”,而是用 PS 修掉。AI 的优势是生成、PS 的优势是“做减法”。用 PS 的内容识别填充处理杂物比我重新调几个参数再等两分钟出图快得多。真正省时间的思路不是让 AI 一次到完美,而是让 AI 出“骨架稳定、细节可修”的图。
最后一点实操心得
把这套 ComfyUI + PS 工作流跑顺之后,最大的变化不是出图速度提升了多少,而是我对“生成”这件事的掌控感完全不同了。以前图不满意只能干着急,现在失去的每一个东西都能定位到具体节点和参数,找到问题只是时间问题。这种可诊断性,才是工作流最大的价值。
最后分享一个我一直在用的小技巧:每个新项目第一次跑通工作流后,马上截图存下节点图,同时把当时的参数记录到项目的 README 文件里。人脑的记忆不可靠,尤其是三个月后客户要求“按上次那个风格再出一版”的时候,你会感谢当初记录的这几行字。AI 绘画这个领域变化太快,但把基础打扎实、把流程固化成习惯,无论模型怎么换代,你都能最快速度迁移过去。