手把手教你搭一套 AI 写真工作流,8 个节点就行
说实话,第一次打开 ComfyUI 的时候我盯着那块空白画布发了五分钟呆。
左边节点栏里几百个节点密密麻麻。我当时想的是:就为了生成一张图,我得学多少个节点?
后来真正跑通第一条管线之后回头看才发现——一个能用的写真工作流,核心节点只有 8 个。其他都是锦上添花,没有它们能出图,有了它们出图更好看。
今天这篇把这 8 个节点从零连起来。你跟着做,20 分钟搭好,直接出图。
先看懂数据流,再动手连
ComfyUI 的核心逻辑比它看起来简单得多。数据从左边流到右边,每个节点做一件事:
加载模型 → 输提示词 → 控制人脸 → 控制姿态 → 采样出图 → 解码显示
数据流向是单向的,不会绕圈。记住这个顺序,连节点的时候就不会乱。
8 个节点,逐个连
节点 1:Load Checkpoint(加载底模)
这是管线的起点。双击画布搜索 Load Checkpoint,点一下就创建了。
右边有两个输出口:
MODEL:主模型,连后面所有生成相关的节点VAE:解码器,最后连到VAE Decode
我选的是 DreamShaper XL_Turbo。为什么不用别的?这个模型对提示词的理解比较准,写实人像不容易有「塑料感」。
操作:点ckpt_name下拉框 → 选DreamShaperXL_Turbo.safetensors
节点 2 & 3:CLIP Text Encode(提示词输入)
你需要两个这个节点,一个写正面提示词,一个写负面的。
正面提示词节点(双击搜 CLIP Text Encode,创建后左边连 Load Checkpoint 的 CLIP 输出)
我的正面提示词模板(直接复制用):
a photorealistic portrait of a woman, natural skin texture,
soft studio lighting, 85mm lens, f/1.8, shot on DSLR,
detailed eyes, sharp focus, cinematic color grading,
warm tone, high resolution, 8k
负面提示词节点(同样搜 CLIP Text Encode,但这次不连 CLIP,而是等后面连到 KSampler 的 negative 输入)
负面提示词模板:
cartoon, 3d render, bad anatomy, bad hands, extra fingers,
blurry, noisy, watermark, text, logo, low quality,
plastic skin, oversaturated
提示:负面提示词的意思是「不要出现这些东西」。手、文字、塑料感皮肤,全靠这行负面对抗。
这是整个写真工作流里最关键的一个节点。没有它,每张图的脸都不一样。
先装插件:ComfyUI_IPAdapter_plus(在 ComfyUI 的 Manager 里搜,一键安装)。
装完之后,双击画布搜 IPAdapter Apply,会出现一个节点,它有这些输入口:
model:连Load Checkpoint的MODELipadapter:连Load IPAdapter Model节点(单独创建,搜Load IPAdapter Model,选ip-adapter-faceid_sdxl_vit-h.safetensors)image:连Load Image节点(你上传参考人脸的地方)weight:重点参数,我一般用0.75。太低脸不像,太高背景失控
weight 调参经验:
0.6以下:脸开始不像你0.7-0.8:平衡点,脸像,背景也正常0.9以上:背景被人脸特征「污染」,整张图都像你的脸了
如果你想控制人物的姿势(比如坐着、侧脸、手托下巴),需要加 ControlNet。
最常用的两个 ControlNet 模型:
controlnet-canny-sdxl:控制轮廓边缘,适合保持服装形状controlnet-openpose-sdxl:控制人体骨骼姿态,适合固定姿势
接法:创建 Apply ControlNet 节点 → model 连 IP-Adapter 的输出 → image 连你上传的姿势参考图 → control_net 连 Load ControlNet Model 节点
strength 参数设 0.8,太低控制不住,太高画面失真。
这是最重要的节点,所有生成参数都在这里设。
连接方式:
model:连 ControlNet 的输出(如果没用 ControlNet,就连 IP-Adapter 的输出)positive:连正面提示词节点的输出negative:连负面提示词节点的输出latent_image:连Empty Latent Image节点(设置出图尺寸)
参数详解(这是核心干货):
| 参数 | 我的取值 | 为什么 |
|---|---|---|
| sampler | dpmpp_2m | 收敛快,12步就出质量不错的图,比 Euler 快一倍 |
| scheduler | karras | 配合 dpmpp_2m,细节更丰富 |
| steps | 25 | 20步以下细节不够,30步以上边际收益很低 |
| cfg | 7.0 | 低于 5 提示词失效,高于 9 画面过饱和 |
| seed | -1 | 随机;固定 seed 可以复现同一张图 |
| denoise | 1.0 | 图生图才调低(0.5-0.7),文生图保持 1.0 |
为什么用dpmpp_2m而不是Euler?Euler 是 SD 1.5 时代的默认选择,SDXL 上dpmpp_2m的采样效率明显高一大截。我实测同样 25 步,皮肤细节比 Euler 好不少。
节点 7:VAE Decode(把潜空间解码成图片)
KSampler 出来的是「潜空间图像」——人眼看不懂,得用 VAE 解码。
创建 VAE Decode 节点:
samples:连 KSampler 的LATENT输出vae:连Load Checkpoint的VAE输出(还记得节点 1 有两个输出口吗)IMAGE输出口:连最后一个节点
节点 8:Save Image(保存结果)
最后一步,创建 Save Image 节点,images 连 VAE Decode 的 IMAGE 输出。
到此,8 个节点全部连完。点 Queue Prompt,等 30 秒左右,你的第一张 AI 写真就出来了。
一条完整管线的节点连接顺序
我把连接关系用文字再写一遍,方便你对照:
Load Checkpoint
├── CLIP → CLIP Text Encode (正面提示词)
├── CLIP → CLIP Text Encode (负面提示词)
├── MODEL → IP-Adapter Apply
│ └── IP-Adapter → ControlNet Apply
│ └── KSampler
│ ├── positive → 正面提示词
│ ├── negative → 负面提示词
│ └── latent_image → Empty Latent Image
└── VAE → VAE Decode ← KSampler(LATENT)
└── Save Image
如果你连完之后点 Queue Prompt 报错,90% 是某个连线接错了(比如把 VAE 连到了 MODEL 口)。删掉那条线重连就好。
翻车急救手册
我搭这套管线的时候翻过三次大的车,每次都花了半天排查。把修复方法写出来,你碰到了直接参考,不用绕路。
翻车 1:脸不像本人
如果你的 AI 写真出来像另一个人——先别急着调参数。检查三件事:
- IP-Adapter 的
weight是不是低于 0.7?调到 0.85 试试 - 参考图质量行不行?换一张正脸、光线均匀、没遮挡的照片
- IP-Adapter 模型选对没有?
faceid版本才保人脸,别选成plus
这三项检查完,90% 的「不像」问题都能解决。
翻车 2:手指多一根、少一根,或者整只手畸形
这是 AI 绘画最经典的翻车现场,目前没有 100% 的解决方案。但有几个办法能明显改善:
- 负面提示词加满:
bad hands, extra fingers, missing fingers, deformed hands - 把 CFG 从 8 降到 6.5——CFG 太高会逼着 AI「硬画」,手容易变形
- 如果还是不行,剩下的办法是用 inpaint 在手上区域局部重绘。这个操作下期会详细讲
翻车 3:整张图「塑料感」重,像 AI 滤镜
如果你觉得出图质量不像照片、像游戏渲染——通常不是模型的问题,是提示词和参数。
- 正面提示词里加上
photorealistic, natural skin texture, DSLR, 8k——这几个词是「去塑料感」的关键 - 确认底模是
DreamShaper XL或RealVisXL,别用动漫风底模 - steps 降到 20——有时候 steps 太高反而会让画面「过度加工」,皮肤纹理被磨平了
这套管线能做什么,以及暂时做不好的
搭好之后,你已经可以:
- 换提示词生成不同风格的写真——日系、胶片、影楼、街头,改两行字就行
- 换参考图改变人物姿态,但脸始终是你自己
- 调整 CFG 和 steps 找到你最喜欢的出图风格
目前还没法完美解决的:
- 精确控制手指位置(整个 AI 摄影领域的公开难题)
- 大角度侧脸的一致性(IP-Adapter FaceID 对正脸效果最好,侧脸会打折扣)
- 复杂多人物场景(一张图里多张人脸,IP-Adapter 会混乱)
这些限制在接下来的几期里,我会逐个讲解决方案。
下期预告
这套管线跑通之后,你已经有了一张「能看」的 AI 写真。但如果你想让这张脸在任何场景、任何服装下都稳定输出——你需要训练自己的人脸 LoRA。
下期讲这件事。训练参数怎么设、用什么工具、怎么判断练好了没有,全拆开说。
如果你按这篇连完了管线,出图遇到奇怪的问题,截个图发我,我帮你看。
这是「AI 摄影实操系列」第 3 期。第 1 期讲认知模型,第 2 期讲工具选型,这期讲工作流搭建。后面还有 LoRA 训练、AI 修图、成本算账,持续更。
夜雨聆风