ComfyUI本地部署Krea2写真工作流:角色一致与唯美画质实战指南
2026/9/7 9:19:08 网站建设 项目流程

先问一个实际问题:现在的 AI 写真工作流很多,但真正能做到“角色一致 + 唯美画质 + 本地部署”三者兼得的方案并不多。要么角色一致性需要额外训练 LoRA,要么画质依赖在线 API,要么整套流程拆得七零八落,操作起来非常折腾。本文将分享一套基于 ComfyUI 的 Krea2 套系写真生成工作流,在本地环境中完成从角色参考到写真成片的全流程搭建。内容会覆盖环境准备、模型选择、角色参考模块接法、工作流节点拆解、常见报错排查和工程化建议,适合对 ComfyUI 有一定基础、想落地写真类项目的读者。

1. Krea2 写真工作流能解决什么问题

1.1 “写真生成”在 ComfyUI 里到底是什么

写真生成并不是某个单独模型能完成的事,而是一条由多个节点串联起来的图像生产链路。在 ComfyUI 中,它至少包含角色参考图解析、正向提示词控制、采样器出图、细节修复或放大、最终编码输出这几个环节。Krea2 套系写真工作流的设计目标,是把这些环节封装成一套可复用的流程,让用户只需准备一张角色面部参考图,再输入场景和服装描述,就能批量生成风格统一、角色相似度较高的写真图。

相比直接用文生图,写真的难点在于“同一张脸”。文生图只能靠提示词描述五官,效果不稳定。使用角色参考模块后,工作流会先提取参考图中的面部特征或整体人物特征,再在生成时把这些特征约束进潜空间,从而大幅提高多张图之间的角色一致性。这也是 Krea2 工作流被称为“套系写真”的核心原因:适合生成同一人物在不同场景下的系列图。

1.2 Krea2、白玉模型、角色参考之间的关系

从工作流的角度来看,可以这样理解三者:

部分作用启用的模块
Krea2工作流主体,规定 出图节奏、节点连接方式、放大策略整套 json 流程
白玉模型负责画风与审美,影响“唯美”的质感Checkpoint、LoRA
角色参考保证脸型、五官、气质在不同场景下保持一致InstantID / IPAdapter / ReActor 等参考节点

“白玉模型”在社区中通常被归类为人像摄影向的模型,擅长柔和光影和通透肤色,比较适合古风、时装、清冷感写真这类视觉风格。它不一定是唯一的模型选择,如果你的出图场景偏商业精修或二次元,可以替换为其他模型,工作流骨架仍然通用。

1.3 适合谁用、常见使用场景

这套工作流适合以下三类读者:

  • 想快速产出小红书、朋友圈风格写真图的摄影师和设计师。
  • 在 ComfyUI 中折腾过基本文生图,但还没系统搭建过“角色一致 + 套系出图”流程的玩家。
  • 需要在本地完成私密人像生成的用户,不依赖在线 API,数据不出本机。

典型使用场景包括古风套系写真、生日纪念照、职场形象照、情侣合照风格统一化、同一模特的多场景服装方案预览等。

2. 环境准备与基础安装

在开始搭建工作流之前,先检查你的运行环境。Krea2 工作流对硬件有一定要求,尤其是启用角色参考节点后,显存占用会明显上升。

2.1 硬件与系统建议

  • 操作系统:Windows 10/11、Ubuntu 20.04 及以上均可。
  • 显卡:NVIDIA 显卡,建议显存 8GB 以上。角色参考 + SD1.5 模型建议 8GB;如果直接跑 SDXL 系列,建议 12GB 以上。
  • 内存:建议 16GB 以上。
  • 磁盘:预留 30GB 以上空间,用于存放模型、工作流 json 和临时缓存。

如果你使用的是 A 卡或纯 CPU 环境,理论上可以运行,但角色参考节点和放大节点会比较吃力,出图速度也会慢很多。

2.2 ComfyUI 安装方式

ComfyUI 的安装主要分为“整合包”和“官方源码”两种方式。对大多数新手来说,整合包更省心,常用的有社区维护的秋叶整合包,内置了启动器、依赖管理、模型目录和常用节点,适合快速上手。对需要频繁更新版本或自定义修改源码的开发者,建议使用官方源码。

以官方源码方式为例:

git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI python -m venv venv source venv/bin/activate # Windows 下使用 venv\Scripts\activate pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 pip install -r requirements.txt

启动方式:

python main.py

启动成功后,浏览器访问http://127.0.0.1:8188即可打开 ComfyUI 界面。

如果你使用的是整合包,则直接打开启动器,点击“一键启动”即可,不需要手动配置 Python 环境。整合包通常已经装好了 cuDNN、Torch、常见节点等运行依赖,适合不想折腾环境的人。

2.3 额外节点准备

Krea2 工作流如果包含角色参考功能,通常需要以下自定义节点中的一部分:

  • ComfyUI Manager:社区节点的安装和管理工具,强烈建议优先安装。
  • ControlNet Auxiliary:用于预处理参考图,例如提取深度图、姿态、线稿。
  • InstantID 相关节点:用于面部特征保持。
  • ReActor 节点:用于人脸检测、人脸替换和面部相似度增强。
  • Impact Pack:提供面部修复、检测器、采样器封装等能力。

在缺少自定义节点的情况下,加载工作流 json 时往往会看到红色节点,这表示对应节点不存在。使用 ComfyUI Manager 可以一键搜索并安装缺失节点。

遇到“请安装缺失的包以使用此工作流”的提示时,优先检查节点缺失,而不是重新安装整个 ComfyUI。

3. 模型选择与下载思路

3.1 白玉模型放哪里

白玉模型如果是 Checkpoint 类型,则放入ComfyUI/models/checkpoints/目录。如果是 LoRA 类型,则放入ComfyUI/models/loras/目录。如果是 VAE 结构,则放入ComfyUI/models/vae/目录。

放置完成后,在 ComfyUI 界面中点击“刷新”按钮,节点里的模型下拉列表才会出现新模型。

3.2 Checkpoint、LoRA、VAE 的分工

Checkpoint 是整个出图流程的基座,决定了画风、光影、人体结构的起点。它内部通常已经包含了 UNet、CLIP 和 VAE。理论上一个 Checkpoint 就能完成文生图,但想要更好的效果,可以叠加 LoRA 做风格微调。

白玉模型如果作为 LoRA 使用,它的作用是“在基础模型之上,强化唯美写真的表现特征”。比如让肤色更通透、光影更柔和、发丝更细腻。它不会改变模型的基本能力,而是在出图时通过权重干预风格走向。

VAE 的作用是负责潜空间与像素空间之间的转换。部分模型需要搭配专用 VAE 才能获得更好的色彩表现。如果出图颜色发灰发白,优先考虑更换 VAE。

3.3 角色参考模型怎么选

角色参考功能的模型需要根据你使用的节点决定:

  • 如果走 InstantID 路线,需要 InstantID 专用 ControlNet 模型和 face_embedding。
  • 如果走 IPAdapter 路线,需要 IPAdapter 模型和对应图像编码器。
  • 如果走 ReActor 路线,需要 inswapper_128.onnx 这种人脸替换模型。

不同路线的效果差异较大。InstantID 在“保持面部身份”上表现更强,适合严肃写真;IPAdapter 更偏向风格迁移,适合氛围感人像;ReActor 则是硬性换脸,适合在生成图上直接替换面部。

Krea2 工作流如果已经内置了角色参考模块,那么通常它会指定使用哪条路线。如果你只是套用模板,建议优先按原工作流的要求准备模型,不要随意替换,否则连接方式和参数都会有差异。

4. 核心工作流节点拆解

很多人在网上下载了 Krea2 工作流 json,导入 ComfyUI 后看到密密麻麻的节点就不知道从哪里下手。这一节我们从“功能分区”的角度拆解整套工作流,理解每个模块的作用。

4.1 输入与模型加载区

这是工作流的起点,通常包含 CheckpointLoaderSimple、VAELoader 和 LoraLoader。节点内部负责加载模型权重并输出给后续节点使用。

# 对应节点逻辑(伪代码,用于理解,非实际运行代码) checkpoint = load_checkpoint("白玉.safetensors") vae = load_vae("vae-ft-mse-840000") unet, clip = extract_components(checkpoint)

在实际工作流中,你不需要写代码,只需要选择对应模型文件即可。确保“白玉模型”出现在 Checkpoint 下拉框中。

4.2 角色参考模块

这是整套工作流的重点。以 IPAdapter 路线为例,参考图输入节点会接收一张角色照片,经过图像编码器后生成图像 embedding,再通过 IPAdapter 节点把该 embedding 注入生成过程。

# IPAdapter 接入流程(伪代码) reference_image = load_image("ref.png") embedding = image_encoder.encode(reference_image) result = ipadapter.apply( model=unet, image_embedding=embedding, weight=0.8, start_at=0.0, end_at=1.0 )

这里的 weight 参数很关键。权重太高会导致生成图与参考图几乎一样,但动作和背景变化受限;权重太低则角色相似度不足,人物会“变脸”。实际使用时建议从 0.6 到 0.9 之间调整。

如果使用 InstantID 路线,则在角色参考前通常会接入一个 InsightFace 预处理节点,提取面部 embedding。如果你的参考图是多人合照,还需要先做人脸检测和裁剪,确保只提取目标人物。

4.3 提示词处理区

ComfyUI 中可以用 CLIPTextEncode 节点,也可以外接 Qwen、GPT 等大语言模型节点自动生成提示词。Krea2 工作流如果面向写真场景,建议把提示词分成几个固定组成部分:

  • 主体描述:一位中国年轻女性、长发、清冷气质。
  • 服装描述:白色吊带裙、薄纱外搭。
  • 场景与情绪:黄昏海边、逆光、温柔氛围。
  • 画质词:唯美写真、柔和光影、胶片感、高细节。
正向提示词: (best quality:1.2), masterpiece, 1girl, solo, long hair, white slip dress, seaside, golden hour, backlight, soft lighting, dreamy atmosphere, photorealistic, delicate skin, film grain

反向提示词:

lowres, bad anatomy, bad hands, extra fingers, blurry, jpeg artifacts, watermark, text, deformed

提示词不需要很长,但每个词都要有实际控制作用。写真的关键是保留足够的“摄影语言”,而不是堆一堆形容词。

4.4 采样与出图区

采样器决定了潜空间转换质量。常见参数如下:

  • sampler_name:推荐dpmpp_2meuler_a
  • scheduler:推荐karras
  • steps:18 到 30 之间。
  • cfg:7 左右。写真人像建议在 6-8 之间测试,过高会发腻。
  • denoise:整图生成时通常为 1.0;图生图重绘时根据需求调整。

不同模型适合的采样器组合不同,白玉模型的具体偏好需要实测。建议在第一次使用时固定其他参数,只换 sampler 做横向对比。

4.5 放大与细节修复区

套系写真不仅要脸像,还要画质经得起放大。常见做法是“低分辨率生成 + 二次放大”。先在 512 或 768 分辨率下快速出图,然后通过 UltimateSDUPSCALE 或 Tiled Diffusion 进行放大。

放大过程中有两个关键操作:

  1. 开启面部修复(face restore),使用 codeformer 或 gfpgan 修复五官边缘。
  2. 对脸部区域进行局部重绘,让放大后的脸依然保持自然质感。

如果显存充足,可以配合 ControlNet Tile 模型,在放大时保持更多细节不丢失。

5. 完整实战:搭建一套可用的 Krea2 写真工作流

这一节我们手动搭建一套最小的“角色参考写真工作流”。虽然每个节点的细节会因为模型和插件版本不同而有所变化,但整体流程思路是通用的。

5.1 工作流结构预览

完整流程按顺序分为四段:

  1. 加载模型和白玉 LoRA。
  2. 读取角色参考图并提取特征。
  3. 提示词控制 + 采样生成。
  4. 放大 + 面部修复 + 输出。

5.2 模型加载节点配置

在工作流画布中添加 CheckpointLoaderSimple,选择基础模型。如果你手头有唯美写真向模型,建议选择该类;如果没有,SD1.5 写实模型也可以作为替代。

如果白玉模型是以 LoRA 形式存在,则在 CheckpointLoader 后连接 LoraLoader,并填写 LoRA 文件名。权重建议从 0.5 开始尝试,LoRA 权重过高会让整个画面出现明显风格扭曲。

5.3 角色参考节点配置

这里以 IPAdapter 为例进行说明,因为它对新手最友好。需要准备:

  • 一张清晰、正面或微侧面的角色面部照片。
  • IPAdapter 模型文件,放到ComfyUI/models/ipadapter/
  • CLIP Vision 模型文件,放到ComfyUI/models/clip_vision/

在 ComfyUI 中添加 LoadImage 节点,载入角色参考图;添加 IPAdapter 节点,连接模型、参考图 embedding,并设置 weight 为 0.7 到 0.85。

5.4 采样生成区配置

添加 KSampler 节点,将 LoraLoader 输出的 MODEL 连接到 KSampler 的 model 输入。将 CLIPTextEncode 生成的 cond 和 uncond 分别连接到正向和负向提示词输入。

关键参数参考:

seed: 随机种子,出图满意后可固定复现 steps: 25 cfg: 7 sampler_name: dpmpp_2m scheduler: karras denoise: 1.0

生成尺寸建议从 512x768 或 576x768 开始。这个分辨率虽然不高,但能快速验证构图和角色相似度。确认效果后再进入放大环节。

5.5 放大与输出

添加 UltimateSDUPSCALE 节点,将 KSampler 输出的图片传入。放大倍数设置为 2,模型选择为当前基础模型,重绘幅度 denoise 设置为 0.3 到 0.4。这样可以在放大时保持角色一致,不至于因为过度重绘而“变脸”。

在最终输出前,连接 SaveImage 节点保存成片。

5.6 运行与验证

点击“运行”后,观察进度条。首次运行时会有模型加载过程,耗时较长。生成完成后,检查以下几点:

  • 面部五官是否与参考图保持一致。
  • 光影质感是否符合“唯美写真”预期。
  • 放大后的细节是否出现涂抹或崩坏。
  • 手指、发丝、服装边缘是否有明显畸形。

如果角色相似度偏低,调高 IPAdapter 的 weight;如果画面整体僵硬,略微降低 weight,并检查提示词是否过于具体、限制了动作和构图。

6. 常见问题与排查思路

6.1 缺少节点或报错

工作中最常见的错误是“节点在执行过程中发生错误”或“请安装缺失的包以使用此工作流”。

这两个报错通常不是同一个原因:

问题现象常见原因解决思路
节点红色、json 加载后显示一堆缺失节点缺少自定义节点插件用 ComfyUI Manager 搜索并安装缺失节点
执行时报错 ModuleNotFoundErrorPython 环境缺少依赖包在 ComfyUI 的 Python 环境中执行 pip install
报错信息指向 CUDA 或 out of memory显存不足或驱动异常降低批量大小、关闭放大重绘、检查驱动版本

在遇到节点执行错误时,点击报错节点查看完整错误信息。常见为缺少insightfaceonnxruntimetqdm等包。安装缺失包的命令:

pip install insightface onnxruntime

需要注意的是,要在 ComfyUI 所使用的 Python 环境中安装,而不是系统全局环境。整合包用户可以直接在启动器中点击“打开命令行”再执行安装。

6.2 角色相似度低

原因通常有:

  1. 权重设置过低。
  2. 参考图不清晰或人脸占比太小。
  3. 使用了多人之类的复杂参考图,节点提取到错误目标。
  4. 基础模型的画风跟参考图五官风格差异太大。

排查顺序建议:

  • 先确认参考图中人物面部裁剪是否合适。
  • 再逐步提高参考权重。
  • 最后尝试更换风格更接近写真的基础模型。

6.3 画面太“假”或太“油”

表现是皮肤过度光滑、塑料感强、细节丢失。常见原因是:

  • LoRA 权重过高。
  • 提示词中添加了过多“smooth”、“perfect”类词汇。
  • 放大时 denoise 设置偏高,重绘导致质感丢失。

建议降低唯美类 LoRA 的权重到 0.4 左右,同时把正向提示词中的画质词改为“胶片颗粒、自然皮肤纹理”:

natural skin texture, film grain, realistic light

6.4 显存不足

角色参考 + 放大对显存有压力。如果出现 CUDA out of memory,可以尝试:

  • 将 latent 尺寸从 768 降到 512。
  • 关闭或延后放大节点,先出小图验证。
  • 降低 batch size 到 1。
  • 在启动命令中增加--lowvram参数。
python main.py --lowvram

7. 最佳实践与工程化建议

7.1 工作流模块化管理

不要把整套 Krea2 工作流堆在一个画布里。推荐拆成几个子工作流,例如“角色参考子流程”、“文生图子流程”、“放大子流程”,用 Workflow 节点或直接分组管理。这样后续修改某个环节时,不会影响其他节点。

7.2 提示词分段固化

写真人像的项目往往需要批量产出。建议用一个文本文件管理“固定提示词”和“可变提示词”。固定部分包括画质词、镜头语言、反向词;可变部分包括服装、场景、动作描述。

# prompt_template.txt [固定] best quality, masterpiece, photorealistic, soft lighting, film grain, natural skin texture [可变] 1girl, long hair, {clothes}, {location}, {action}

这样可以避免不同批次出图风格漂移,也让没有经验的使用者能直接上手。

7.3 注意隐私与合规边界

本地部署的一个优势就是不需要把人物照片上传到第三方服务器。但要注意,角色参考图本质上是真实人物的肖像数据。在做测试和分享时,建议使用 AI 生成的基础图或已获授权的模特图,不要上传未经许可的他人照片。生成内容也应遵守平台规范,不制作违反公序良俗的图片。

7.4 定期备份和版本记录

工作流 json 本身很小,建议按日期归档到 Git 仓库或网盘。模型文件一般体积较大,不需要每天备份,但应把下载地址、模型文件哈希值记录在文本文档中。当模型更新或重新拉取时,可以方便追溯版本。

7.5 出图质量管理

批量出图时不要只看缩略图。建议对每一批结果做局部放大检查,重点关注眼睛、手指、发丝。人的视觉对脸部细节非常敏感,一旦五官出现畸变,整套写真的质感都会崩塌。可以考虑在流程最后加一个“质量检查”环节,人工筛选后再进入修图软件。

8. 总结与后续学习方向

从整体来看,Krea2 套系写真工作流并不是一个神秘的“一键式黑盒”,而是一套由模型、参考模块、提示词、采样参数和放大策略共同组成的图像生产管线。掌握它的关键在于理解每个节点的职责,而不是机械地复制 json。角色参考模块让“同一张脸”出现在不同场景成为可能;白玉模型为画风提供了良好的唯美质感基础;而整套工作流的价值,则在于把这些能力有序地组织在一起。

接下来你可以继续深入的方向包括:

  • 尝试不同的角色参考实现方式,对比 InstantID、IPAdapter 和 ReActor 的优缺点。
  • 引入 ControlNet 的姿态控制,让写真图的人物姿势不再依赖提示词随机。
  • 学习 LCM 或 Turbo 加速采样,在牺牲少量画质的情况下大幅度提升出图速度。
  • 用 API 方式调用 ComfyUI,把本地工作流封装成可批量调用的服务。

写真生成是一个很吃“细节调优”的领域,没有一套参数能适用于所有模型和参考图。建议你以本文的工作流骨架为基础,用自己常用的模型和参考图反复测试,记录每次调整对结果的影响,逐步形成一套属于自己的出图配方。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询