资源描述
ComfyUI Portrait Master 是专为人像摄影优化的高质量图像生成工作流,集成 IP-Adapter、FaceID、多个 ControlNet(如 face_depth、face_normal、openpose)及人像专用 LoRA(如 portrait-detail-lora),支持精准面部结构控制、电影级皮肤纹理与光影渲染。适用于商业人像精修、AI写真创作、角色一致性生成等场景,兼容 SDXL 与 Flux 模型,显著提升人像真实感与艺术表现力。
详细内容
# ComfyUI Portrait Master 工作流指南
## 工作流概述
ComfyUI Portrait Master 是面向专业人像生成的模块化工作流,通过多节点协同实现高保真面部建模与风格化控制。核心组件包括:IP-Adapter(支持参考图驱动构图)、FaceID(保障身份一致性)、ControlNet 链(face_depth + face_normal + openpose 三重引导)、LoRA 微调层(portrait-detail-lora 和 skin-enhancer-lora),以及自适应 CLIP skip 与 CFG 调节机制。适用于 SDXL 1.0 基础模型,推荐搭配 `epicrealism` 或 `juggernautXL` 作为底模。
## 分步骤操作说明
### 步骤 1:加载基础模型与 LoRA
- 在 `CheckpointLoaderSimple` 节点中加载 SDXL 兼容模型(如 `juggernautXL_v8Rundiffusion.safetensors`)
- 使用 `LoraLoader` 节点依次加载:
- `portrait-detail-lora.safetensors`(权重 0.8,增强五官锐度与肤质细节)
- `skin-enhancer-lora.safetensors`(权重 0.6,优化皮脂反光与毛孔层次)
### 步骤 2:配置 FaceID 与 IP-Adapter
- 将目标人脸正脸照片输入 `FaceIDApply` 节点(需提前安装 `comfyui-face-fid` 自定义节点)
- 同时接入 `IPAdapterUnifiedLoader` 节点,加载 `ipadapter_sdxl_vit-h.safetensors`,设置 `weight` = 0.7,`start_at` = 0.2,`end_at` = 0.8,确保构图与神态迁移稳定
### 步骤 3:构建 ControlNet 多重引导链
- 串联三个 ControlNet 节点:
- `ControlNetLoader` → `ControlNetApplyAdvanced`:加载 `sdxl_controlnet_face_depth.safetensors`(control_weight=1.2,apply_to=latent)
- 同步加载 `sdxl_controlnet_face_normal.safetensors`(control_weight=0.9,用于表面法线校准)
- 加载 `sdxl_controlnet_openpose.safetensors`(control_weight=0.7,约束姿态与轮廓)
- 所有 ControlNet 输入均源自同一张预处理人脸图(经 `FaceDetailer Preprocessor` 输出)
### 步骤 4:设置提示词与采样参数
- 正向提示词(Prompt)示例:
`masterpiece, best quality, ultra-detailed portrait of a [age] [gender] with cinematic lighting, subsurface scattering skin, shallow depth of field, f/1.4, 85mm lens, (detailed pores and freckles:1.3), studio photography`
- 反向提示词(Negative Prompt):
`deformed, disfigured, cartoon, 3d, cgi, text, signature, watermark, lowres, bad anatomy, extra fingers`
- 采样器选用 `DPM++ 2M Karras`,steps=30,cfg=7.5,denoise=0.85
### 步骤 5:后处理与输出优化
- 接入 `UltimateSDUpscale` 节点进行 2×超分,启用 `RealESRGAN_x4plus_anime_6B` 模型(仅用于细节强化,非全局放大)
- 添加 `FaceDetailer` 节点对眼部/唇部区域进行局部重绘(mask_dilation=4,steps=12,cfg=6)
- 最终输出分辨率建议设为 1024×1344(竖版人像黄金比例),避免长宽比失真
## 注意事项与最佳实践
- ✅ **人脸参考图要求**:必须为正面、均匀打光、无遮挡的高清 JPG/PNG(≥1024px),避免侧脸或强阴影干扰 FaceID 特征提取
- ✅ **LoRA 组合原则**:portrait-detail-lora 优先于 skin-enhancer-lora 加载,避免权重叠加导致过锐;总 LoRA 权重和建议 ≤1.5
- ✅ **ControlNet 顺序敏感**:depth → normal → openpose 的执行顺序不可颠倒,否则法线映射易错位
- ⚠️ **显存优化建议**:启用 `VAE tiling` 与 `CPU offload`;若显存 <12GB,可关闭 openpose ControlNet 或将 `batch_size` 设为 1
- ⚠️ **避免过度重绘**:FaceDetailer 局部重绘仅限关键区域,全图重绘会破坏 ControlNet 引导的一致性
## 常见问题提示
- **Q:生成结果面部模糊或结构崩坏?**
A:检查 FaceID 节点是否成功输出 embedding;确认 ControlNet 图像预处理是否启用 `FaceDetailer Preprocessor` 而非通用 `CLIPVisionLoader`;降低 CFG 至 6–7 并提高 denoise 至 0.9
- **Q:皮肤质感过于塑料感或蜡像感?**
A:降低 `skin-enhancer-lora` 权重至 0.4–0.5;在正向提示词中加入 `subsurface scattering, natural skin translucency`;禁用 `Tiled Diffusion` 插件(易破坏微纹理连续性)
- **Q:IP-Adapter 导致背景失真?**
A:将 IP-Adapter 的 `start_at` 提升至 0.3,`end_at` 降至 0.6,并在 Negative Prompt 中强化 `background distortion, warped background`
- **Q:如何保持多人像身份一致性?**
A:对每位人物单独运行 FaceID embedding 缓存(使用 `FaceIDCache` 节点),并在不同批次间复用同一 embedding ID,而非重复加载图像