2026 年用于 NSFW 人脸的 ComfyUI Face Detailer 工作流 | Lewdly Blog
/ ComfyUI / 用于 NSFW 人脸的 ComfyUI Face Detailer 工作流
ComfyUI 4 分钟阅读

用于 NSFW 人脸的 ComfyUI Face Detailer 工作流

修复 AI 生成 NSFW 图像中的人脸。Impact Pack face detailer 节点搭建、YOLO 模型、降噪设置、多遍修复。

用于 NSFW 人脸的 ComfyUI Face Detailer 工作流

NSFW 生成中的人脸会以典型方式崩坏。身体出来得很完美,构图也调校得到位,然后你放大到脸部,它看起来像一幅毕加索的画。这是因为 SDXL 系列模型在整张画布上分配潜空间分辨率时并不均匀。当身体占据画面大部分区域时,脸部在采样过程中只能分到极少量像素的注意力。Face Detailer 通过裁剪出脸部区域、放大、仅对该区域进行高分辨率重新生成,然后再缝合回去来解决这个问题。结果就是照片级真实的 NSFW,脸部真正看起来像一个人。过去 18 个月里,我在每一张量产图像上都用过这套工作流。下面就是确切的配置。

快速答案: 通过 ComfyUI Manager 安装 ComfyUI-Impact-Pack。下载 face_yolov8m.pt 作为检测模型。搭建一条 KSampler → VAEDecode → FaceDetailer 的链路,NSFW 工作降噪设在 0.4 到 0.5 左右。对人像再跑一遍更低降噪(0.3)的第二遍。在 FaceDetailer 节点内部加一个人脸 LoRA 以保持角色一致性。

核心要点:
  • 通过 ComfyUI Manager 安装 ComfyUI-Impact-Pack 和 Impact-Subpack,然后下载 face_yolov8m.pt 用于检测,sam_vit_b_01ec64.pth 用于分割。
  • FaceDetailer 会裁剪脸部、放大、重新生成,再缝合回去。默认降噪 0.5 对大多数场景都没问题,但 NSFW 往往需要 0.4 到 0.45。
  • 在 FaceDetailer 节点内部加一个人脸 LoRA,可在不影响身体比例的前提下提供角色一致性。
  • 多遍精修(第一遍激进,第二遍保守)能可靠修复那些一遍不够的较难情况。
  • PyTorch 2.6 及以上版本对 YOLO 模型需要 weights_only=False 的变通方案。Impact-Subpack 自带了打过补丁的加载器。
  • 若想零配置完成 NSFW 人脸修复,lewdly.ai 会自动运行这套流程。

为什么 NSFW 人脸最先崩坏

说实话,只要你理解模型是怎么看待构图的,发生这种情况的原因就一点也不神秘。SDXL 系列模型在一个 128x128 的潜空间网格上工作(解码后得到 1024x1024 的像素输出)。图像中的每一处细节都得塞进这个网格里。当你的提示词要求一个全身 NSFW 场景时,身体占据了画面的大部分,而脸部大概只占潜空间网格里 12x12 的一块区域。也就是说整张脸只有 144 个潜空间像素的注意力预算,而身体却有 1000 多个潜空间像素。脸部在结构层面就被欠采样了。

你会看到这些症状。两只眼睛对不上。牙齿看起来像恐怖片。皮肤纹理和身体的皮肤纹理对不上。嘴唇有细微的不对劲。头发缺少本该有的细节。这些都不是模型失败,而是一个分辨率分配问题,Face Detailer 通过给脸部一次专属的、有效分辨率更高的生成遍来解决它。

同样的问题在非 NSFW 工作中也存在,这正是 ADetailer(A1111 中的等价物)成为任何照片级生成必备装备的原因。具体到 NSFW,这个问题更严重,因为:

  • 以身体为重心的构图会把脸推得离画面中心更远
  • 画面中身体占比越多,脸部占比就越少
  • 大多数 NSFW 检查点模型在脸部特征上的注意力训练比人像检查点更少
  • 多主体场景会放大问题,因为每张脸分到的注意力更少

在 2026 年,Face Detailer 对 NSFW 量产工作来说并非可选项。任何不用它就出片的人,交付的脸都比本可以达到的更差。

安装 Impact Pack 和 YOLO 模型

配置很直接,但有几个值得注意的坑。流程是:

  1. 打开 ComfyUI Manager
  2. 搜索 "ComfyUI-Impact-Pack" 并安装
  3. 搜索 "ComfyUI-Impact-Subpack" 并安装(两个都需要)
  4. 重启 ComfyUI
  5. 下载检测和分割模型

Impact-Subpack 是大多数教程会跳过的部分。它包含加载 YOLO 模型的 UltralyticsDetectorProvider,而 Impact-Pack 本身包含 FaceDetailer 节点。两个包都是必需的,都必须安装并保持最新。如果你只装了 Impact-Pack,你会遇到关于缺失节点的晦涩报错。

检测模型方面,你需要 face_yolov8m.pt。其中的 "m" 代表 medium(中等),它在脸部相关工作中提供了检测精度和速度的最佳平衡。更小的变体(face_yolov8s.pt)更快,但在困难构图中会漏掉更多脸。更大的变体(l、x)精度略高,但慢得多。

分割方面,用 sam_vit_b_01ec64.pth。SAM(Segment Anything Model)会在 YOLO 边界框内创建一个精确的遮罩,让精修器把重新生成的部分平滑地羽化进周围像素。"b" 变体是脸部工作中精度和速度的恰当平衡。更大的 SAM 变体(l、h)对人脸精修来说是杀鸡用牛刀。

下载路径:

  • face_yolov8m.pt:放在 ComfyUI/models/ultralytics/bbox/
  • sam_vit_b_01ec64.pth:放在 ComfyUI/models/sams/

如果你无法使用 ComfyUI Manager(某些受限环境会屏蔽它),你可以手动安装,方法是把仓库克隆到 ComfyUI/custom_nodes/ 里并运行安装脚本。务必确认这些目录有写权限,否则安装会静默失败。

一个 2026 年特有的坑。PyTorch 2.6 把 weights_only=True 设为了 torch.load() 的默认值,这会破坏 YOLO 模型的加载,因为 Ultralytics 模型包含安全加载器会拒绝的 Python 对象。Impact-Subpack 有一个变通方案,会为受信任的 YOLO 模型路径显式设置 weights_only=False,但如果你在启动时看到 UnpicklingError,说明你的 Impact-Subpack 版本太旧。通过 ComfyUI Manager 更新,错误应该就会消失。

搭建 Face Detailer 节点链

基础的 Face Detailer 工作流是一条简单的线性链。从你常规的文生图流程(CLIP 编码、KSampler、VAEDecode)开始,在 VAEDecode 之后接上 FaceDetailer 节点。连接输入:

  • image: 来自你的 VAEDecode 输出
  • model: 来自你的 CheckpointLoader(与主生成使用的同一模型)
  • clip: 来自你的 CheckpointLoader
  • vae: 来自你的 CheckpointLoader
  • positive: 你的正面提示词(通常和主生成相同)
  • negative: 你的负面提示词(通常和主生成相同)
  • bbox_detector: 来自加载 face_yolov8m.pt 的 UltralyticsDetectorProvider
  • sam_model_opt: 来自加载 sam_vit_b_01ec64.pth 的 SAMLoader(可选但推荐)

FaceDetailer 节点有很多参数,但日常使用中真正重要的只有少数几个:

  • bbox_threshold: 0.5(默认)。如果在低光场景中漏脸,把它降到 0.3。
  • bbox_dilation: 10(默认)。扩大检测到的脸周围的裁剪区域。值越高给重新生成提供的上下文越多,但会浪费时间。
  • bbox_crop_factor: 3(默认)。脸部裁剪图会在重新生成前按此倍数放大。3 意味着一张 100px 的脸变成 300px,重新生成后再缩回去。
  • denoise: 0.5(默认)。这是最关键的一个。下文详述。
  • feather: 5(默认)。遮罩的边缘羽化。让重新生成的脸和原图之间的接缝更平滑。
  • sam_dilation_factor: 10(默认)。扩展 SAM 分割遮罩。值越高纳入越多周围像素。

具体到 NSFW 工作,经过大量迭代后我固定下来的设置:

  • bbox_threshold:0.4(能在更难的构图里捕捉到脸)
  • bbox_dilation:12(稍多一点上下文对 NSFW 人脸有帮助)
  • bbox_crop_factor:3(默认就对)
  • denoise:0.42(低于默认值,见下一节)
  • feather:8(稍多一点羽化让缝合更干净)
  • sam_dilation_factor:10(默认就对)

这些都是起点。要根据你具体的模型和提示词风格去调。

NSFW 人脸的降噪与 CFG

降噪是大多数人在 Face Detailer 上设错的参数。默认的 0.5 是给通用场景用的。在 NSFW 工作中,如果你想让重新生成的脸匹配身体的肤色和光照,更低的降噪会产出更干净的结果。

免费ComfyUI工作流

查找本文技术的免费开源ComfyUI工作流。 开源很强大。

100%免费 MIT许可证 可用于生产 星标并试用

降噪的权衡:

  • 0.6 到 0.7: 脸部大改。用于修复非常崩坏的脸,但有角色漂移的风险。
  • 0.5: 默认。在修复质量和一致性之间取平衡。
  • 0.4 到 0.45: 细微修复。保持角色身份。最适合量产 NSFW。
  • 0.3: 仅做轻微微调。用作 0.4 到 0.5 第一遍之后的第二遍。
  • 0.2 及以下: 几乎没有变化。这个档位干脆跳过精修。

对大多数 NSFW 工作来说,正确的做法是单遍跑 0.42。它能清理结构性的脸部问题(眼睛对不上、奇怪的牙齿、比例崩坏),同时不改变你的提示词和 LoRA 所确立的角色身份。如果第一遍还不够,就用 0.3 跑第二遍进一步精修。

FaceDetailer 内部的 CFG 应当匹配或略高于你主生成的 CFG。对于 RealVisXL 工作流,我主生成用 CFG 7,人脸精修用 CFG 7 到 8。对于 Pony Realism,我主生成用 CFG 5,人脸精修用 CFG 5 到 6。人脸精修里 CFG 过高会过度强调提示词 token(比如 "beautiful eyes"),从而在照片级输出上导致动漫式的夸张特征。别推得太高。这两个模型之间的选择会明显影响精修设置,我在 Pony Realism 与 RealVisXL 对比中两者都讲了。

FaceDetailer 内部的采样器选择没有主生成那么重要。DPM++ 2M Karras 跑 20 步对大多数人脸精修都管用。把步数降到 20 以下就会在脸部细节质量上显现出来。

在 Face Detailer 内部加 LoRA

这里有一个我学得有点丢人地慢的技巧。FaceDetailer 节点有自己的 model 输入,这意味着你可以给它传入一个和主生成不同的模型图。它最有用的应用,就是在精修器内部加载一个专门针对人脸的 LoRA,而这个 LoRA 不会影响你的主生成。

模式如下:

  1. 主生成:CheckpointLoader → KSampler → VAEDecode
  2. 人脸精修:CheckpointLoader → LoraLoader(人脸 LoRA)→ 连到 FaceDetailer.model

人脸 LoRA 只在人脸重新生成那一遍被应用。这在以下情况很有用:

  • 你有一个角色 LoRA,它有助于人脸一致性,但满强度时会把身体搞坏
  • 你想让照片级皮肤细节 LoRA 只应用于脸部,而不应用于背景
  • 你在做角色一致的 NSFW,脸需要在很多张图之间匹配同一个参考

具体到角色一致性,这比在整张生成上跑角色 LoRA 更可靠。角色 LoRA 把全部采样预算用在脸部区域这个真正重要的地方,而身体则在没有该 LoRA 身材偏置的情况下生成。

想跳过复杂性吗? Lewdly 无需技术设置即可立即为您提供专业的AI结果。

零设置 相同质量 30秒内开始 免费试用Lewdly
无需信用卡

FaceDetailer 内部的 LoRA 权重通常需要满强度(0.8 到 1.0),因为脸部可用的分辨率有限,你希望 LoRA 的信号清晰地透出来。如果你在叠加多个 LoRA(一个人脸 LoRA 加一个细节 LoRA),我的 LoRA 叠加指南讲了权重平衡的模式。

群像场景的多遍处理

单脸工作流很简单。多脸工作流需要稍多一点的配置,因为检测器会找到所有脸并作为一个批次处理,但参数会统一应用。如果你有一张光照良好的脸和一张处于阴影里的脸,同一个降噪可能对一张合适、对另一张就不对。

解决办法是每遍用不同设置的多遍精修:

第一遍: 针对问题情况做激进精修(降噪 0.5,所有脸) 第二遍: 取最干净版本做保守精修(降噪 0.3,所有脸)

两遍模式比任何单遍设置都能产出更好的结果,因为第一遍修复主要的结构性问题,第二遍在不引入改动的情况下抛光。每张图的总耗时大约增加 30%(在 RTX 4090 上每遍增加约 3 到 5 秒),但对量产工作来说质量提升相当可观。

具体到多角色 NSFW 场景,你还可以按每个角色的遮罩来跑人脸精修。用 SAM 把每个角色分别分割出来,然后在每个被遮罩的区域用角色专属的 LoRA 跑人脸精修。这更复杂,但能让你在同一张图里维持多个不同的角色身份。这套配置需要更多节点,但工作流仍然保持线性。

Face Detailer 加放大流程

我使用的完整量产流程是这样的:

  1. 在 1024x1024(或你的基础分辨率)初始生成
  2. 第一遍 Face Detailer,降噪 0.42
  3. (可选)一遍手部精修来修手
  4. 用模型放大器放大到 2048x2048(Ultrasharp 4x 是我的默认选择)
  5. 在放大后的图上跑第二遍 Face Detailer,降噪 0.3
  6. (可选)一遍针对身体纹理的细节增强

第 5 和第 6 步是高端量产工作出魔法的地方。放大之后,脸部有了更多可用的像素,一遍低降噪的人脸精修就能加上在更低分辨率下无法实现的微细节(毛孔、眼睛反光、发丝)。这就是 "不错的 AI 图像" 和 "照片级 AI 图像" 之间的差别。

创作者计划

创作内容每月赚取$1,250+

加入我们的独家创作者联盟计划。根据病毒视频表现获得报酬。以完全的创作自由按您的风格创作内容。

$100
300K+ views
$300
1M+ views
$500
5M+ views
每周支付
无前期费用
完全创作自由

在 RTX 4090 上跑完整流程的总生成时间:

  • 初始生成:5 到 7 秒
  • 第一遍人脸精修:3 到 4 秒
  • 手部精修:4 到 5 秒
  • 放大:8 到 12 秒
  • 第二遍人脸精修:4 到 6 秒(像素更多)
  • 总计:每张图 24 到 34 秒

对单张图来说这不少,但每一步都增加质量,而且结果确实比省掉其中任何一步都更好。对批量生产来说,这相当于每小时 100 到 150 张图。对一次性的主打镜头,在每一张上多花点时间是值得的。

工作流下载

这套流程的完整工作流 JSON 用上文描述的节点来组装很直接,但有几个能省时间的配置技巧:

  • 用 Reroute 节点把你的主模型图和人脸精修图在视觉上分隔开
  • 一旦跑通就把工作流存为模板(右键 → Save as template)
  • 给 FaceDetailer 参数设一次默认值,需要多遍时克隆该节点
  • 把 bbox_threshold 设得足够低以便捕捉到临界检测,但又别低到在身体特征上产生误检

对于不想从零组装的人,ComfyUI Impact Pack 的 GitHub 仓库在 workflows 文件夹里有示例工作流。basic_pipe 示例涵盖了标准配置。像 RunComfy 这样的社区工作流网站托管了更复杂的配置,包括多遍和角色一致的变体。

如果自己维护这套工作流听起来像份苦差,可以理解。Lewdly.ai 会自动运行等价的流程。人脸精修在每次生成时都会发生,创作者无需操心节点图。对大多数业务是内容而非基础设施的 NSFW 创作者来说,那层抽象是合适的层级。利益相关声明,我参与了它的开发。

常见问题

NSFW 在 Face Detailer 里应该用多少降噪? 对大多数照片级 NSFW 工作来说,0.42 是最佳点。默认的 0.5 会过度修改脸部,可能偏离你预期的角色。低于 0.4 又太保守,修不动结构性问题。把 0.42 作为你的默认值,再从那里调起。

为什么 FaceDetailer 会因 UnpicklingError 失败? PyTorch 2.6 及以上版本对 torch.load() 默认采用 weights_only=True,这会拒绝 YOLO 模型里的 Python 对象。把 Impact-Subpack 更新到最新版本。当前版本包含一个能正确处理这一情况的打过补丁的加载器。

我能不用 SAM 跑 Face Detailer 吗? 能。sam_model_opt 输入是可选的。不用 SAM 你得到的是一个矩形 bbox 遮罩,而不是精确分割。质量会略低,因为重新生成影响的周围像素比必要的更多,但对大多数情况结果仍然可用。

为了角色一致性我需要人脸 LoRA 吗? 并非严格需要。如果你的提示词和种子一致,多次生成之间的脸会大致一致。人脸 LoRA 会大幅收紧这一点。我描述的那种 LoRA 内置于 FaceDetailer 的模式效果最好,因为 LoRA 只影响脸部区域。

Face Detailer 和 ADetailer 有什么区别? ADetailer 是 A1111/Forge 中同一思路的等价物。ComfyUI 的 FaceDetailer(来自 Impact Pack)配置选项更多,但原理相同。两者都会检测一张脸、裁剪、放大、重新生成,再缝合回去。质量大致相当。ComfyUI 给你更多的工作流控制。

Face Detailer 应该在放大前还是放大后跑? 两者都跑。放大前跑第一遍(以低成本修复结构性问题)。放大后用更低降噪跑第二遍(给更高分辨率的脸加细节)。这种 "在放大前后各跑一遍" 的模式是高端输出的量产标准。

Face Detailer 能配合 Flux 模型用吗? 能。FaceDetailer 节点与模型无关。它能配合 Flux、SDXL、Pony 以及 ComfyUI 支持的任何其他扩散模型工作。在 Flux 上性能更慢,因为底层的生成步骤本身更慢。

我怎样防止 Face Detailer 改变角色的身份? 降低降噪(0.35 到 0.42),把 CFG 保持适中(5 到 7),并在精修器的正面提示词里避免会改变角色特征的 token。如果你在用角色 LoRA,就在 FaceDetailer 内部以满强度应用它来锚定身份。

为什么我的 Face Detailer 输出看起来过度平滑? 降噪过高再加上一个有平滑皮肤偏置的模型,就会产出过度平滑的脸。把降噪降到 0.4。在正面提示词里加 "skin texture, pores, natural skin"。降低精修器内部任何美颜 LoRA 的权重。

我能用同一个节点精修手部吗? Impact Pack 自带一个 hand_yolov8s.pt 检测模型,同一个 FaceDetailer 节点通过更换 bbox_detector 输入就能针对手部。在某些 Impact Pack 版本里还有一个专门的 HandDetailer。两者工作方式类似。手部精修通常需要比人脸精修更高的降噪(0.5 到 0.6),因为结构性问题更严重。

正确的心智模型

Face Detailer 不是一个质量增强器,它是一个分辨率分配器。它之所以有效,是因为 AI 模型每个像素有固定的注意力预算,而以身体为重心的构图里脸部区域被饿着了。通过裁剪和重新生成,你给脸部在更高有效分辨率下分到了它自己完整的注意力预算。一旦你把这个内化了,正确的设置就变得显而易见。更低的降噪保留模型已经做对的部分。更高的降噪修复结构性问题,但有角色漂移的风险。多遍只不过是用不同的优先级把这份预算跑两次。

这套工作流 18 个月以来一直是我量产 NSFW 工作的默认配置,它确实是我给流程加过的单项最大的质量提升。如果你没有在生成的每一张照片级 NSFW 图像上跑 Face Detailer,你就把大量质量留在了桌上。第一次配置要花 30 分钟。质量上的差别是永久的。

参考资源包括 Impact Pack GitHubComfyUI Wiki 关于 Face Detailer 的教程,以及 ThinkDiffusion 发布的 face detailer 工作流,后者给出了一个清晰的节点图视觉参考。

准备好创建你的AI网红了吗?

加入115名学生,在我们完整的51节课程中掌握ComfyUI和AI网红营销。

早鸟价结束倒计时:
--
:
--
小时
:
--
分钟
:
--
立即占位 - $199
节省$200 - 价格永久涨至$399