很多人学 ComfyUI 之前已经在 WebUI 里拖过一阵子提示词或者干脆只是用 PS 修图的老手。他们第一次打开 ComfyUI 的节点画布时第一反应几乎都是同一个这玩意儿怎么跟流水线似的还要自己把管子接起来对就是流水线。ComfyUI 的本质是一套可视化节点编程工具每一个节点就是流水线上的一个工位连线就是传送带数据从一头进去另一头吐出成品图。而 PS 在这里的角色不是替代 ComfyUI也不是被 ComfyUI 替代而是流水线末端那个负责精修、合成、收尾的质检工位。把这两者真正打通才能从“能出图”走到“能交付”。这篇文章我想完整梳理一套从 ComfyUI 节点逻辑到 PS 商业落地的实战链路包括我怎么搭建工作流、跑图时踩过哪些坑、PS 介入的精修思路以及商业项目里关于分辨率、交付格式、验收标准那些文档里不会写的东西。无论你是刚接触 AI 绘画的新手还是已经在用 WebUI 想转过来的进阶用户这套玩法应该都能给你一些可落地的东西。1. 整体工作流设计ComfyUI 与 PS 各自该干什么1.1 不是二选一而是流水线上下游大多数人纠结的第一个问题既然 ComfyUI 能出图为什么还要用 PS反过来既然 PS 什么都能修为什么要先学 ComfyUI我的答案很直接这两个工具解决的根本不是同一个环节的问题。ComfyUI 负责的是“从无到有”的生成它擅长的是批量产出创意方案、快速尝试不同风格、把模糊的想法变成视觉草案。PS 负责的是“从有到精”的加工它擅长的是局部修正、结构重塑、光影合成、去瑕疵、加质感。举个例子。你接了一个电商海报的单子客户说“想要一个赛博朋克风格的耳机产品图背景要有雨夜霓虹”。纯用 ComfyUI 出图你可以一次跑 8 张方案每张构图都不一样成本就是几分钟。但跑出来的图大概率不能用耳机比列可能失调品牌 Logo 被画歪背景虽然好看但是主体不够突出。这时候 PS 的价值就出来了——你可以选一张构图最好的把 Logo 抠掉换成正确的把耳机的结构用液化推正把背景的灯光层次调一下。AI 负责提供高质量底图PS 负责让它变成能交付的作品。这个过程很像摄影行业ComfyUI 是摄影师负责在最好的光线和角度下按下快门PS 是修图师负责把人脸上的痘痘去掉、把天空的颜色调正。你不会因为有了摄影师就不需要修图师也不会因为修图师技术好就不需要摄影师去现场拍。1.2 为什么商业项目更适合这套组合纯 ComfyUI 出图在商业场景有个致命问题不可控。你可以用 ControlNet 控制姿势、用局部重绘修细节但想让文字 100% 不出错、让产品外观和实物完全一致、让画面符合品牌 VI 规范生成模型的天然随机性都会给你挖坑。随机性是模型的魅力也是商业交付的灾难。纯 PS 手工做呢效率太低。一张高质量合成图从找素材、抠图、调色到光影融合熟练的修图师也得两三个小时。而且很多创意草案在没有 AI 辅助的前提下很难快速验证哪个方向值得深入。ComfyUI 加 PS 的组合本质上是在“随机性”和“可控性”之间取得了一个工程化的平衡。ComfyUI 负责把创意空间快速铺开用可控参数把随机性限制在可接受范围内PS 负责在铺开的方案里挑出最有潜力的那张做像素级的控制修正。这就像先让 AI 写十版文案你在里面挑一版最顺眼的再自己动手改细节。比起让 AI 直接写到能发布这套流程的稳定性和质量上限都高得多。2. ComfyUI 节点逻辑拆解理解图生图的底层思维2.1 节点、连线与数据流把画布当工厂流水线看我在一开始就说了ComfyUI 的本质是流水线。但很多新手还是会把节点画布当成 PS 的图层列表来理解这就会出问题。图层列表有“上下遮挡关系”节点画布没有上下关系只有“先后执行关系”。连线方向才是关键——数据永远是从上游节点流向下游节点。你可以把节点画布理解成一张工厂车间平面图。每个节点是一台设备有负责进料的加载图片、输入提示词有负责加工的采样器、缩放器有负责出库的保存图片、预览输出。两台设备之间必须用管道接好——这根管道就是节点的输出端口到另一个节点的输入端口。管道接错了数据就串味了机器要么报错要么吐出来的东西完全不是你想要的。这个比喻不抽象。我见过一个新手把“加载图片”节点的输出直接接到了“保存图片”节点上结果跑出来的文件是一堆原始像素数据完全没有经过任何处理。从工厂的角度看这就是把原材料直接拉去入库跳过了所有加工工序。ComfyUI 不阻止你这么干它甚至不会报错因为从数据流的角度说这是“合法”的——只是不符合你心里的预期。所以学 ComfyUI 节点逻辑的第一课不是背下来每个节点叫什么而是建立一条意识永远要知道当前这个节点的输出是什么类型的数据下一个节点需要什么类型的数据以及线上流动的数据到底经过了哪些变换。2.2 必须搞懂的三个数据类型IMAGE、LATENT、MASKComfyUI 节点之间流动的数据不是只有图片这一种这是新手最容易被卡住的地方。你拉一根线结果端口颜色对不上根本插不进去就是因为数据类型不匹配。最核心的三种数据类型IMAGE就是你理解的图片像素级的数据。它由长、宽、通道数RGB和像素值组成。任何你“看得到”的节点输入或者输出的基本单元都是 IMAGE。LATENT这是隐藏在采样器内部的“潜在空间数据”。你可以把 LATENT 理解成一张图片的压缩包它经过了 VAE 编码把高维像素信息压成了一个更紧凑的低维表达。采样器在 LATENT 空间里做去噪迭代运算量远小于直接处理像素。最后一步必须经过 VAE Decode 节点把压缩包解压回像素图。MASK就是蒙版数据。黑白灰的单通道图白色区域表示“需要处理”黑色区域表示“保持不动”。局部重绘、ControlNet 的很多应用都要用到 MASK。为什么理解这三个类型特别重要因为 ComfyUI 里的报错十有八九跟数据类型匹配有关。比如你把一个 LATENT 输出直接连到“显示图像”节点上节点会直接拒绝——你不能把压缩包直接扔给消费者得先解压。用生活类比IMAGE 是超市里摆在货架上的成品LATENT 是仓库里的压缩原料MASK 是一张贴了“施工区域”的围挡。这三个角色的职责完全不同操作方式也完全不同。2.3 采样器参数明确的业务含义不是乱调的数值ComfyUI 出图的核心环节是 KSampler 节点里面的参数看起来很多其实每个都有明确的业务含义。很多教程只会说“照着抄就行”但我建议你理解本质因为不同项目、不同显卡、不同底模最优参数都不一样。steps步数去噪迭代的次数。每跑一步噪声就被去除一点画面就清晰一点。steps 太少画面模糊、结构不完整steps 太多边际收益递减白白浪费时间。推荐范围在 20~30 步之间具体取决于采样器。你会发现 steps 从 10 加到 20画质提升明显从 30 加到 40眼睛都快看不出差别了。你花的计算时间却线性上升。CFG提示词引导强度控制生成结果服从提示词的程度。CFG 越高画面越贴合文本描述但太高会让画面过曝、色彩变得奇怪、细节发硬。CFG 越低模型自由发挥的空间越大甚至可能完全不管你的提示词。我的常用基线是 7.0写实风格可以调到 5~6偏商业插画可以到 7~8。sampler 与 scheduler这俩参数是一对组合。sampler 决定去噪的数学方式scheduler 决定每一步去噪强度衰减的曲线。不同组合出来的画面细节、风格取向有明显差异。DPM 2M Karras 是我最常用的写实出图组合画面干净、细节丰富、色彩自然。Euler a 偏油画质感、更有绘画感。Ancestral 系列会引入额外随机性同一组参数每次跑都会有轻微差异。denoise重绘幅度这个参数只在图生图、局部重绘时出现表示在原始图上增加噪声并重新采样的强度。denoise 越大重绘幅度越大画面偏离原图越多。0.3 基本是在原图基础上微调0.7 以上就相当于推倒重来。一个比较实用的调参方法是先固定 sampler 和 scheduler只调 steps 和 CFG找一个画面的“甜点区”。然后再微调 denoise 控制重绘幅度。很多时候你会发现一个 0.5 denoise、25 steps、7 CFG 的参数组合就能覆盖 80% 的商业项目需求。提示每换一个底模之前的参数组合大概率不能用。底模型号不同对 CFG 和 denoise 的敏感度完全不同。SD 1.5 系列、SDXL 系列、FLUX 系列之间的参数逻辑差异非常大。一定不要拿一套参数通吃。2.4 工作流搭建设计原则从需求倒推节点掌握了基础数据类型和采样器参数下一步就是搭工作流。这里有一个很重要的设计思路不要从“这个节点有没有意思”出发而是从“我的需求是什么”出发倒推需要哪些节点。比如你的需求是“把一张普通产品照片变成商业海报底图保留产品外观换掉背景风格”。倒推一下需要什么原始图片要进来需要一个 Load Image 节点。产品要保留、背景要换需要一个 MASK 标记产品区域或者用 ControlNet 的 depth/canny 约束产品结构。要在保留产品的前提下生成背景需要一个图生图链路denoise 控制在 0.5~0.6VAE Encode 后接采样器。出图要放大到适合海报的尺寸需要一个 Upscale 节点把分辨率放大到目标大小。这样一倒推整个工作流就自然成形了。你会发现不是你在背节点而是需求在帮你选节点。设计工作流的另一个原则是模块化。一个复杂的商业工作流应该拆成几段独立模块方案生成段、放大部分、精修输出段。每个模块之间用清晰的接口相连这样你排查问题的时候只需要盯住出问题的那一段而不是把整条流水线从头到尾查一遍。3. 可复现的实战工作流从文生图到批量放大3.1 一个基础文生图链路的每一环搭建一个最基础但实用的文生图工作流以下节点一个都不能少CLIP Text Encode正向提示词写清楚主体、构图、光线、风格、画质关键词。商业场景下建议结构是“主体描述 环境背景 光线氛围 画质词 风格词”。CLIP Text Encode负向提示词排除不想出现的东西。低质量、模糊、畸形、多余的手指、文字水印等。Checkpoint Loader加载模型选择底模。不同底模对应不同的出图风格。写实商业用 RealVisXL 或者 Juggernaut XL 这类微调模型。Empty Latent Image空白潜空间定义出图的宽高。基础建议 1024×1024SDXL 系或 768×768SD1.5 系。KSampler采样器按需求设置 steps、CFG、sampler、scheduler 和 denoise。VAE Decode把 LATENT 转成 IMAGE。Save Image保存图片把最终结果写到磁盘。这个链路连起来就是一条最小的文生图流水线。跑通这一条你已经可以开始做各种风格的探索了。如果能稳定产出 20 张图你对出图参数的手感就已经初步建立。3.2 在文生图基础上加“批量生成”模块商业项目里我几乎不会一张一张地跑。客户要的是“出一版方案看看”不是“给我一张图看看”。所以我的工作流里一定会有一个批量循环结构。实现方式很简单把正向提示词里的某一个关键词用通配符替代然后用“提示词调度”节点循环替换。比如提示词写“a