codeformer 中文文档 下载 App

ComfyUI 里用 CodeFormer 做人脸修复:社区节点和工作流

ComfyUI 是什么

ComfyUI 是另一个流行的 Stable Diffusion 前端,完全基于节点化工作流——每个处理步骤是一个节点,节点之间连线传递数据流。相比 SD WebUI 的标签式界面,ComfyUI 更灵活、更适合复杂链路编排。

安装 CodeFormer 节点

CodeFormer 没有被官方 ComfyUI 包含,需要用社区插件:

方式一:ComfyUI Manager

ComfyUI Manager → Custom Nodes Manager → 搜 "CodeFormer" → 安装

方式二:手动 clone

cd ComfyUI/custom_nodes/
git clone <仓库地址>
# 作者 ttulttul(非官方,社区维护)

# 装依赖
pip install basicsr facexlib

下载预训练模型

社区节点通常需要手动下载 CodeFormer 权重到指定目录。参考节点 README 的说明(不同插件路径不同)。

基础工作流:SD 生图 → CodeFormer → 放大

Load Checkpoint
  ↓
CLIP Text Encode (positive)
CLIP Text Encode (negative)
  ↓
Empty Latent Image
  ↓
KSampler → Latent Decode
  ↓
【CodeFormer 节点】  ← 这里做人脸修复
  ↓
【Upscale Model Loader】(Real-ESRGAN)
  ↓
【ImageUpscaleWithModel】
  ↓
Save Image

CodeFormer 节点的输入:

进阶工作流:条件控制 + CodeFormer

CodeFormer 可以和 ControlNet 组合:

ControlNet (OpenPose 或 DWPose)
  ↓ 约束人体姿态
Load Checkpoint → KSampler → Latent Decode
  ↓
CodeFormer (w=0.3)
  ↓
... 后续处理

ControlNet 保证生图的姿态正确,CodeFormer 把脸修干净——两者互补。

仅人脸区域修复(Inpaint 模式)

如果你只想修 ComfyUI 链路中某张图的人脸区域(不重新生整图):

Load Image
  ↓
Masking(手动或自动检测人脸)
  ↓
KSampler Inpaint(或其他 inpaint 节点)
  ↓
CodeFormer(只处理 mask 覆盖的区域)

显存考虑

ComfyUI 相比 SD WebUI 更省显存(因为惰性加载和节点化),但加 CodeFormer 节点后:

社区工作流示例

在 ComfyUI Manager 的 Workflow Browser 里搜 "CodeFormer" 可以找到其他用户分享的完整工作流 JSON 文件,直接导入就能用。

和 SD WebUI 相比

维度ComfyUI + CodeFormerSD WebUI + CodeFormer
灵活性节点可任意组合,适合复杂链路标签页式,够用但固定
可视化节点连线图,直观看到数据流文本参数,需要理解
调试每个节点可单跑看中间结果只能看最终输出
上手学习曲线较陡简单
批量支持但需自己编排Extras 面板自带
性能略省显存略吃显存

如果你已经在用 ComfyUI 做复杂的 SD 链路(ControlNet + LoRA + Inpaint),CodeFormer 节点可以无缝嵌入。如果只是偶尔修脸,SD WebUI 更省心。