最近在挑选 ComfyUI 工作流的时候,我发现套系写真类的工作流热度一直很高。原因很简单:普通爱好者想要一张好看的写真图并不难,但想要同一个角色、同一套服装、统一风格地生成一组图,难度立刻上了一个台阶。网上很多工作流要么角色一致性靠运气,要么需要堆一堆 ControlNet 节点,配置复杂,普通用户很难一次跑通。
这篇教程要讲的是基于 Krea2 节点封装的一套套系写真工作流,配合白玉模型来实现角色参考和唯美风格。我会从基础概念拆起,然后带大家把工作流完整搭出来,包括节点连接、关键参数解释、LoRA 和参考图的作用,最后给出常见报错排查和工程化建议。不管你是刚接触 ComfyUI 的新手,还是已经玩了一段时间但经常在“角色一致性”上翻车的进阶玩家,这篇文章都能给你一套能实际落地的方案。
1. 先说清楚这套工作流里的几个概念
在搭建工作流之前,有几个名词必须分清。因为它们涉及完全不同的下载资源、目录位置和加载方式,很多新手把工作流拖进 ComfyUI 后出现红色节点警告,往往就是这几个概念没分清楚导致的。
1.1 ComfyUI 是什么
ComfyUI 是一款基于节点图(Node Graph)的 Stable Diffusion GUI 工具。它和 WebUI 最大的差别在于,ComfyUI 把每个处理步骤都拆成了一个节点,用户通过连线来定义数据流动方向。这样做的好处是自由度极高,坏处是新手面对一张空白画布时容易不知所措。
在 ComfyUI 里,一个最简单的文生图流程至少要包含 4 类节点:
- 加载模型节点,例如 Load Checkpoint。
- 正向提示词节点 CLIP Text Encode(Positive)。
- 采样器 KSampler。
- 解码保存节点 VAEDecode、Save Image。
套系写真工作流本质上就是把上面这套基础流程进行“横向扩展”,额外加入角色参考、风格模型、精细重绘等分支。
1.2 Krea2 是什么
Krea2 在 ComfyUI 生态里通常指一套辅助人物写真生成的节点集合。它的核心作用是把“图像预处理、人物抠图、参考特征融合、生成结果增强”等常见写真需求封装成独立节点,让创作者不需要手动接线很多个 ControlNet 和遮罩节点。
需要注意的是,Krea2 并不是一个单独的底模,而是一类辅助增强层的集合。它更像是一套“业务封装工具”,通常包含类似 Krea2 Image Analyze、Krea2 Detail Enhancer 这类功能节点。实际使用时,还是要配合底座大模型、LoRA 和参考图来完成出图。
如果在网上下载到包含 Krea2 节点的工作流,本地 ComfyUI 没有安装对应插件,画布上会显示节点缺失。这时需要到 ComfyUI Manager 中搜索安装,而不是直接运行。
1.3 白玉模型是什么
白玉模型是一类专门针对亚洲人像、古风/唯美写真实战调校过的模型。它通常以 SD 1.5 底模或者基于该底模的训练模型形式分发,特点是人物皮肤质感细腻、面部光影柔和、发丝细节保留较好,比较适合古装写真、日常写真、婚纱风格等场景。
需要提醒大家的是,市面上叫“白玉模型”的文件不止一个版本,有的可能是完整 Checkpoint,有的可能是 LoRA。下载后先看文件后缀和存放位置:
- 完整模型 .safetensors 放到
ComfyUI/models/checkpoints/。 - LoRA 文件放到
ComfyUI/models/loras/。 - VAE 文件放到
ComfyUI/models/vae/。
如果文件放错目录,即使工作流本身没有问题,也可能出现加载时报错或出图效果完全不对的情况。
1.4 角色参考是什么意思
角色参考在写真工作流里的核心目标是“保持同一张脸、同一套服装风格”。实际落地时通常有几种做法:
- Reference Image 直接喂给 IPAdapter 或 InstantID,作为角色特征参考。
- 先用 ControlNet OpenPose 约束姿态,再用 IPAdapter 约束面部特征。
- 通过大模型提示词里固定服装、发型、配饰描述 + LoRA 强化风格。
这套工作流里使用的角色参考,主要思路是把参考图先经过图像预处理,提取出人物面部和服装特征,然后通过 Krea2 节点输出可复用的特征条件,再送入采样器参与生成。
2. 环境准备与版本说明
这一节非常重要。我见过很多用户下载工作流后,明明节点颜色正常,模型路径也对,但生成出来的图糊成一团,最后发现是运行环境不匹配。所以不管你现在跑得通还是跑不通,都建议按下面的思路重新梳理一遍本地环境。
2.1 硬件与系统要求
ComfyUI 本身对硬件没有硬性门槛,但如果你要跑完整版写真工作流,建议满足以下条件:
| 组件 | 最低要求 | 推荐配置 |
|---|---|---|
| 显卡 | 6GB 显存 | 12GB 及以上 |
| 内存 | 16GB | 32GB |
| 操作系统 | Windows 10 / Ubuntu 20.04 | Windows 11 / Ubuntu 22.04 |
| Python | 3.10 | 3.10 / 3.11 |
注意,显存非常重要。Krea2 节点在预处理参考图时会临时占用额外显存,如果显存低于 6GB,建议先生成低分辨率,再通过后期高清修复放大,否则很容易爆显存。
2.2 ComfyUI 安装方式
ComfyUI 官方支持便携版和 Git 源码版。国内用户使用最多的还是秋叶一键整合包,它内置了 Python 环境、ComfyUI 主程序、常用自定义节点和模型管理工具,对新手非常友好。
# 官方 Git 方式(任选) git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI pip install -r requirements.txt python main.py如果是整合包,解压后双击启动ComfyUI.bat即可。首次启动会自动检查依赖,然后打开浏览器访问http://127.0.0.1:8188。
启动出现黑色窗口且没有报错,说明服务正常。之后所有工作流操作都在浏览器页面里完成。
2.3 自定义节点安装
这套套系写真工作流依赖两个自定义节点:
- ComfyUI Manager
- Krea2 相关节点包
通过 Manager 安装的参考命令:
cd ComfyUI/custom_nodes git clone https://github.com/ltdrdata/ComfyUI-Manager.git cd ComfyUI-Manager pip install -r requirements.txt安装完成后重启 ComfyUI,界面右侧会出现 Manager 按钮。以后看到画布上有红色节点,可以直接点击右下角“Install Missing Custom Nodes”进行补装。
2.4 模型与文件准备
在实际跑工作流之前,至少需要准备好以下文件:
| 文件类型 | 示例名称 | 存放路径 |
|---|---|---|
| 底模 | 白玉模型 safetensors | models/checkpoints |
| LoRA | 写实人像 LoRA | models/loras |
| VAE | 内置或单独下载 | models/vae |
| 参考图 | 任意人物照片 | 任意位置,工作流内上传 |
如果你是从网盘下载“白玉模型套系写真工作流”,网盘里一般会附带一个models文件夹和一个workflow.json文件。正确做法是把models文件夹里的内容分别合并到本地 ComfyUI 的对应目录,再用 ComfyUI 菜单里的Load功能导入workflow.json。
3. 套系写真工作流的完整节点链路
这一部分我们进入核心。我不只是给你一张工作流截图,而是把整条链路拆开讲清楚。你理解了节点逻辑之后,遇到工作流报错就能自己定位是哪一段出了问题,也可以在不破坏整体效果的前提下替换节点。
3.1 整体工作流架构
套系写真工作流一般分为五个阶段:
加载底模 → 文本与图像条件编码 → Krea2角色参考处理 → 采样生成 → 解码输出与放大整个链路用文字描述会比较抽象,我用结构化列表说明每个阶段承担的任务:
- 加载阶段:Load Checkpoint 加载白玉模型底模与内置 VAE。
- 条件阶段:正向、反向提示词分别通过 CLIP Text Encode 编码。
- 参考阶段:Load Image 读取角色参考图,送入 Krea2 预处理节点,输出特征条件。
- 生成阶段:KSampler 根据组合条件进行采样。
- 输出阶段:VAEDecode 解码图像,通过 Save Image 保存,必要时接入放大节点。
3.2 采样器参数分析
KSampler 是整个工作流中出图质量的关键。先看常见的参数配置:
{ "seed": 123456, "control_after_generate": "randomize", "steps": 28, "cfg": 7.0, "sampler_name": "dpmpp_2m", "scheduler": "karras", "denoise": 1.0 }参数含义:
- seed:随机种子,相同种子在相同条件下能复现同一张图。
- steps:采样步数,写真类建议 25~30,太低细节不足,太高性能浪费。
- cfg:提示词引导强度,建议 6~8,白玉模型本身风格较强,cfg 太大会导致颜色过饱和。
- sampler_name:采样器名称,dpmpp_2m 是通用性较好的选择。
- scheduler:调度器,karras 能让采样步长分布更合理,画面层次更分明。
- denoise:重绘幅度,图生图时常用。如果你用的是文生图主流程,保持 1.0。
3.3 提示词组织策略
很多用户以为写真效果不好是模型问题,实际上提示词组织不合理占很大比例。套系写真和普通文生图不一样,普通图你只需要描述画面内容,但写真需要同时控制人物、服装、光线、场景、镜头语言这五类信息。
正向提示词建议按以下顺序组织:
(masterpiece, best quality:1.2), 1girl, solo, photorealistic, white dress, long black hair, soft smile, upper body, looking at viewer, soft light, depth of field, delicate skin texture, clean background, pastel tones反向提示词建议固定写:
worst quality, low quality, bad anatomy, bad hands, extra fingers, missing fingers, deformed face, blurry, jpeg artifacts, watermark, text, logo, oversaturated, saturated colors, plastic skin这里强调一下,反向提示词里的bad anatomy和bad hands非常关键。人物写真最容易被看出问题的地方就是手部结构和面部比例,提前在反向提示词里屏蔽能减少大量废片。
4. 手把手搭建 Krea2 套系写真工作流
现在进入实战环节。我假设你本地已经装好 ComfyUI,并且下载了白玉模型和 Krea2 节点包。接下来从画布上的空白处开始搭建。
4.1 新建工作流并加载底模
打开 ComfyUI 后,点击菜单栏的Workflow,选择New,创建一个空白工作流。
在空白画布上双击鼠标,弹出节点搜索窗口,输入Checkpoint,找到Load Checkpoint节点并点击创建。
在节点位置处,把 Checkpoint 下拉菜单切换到白玉模型:
Load Checkpoint ckpt_name: 白玉模型_v1.0.safetensorsLoaded checkpoint 输出端有三个接口:
- MODEL:用于采样阶段。
- CLIP:用于文本编码阶段。
- VAE:用于解码阶段。
4.2 搭建提示词节点
继续双击画布,搜索CLIP Text Encode,创建两个节点,分别命名为:
- Positive Prompt
- Negative Prompt
将Load Checkpoint的 CLIP 输出端分别连接到两个提示词节点的 CLIP 输入端。将上一节写的正向与反向提示词文本复制到对应文本框。
然后搜索CLIP Text Encode的公共输出目标Conditioning,我们下一步会用到。
4.3 加载角色参考图
双击画布,搜索Load Image,创建图像加载节点。点击节点上的choose file to upload,上传一张你准备好的角色参考图。
这张参考图的选择有讲究:
- 面部清晰,眼部不发生遮挡。
- 光线均匀,不要一半亮一半暗。
- 服装就是你想生成的服装风格,或者至少风格接近。
如果要实现“换衣但保持脸部一致”,需要把参考图处理成面部特写,而不是全身图。全身图参考脸部和半身图的参考效果完全不同。
4.4 接入 Krea2 角色参考处理
接下来是所有节点中最重要的部分。双击搜索Krea2,找到角色参考相关节点。不同版本的 Krea2 节点名称可能略有差异,但功能类似。
创建 Krea2 节点后,将Load Image的图像输出端连接到 Krea2 的图像输入端。Krea2 会先对输入图像进行分析,提取面部特征、姿态信息和服装纹理特征,最终输出一个或多个特征条件向量。
如果节点有mode或weight之类的参数,可以这样设置:
mode: character_reference weight: 0.8weight 控制参考特征对生成结果的引导强度。过高会导致生成结果和参考图几乎一样,缺少多样性;过低则角色特征容易丢失。建议先以 0.8 起步,生成后根据效果微调。
4.5 连接采样器与解码输出
双击搜索KSampler,创建采样器节点。按下面方式接线:
Load Checkpoint的 MODEL → KSampler 的 model。- 正向提示词的 CONDITIONING → KSampler 的 positive。
- 反向提示词的 CONDITIONING → KSampler 的 negative。
- Krea2 输出的参考条件,如果有
image或conditioning端口,根据工作流设计接入采样器对应端口或通过合并节点融合。
再搜索VAEDecode和Save Image,将 KSampler 的LATENT输出接至 VAEDecode 的 samples 输入,VAEDecode 的 VAE 输入来自 Load Checkpoint 的 VAE 输出,解码后的 IMAGE 接到 Save Image 的 images 输入。
接线整体链路如下:
Load Checkpoint → CLIP Text Encode → KSampler → VAEDecode → Save Image → Load Image → Krea2 ──────────→ KSampler4.6 运行与验证
点击右侧面板的Queue Prompt按钮,或使用快捷键 Ctrl + Enter,开始生成。
第一次运行可能需要下载一些额外模型文件,耐心等待。如果一切正常,你会看到 Save Image 节点下方出现一张写真图。
生成完成后,重点检查几个部分:
- 面部是否与参考图高度相似。
- 手部结构是否自然。
- 皮肤质感是否细腻,有无塑料感。
- 服装纹理是否清晰。
如果效果不满意,优先调整 Krea2 节点的 weight,而不是去整体换模型。换模型牵一发动全身,容易引入新的风格偏移。
5. 角色参考一致性专项优化
很多用户卡在“角色参考不生效”这一步。Krea2 节点已经接线正确,但生成结果的脸和参考图完全不像。这个问题的本质是特征引导强度不够,或参考图本身质量不佳。
5.1 多种角色参考方案对比
我在实际测试中总结过几种角色参考组合方案,表现形式差别很大。
| 方案 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| Krea2 单独参考 | 操作简单 | 极端角度容易失效 | 日常半身写真 |
| Krea2 + IPAdapter | 面部一致性较强 | 多一个节点 | 面部是核心卖点的写真 |
| Krea2 + InstantID | 换脸能力最强 | 容易崩面部纹理 | 侧重于“换脸”场景 |
| Krea2 + LoRA 人物模型 | 角度宽容度最高 | 需要训练 Lora | 套系写真商业化 |
如果是静态套系写真,建议优先尝试 Krea2 + LoRA。如果是同一张脸、多个动作,则使用 Krea2 + IPAdapter 组合。
5.2 用 LoRA 锁定服装与风格
如果你需要同一套服装、同一风格生成多张不同姿态的图,单靠参考图还不够稳定,因为参考图会限制姿态多样性。更稳妥的做法是训练一个轻量级 LoRA。
LoRA 文件放置到models/loras后,在工作流中创建Load LoRA节点,连接方式为:
- Load Checkpoint 的 MODEL → Load LoRA 的 model。
- Load Checkpoint 的 CLIP → Load LoRA 的 clip。
- Load LoRA 的输出 MODEL → KSampler 的 model。
- Load LoRA 的输出 CLIP → 提示词节点的 clip。
LoRA 提示词写法:
<lora:cloth_style_v1:0.7>0.7 表示 LoRA 权重,建议从 0.6~0.8 开始调,过高会产生过拟合效果,细节纹理丢失。
5.3 提示词与参考条件的权重平衡
角色参考和提示词的权重平衡是写真工作流调试的核心。参考图决定“这个人”,提示词决定“穿什么、在什么环境、用什么镜头拍”。两者不能被一方完全压制。
我的建议是:
- 脸部参考权重保持 0.8。
- 服装描述放在正面提示词中前 10 个 token 内。
- 场景描述不要太多,默认让模型根据服装风格补全。
如果生成结果中人物姿势僵硬,可以降低 Krea2 姿态参考的权重,只保留面部特征参考。Krea2 节点如果支持分离输出姿态与面部,建议分别控制。
6. 常见问题与排查思路
工作流搭建过程中,我遇到最多的问题集中在缺失节点、模型加载失败、显存溢出、出图崩脸这四个方向。下面逐一说明排查思路。
6.1 节点库缺失
| 问题现象 | 常见原因 | 解决思路 |
|---|---|---|
| 节点显示红色 | 缺少自定义节点 | 使用 Manager 安装缺失节点 |
| 提示找不到 Krea2 | 自定义节点未安装 | Git clone 官方仓库到 custom_nodes |
| 缺少 Python 包 | 插件依赖未安装 | 在 ComfyUI 的 Python 环境中 pip install |
这类问题的通用解决思路是:
- 点击红色节点,查看报错信息中的关键字。
- 到 ComfyUI Manager 中点
Install Missing Custom Nodes。 - 安装后必须重启 ComfyUI,部分节点还需要到 Settings 中刷新节点列表。
6.2 模型加载卡住或报错
模型文件较大,加载速度慢是正常现象。但如果卡在某个百分比超过 5 分钟,需要检查:
- 模型文件是否完整下载,网盘下载容易断点损坏。
- 文件是否放入了正确的 checkpoints / loras 目录。
- 是否缺少 VAE 文件。
一个常见的隐蔽错误是,网盘中附带的白玉模型文件名包含特殊字符或空格,导致 ComfyUI 在解析路径时报错。建议把文件名改为baiyu_v1.safetensors这种简洁格式。
6.3 显存不足
RuntimeError: CUDA out of memory.出现这个报错,优先降低分辨率。将 KSampler 生成尺寸从 1024x1024 改为 768x768,先把流程跑通,再考验画质。
也可以使用--lowvram模式启动 ComfyUI:
python main.py --lowvram这个模式会降低显存占用,但会牺牲部分速度。
6.4 出图崩脸
出图崩脸主要和采样器参数与 LoRA 强度有关。排查顺序:
- 先看反向提示词是否包含
bad hands, bad anatomy。 - 将 Krea2 面部参考权重从 0.8 降至 0.6。
- 将 LoRA 权重从 0.7 降至 0.5。
- 增加采样步数到 30,cfg 降至 6.5。
如果是连续多次崩脸,建议换一张更清晰的参考图。模糊参考图会导致模型无法准确提取面部特征,这时调参效果有限。
6.5 每次生成结果差异过大
角色一致性不稳定,常见原因是参考图面部占比太小。Krea2 提取面部特征时,如果参考图里脸部只占图片面积的 10%,面部信息量不足,出来的脸就不稳定。
解决方法是先在 PS 或任意裁剪工具中,把参考图裁剪为“肩部以上”构图,再重新加载。
7. 最佳实践与工程化建议
工作流跑通只是第一步,真正让它稳定地用于写真套系生产,还需要注意下面这些工程细节。
7.1 目录与文件规范
建议为不同项目创建独立目录,例如:
D:/ComfyUI/models/checkpoints/ D:/ComfyUI/models/loras/ D:/ComfyUI/models/krea2_ref/ D:/ComfyUI/output/my_studio/baiyu_wedding/把工作流 JSON、参考图、生成结果按项目归档,后续复现时不需要重新找素材。
7.2 固定种子,先测风格再量产
找风格阶段不要固定种子,每次生成随机种子,有利于探索不同构图。
确定风格后,把 seed 固定下来,后续仅微调提示词。这样能保证拍摄套系时背景、色调基本一致,只是人物动作或服装细节有变化。
7.3 批量生成与筛选
批量生成时,建议把control_after_generate设置为randomize,一次生成 4~6 张再筛选。不要一张一张手动调。批量筛选时可以按以下标准打分:
- 面部相似度是否达到 85% 以上。
- 手部是否有结构错误。
- 服装纹理是否清晰。
- 整体色调是否符合“唯美写真”定位。
筛选后如果整体质量不理想,优先调整 Krea2 weight 和正向提示词的前几个 token,不必整套重新生成。
7.4 高清放大与细节增强
KSampler 直接出 1024 分辨率时,皮肤纹理还能看,但无法用于打印或壁纸级别输出。建议追加高清放大节点:
- 通过
Upscale Image将图片放大至 2 倍。 - 通过
KSampler二次采样,denoise 设为 0.4~0.5。 - VAE Decode 后保存。
二次采样时正向提示词保持不变,但可以加入detailed skin texture, realistic pores增强肤质细节。
7.5 安全与合规提醒
生成人物写真时,请确保你拥有参考图中人物的合法授权。不要对他人照片进行未经许可的“换脸”或“写真生成”,也不要将生成结果用于虚假宣传、诈骗等场景。技术上建议在本地运行,避免把人物图片上传至不明第三方服务。企业在批量生产时,应建立合规审核流程,保存完整的授权记录。
8. 学习路线与进阶方向
到这里,你已经能够搭建一套基于 Krea2 + 白玉模型 + 角色参考的套系写真工作流。接下来可以按下面路线继续往下走。
8.1 掌握图生图与局部重绘
套系写真经常会遇到“生成图服装满意但动作不对”的情况。学会局部重绘后,可以用遮罩锁定服装区域,只对背景或动作进行重绘,效率会提升很多。
8.2 学习 ControlNet 姿态控制
角色参考解决“脸像谁”的问题,ControlNet OpenPose 解决“动作是什么”的问题。把 Krea2 与 OpenPose 结合,就能做到用一个人物的照片,摆出多个指定姿势,这是套系写真商业化的核心能力。
8.3 训练自己的 LoRA
如果你需要在固定服装、固定人物、固定场景风格下大批量生产,自己训练 LoRA 是绕不开的路径。不建议用在线训练平台直接替换,可以先用本地 WebUI 自带的 LoRA 训练脚本,收集 15~20 张干净素材做一次小规模训练实验,感受数据配置、学习率和迭代步数对效果的影响。
8.4 搭建批量自动化任务
当工作流稳定后,可以通过 ComfyUI 的 API 模式批量调用。把 workflow.json 转换成 API 格式后,可以配合 Python 脚本批量提交任务,并根据返回结果自动保存。这样就不再需要人工一张张点 Queue Prompt 了。
可以用一个很简单的 Python 思路来实现批量提交:先读 JSON 模板,替换其中的 seed、提示词、参考图路径,再通过 API 提交。注意控制并发数量,防止显存不足。这种方式尤其适合时间有限、需要大量出图的场景。
9. 写在最后
Krea2 套系写真工作流的核心价值不在于某个单点技术,而在于它把“角色参考、风格控制、批量产出”串成了一条完整链路。当你把这些节点背后的原理一个一个弄明白,ComfyUI 就不再是“别人发的神秘 JSON”,而是一套你可以自由改造的工具箱。
最后给一个非常实际的建议:如果你下载到的工作流跑出来效果跟别人的示例图差距很大,不要急着删,先看一下底模、LoRA、参考图三个变量是不是完全一致。90% 的“复现失败”都出在这三个地方。
如果本文对你有帮助,可以收藏备用。后续我也会继续分享 Krea2 工作流在不同风格场景下的调参笔记,欢迎在实践中多交流。