开篇:拍一套写真,到底要花多少钱?
假设以下,你要去拍一套写真。
选了套”法式复古”套餐,影棚里摆了三个小时pose,化妆卸妆折腾一上午,最后选片——精修20张,花了2800块。
然后你可能会吐槽:”精修完脸都不像自己了,但你说不好看吧,又确实比我自己拍的好看。”
这钱花得,怎么说呢,不算冤,但也没觉得多值。
写真这东西,贵在哪?不是拍照本身,是那一整套——场地、灯光、化妆、服装、摄影师的审美和后期。你花的钱大部分买了这套”组合拳”,而不是快门按一下那0.01秒。
但如果我告诉你,你只需要一张正脸自拍,加上ComfyUI和阿里开源的Z-Image-Turbo模型,就能把自己的脸”贴”到任何风格的画面上——赛博朋克、古风汉服、法式复古、日系清新,想换啥换啥。
不是那种一眼假的”AI换脸“,是融合得比较自然、能直接发朋友圈唬人的程度。
2800块省了,写真自由拿到了。
不废话,直接上干货。
一、为什么选Z-Image-Turbo?
可能有人会问:换脸工作流那么多,凭啥选Z-Image-Turbo?
三个原因,硬邦邦的:
1️⃣ 天生就是”人像优等生”
Z-Image-Turbo(简称ZIT)是阿里通义实验室2025年11月开源的文生图模型,6B参数,主打就是高保真写实人像。官方原话是”擅长生成高保真人物肖像、自然皮肤纹理和光影效果”。拿来当写真底图,对路。
2️⃣ 显存友好到离谱
ZIT有个All-in-One(AIO)版本,把文本编码器和VAE全打包进一个文件里。FP8量化版只要 8G显存 就能跑,RTX 3060、4060这种入门卡直接起飞。相比之下Flux动不动12G起步,门槛差了一截。
3️⃣ Apache 2.0,完全免费商用
别小看这个。很多模型许可证藏着各种限制,Apache 2.0意味着你可以随便用,商业项目也不怕。拍写真发小红书接商单?没毛病。
另外ZIT还支持中英双语文字渲染、8步极速出图(RTX 4090上2秒一张),综合下来是目前性价比最高的写实生图模型之一。
二、AI换脸到底是怎么运作的?
先讲清楚原理,不然后面操作的时候你会一头雾水。
AI换脸在ComfyUI里,核心就两个思路:
思路一:先生成后换脸(Reactor路线)
你先用ZIT生成一张高质量的模板图——比如一个穿旗袍的女性站在苏州园林里。然后用一个叫 Reactor 的工具,把模板图上人物的脸替换成你的脸。
这个思路的好处是简单粗暴,几秒就换完。缺点是”贴脸感”有时比较明显,边缘可能有痕迹。
思路二:训练你的脸直接生成(LoRA路线)
你用几张自己的照片训练一个 LoRA(低秩适配器),让ZIT”记住”你的长相。之后每次生成图片时,模型直接画出你的脸,不需要后期替换。
这个思路的好处是融合极其自然——因为你的脸是”长”在画面里的,不是”贴”上去的。缺点是需要花时间训练(大概1-2小时),还要准备训练素材。
两条路线怎么选?我帮你对比清楚了:
| 对比维度 | ZIT + Reactor(后换脸) | ZIT + LoRA(直接生成) |
|---|---|---|
| 原理 | 先生成模板图,再替换面部 | 训练你的脸,生成时直接画出 |
| 操作难度 | ⭐ 超简单,拖个节点就行 | ⭐⭐⭐ 需要训练LoRA |
| 出图速度 | 快,8步生成+几秒换脸 | 和正常生图一样,8步2-5秒 |
| 脸部相似度 | ⭐⭐⭐ 中等,像但不完全像 | ⭐⭐⭐⭐⭐ 高,确实是你 |
| 光影融合 | ⭐⭐⭐ 一般,偶尔有边缘痕迹 | ⭐⭐⭐⭐⭐ 完美融合,不存在接缝 |
| 前期准备 | 下载模型,搭好就能用 | 需要准备10-20张自拍,训练1-2小时 |
| 适合场景 | 快速出图,发个朋友圈 | 追求质量,做个人写真集 |
| 显存需求 | 8G+(AIO版本) | 训练需要12G+,推理8G够 |
想3秒出图、先玩起来——选 Reactor路线。想出片质量拉满、像真的去拍了写真——选 LoRA路线。
这篇教程两条路线都讲。 先从简单的Reactor开始,再上LoRA的进阶玩法。
三、保姆级教程(上):ZIT + Reactor快速换脸
第一步:下载ZIT模型
ZIT有两种安装方式,我推荐用 AIO版本,省事。
AIO版本(推荐新手):
下载 z-image-turbo-fp8-aio.safetensors(约10GB),放到ComfyUI/models/checkpoints/
- 下载地址:HuggingFace搜索 SeeSee21/Z-Image-Turbo-AIO,或者用镜像站 hf-mirror.com
这个版本把文本编码器(Qwen3-4B)和VAE全打包在里面了,一个文件搞定,不用单独下载其他组件。
分体版本(适合老手):
| 文件 | 放到哪个目录 | 作用 |
|---|---|---|
| z_image_turbo_bf16.safetensors | ComfyUI/models/diffusion_models/ | 核心生成模型 |
| qwen_3_4b.safetensors | ComfyUI/models/text_encoders/ | 文本编码器,理解你的提示词 |
| ae.safetensors(Flux VAE) | ComfyUI/models/vae/ | 图像解码,和Flux共用 |
- 分体版的优势是可以灵活搭配,比如文本编码器可以用GGUF量化版本进一步省显存。
第二步:安装换脸节点
打开ComfyUI,确保你已经装了 ComfyUI Manager(没装的先去装,这是ComfyUI的”应用商店”)。

在Manager里搜索安装:
| 节点包名称 | 作用 |
|---|---|
| ComfyUI-Reactor-Node | 换脸核心节点 |
| ComfyUI-InsightFace(通常随Reactor自动装) | 人脸检测和特征提取 |
装完重启ComfyUI。
第三步:下载换脸模型
Reactor需要一个换脸模型文件:
inswapper_128.onnx

下载渠道:
- GitHub搜索 inswapper_128,认准 .onnx 格式
- 或者去HuggingFace搜 InsightFace,找到 inswapper_128.onnx
下载后放到:
ComfyUI/models/insightface/
- 没有insightface这个文件夹?自己新建一个就行,ComfyUI会自动识别。
第四步:搭工作流
这个工作流的逻辑是:ZIT先生成模板图 → Reactor把模板图的脸换成你的脸。
提示词 → ZIT生成模板图 ──→ Reactor Face Swap ──→ 最终出图
↑
你的自拍 ──→ Load Image ────────┘
具体操作:
先搭一套ZIT基础生图工作流(用Checkpoint加载器加载AIO模型)
ZIT参数设置:
| 参数 | 推荐值 | 说明 |
|---|---|---|
| Steps | 8 | ZIT Turbo蒸馏模型,8步够 |
| CFG | 0(turbo模式) | 关闭CFG引导 |
| Sampler | res_multistep | ZIT专用采样器 |
| Scheduler | simple | 官方推荐 |
| 分辨率 | 1024×1024 或 1920×1088 | 竖图适合人像 |
生成一张满意的模板图后,在后面接上Reactor换脸节点
添加 Load Image 节点,上传你的正脸自拍
把ZIT生成的模板图连到 Reactor 的 input_image(被换脸的图)
把自拍连到 Reactor 的 source_image(提供脸的图)
把 Reactor 的 output_image 连到 Save Image

等等,这里容易搞反。说清楚:
- input_image:你要被换脸的那张图(ZIT生成的模板图)
- source_image:提供脸的那张图(你的自拍)
别连反了,反了就是把模板人物的脸换到你自拍上,效果很惊悚。
连好之后,点 Queue Prompt,几秒钟出图。

- 💡 提示:Reactor会自动检测两张图中最大的人脸进行替换。模板图里有多个人时,它会换最大的那张脸。想指定换某个人?在Reactor节点里找到 face_index参数,填0就是第一张脸,1是第二张,以此类推。
四、出片效果怎么提升?五个实用技巧
光搭好工作流不够,出片好不好看,这几个细节决定成败:
1. 源图(自拍)质量是地基
不管是Reactor换脸还是LoRA训练,你提供的照片直接决定了效果的上限。几个要点:
- 正面或微侧面(15度以内)
- 光线均匀,别一半脸在阴影里
- 表情自然,别夸张大笑(会扭曲面部特征)
- 分辨率至少512×512以上,越清晰越好
- 别戴口罩、墨镜、刘海遮住眉毛
2. 模板图的光线方向要和源图一致(Reactor路线)
你的自拍是左侧光,ZIT生成的模板图是右侧光,换完脸之后光影方向对不上,看着就别扭。
解决办法:在ZIT的提示词里指定光源方向,比如”lit from the front”或者”soft even lighting”。或者更聪明的做法——自拍时打个正面平光,适配性最强。
3. 善用Upscale做最终精修
换脸出图后,跑一遍Upscale放大(推荐用 4x-UltraSharp 或 ESRGAN 模型),把分辨率提到2K甚至4K。皮肤质感、头发丝细节会明显提升,整体”写真感”更强。
4. ZIT的Prompt Enhancer功能别忽略
ZIT内置了一个提示词增强功能——你写的简单提示词,模型会自动扩展加细节。不想写长篇大论的提示词?打开这个功能,随便写两句,ZIT自己补完。LoRA路线下这个功能也很好用,它会帮你把场景描述得更丰富,同时不影响面部身份。
五、避坑指南
坑1:Reactor换脸后脸特别假,像贴上去的
- 两个原因:一是源图和模板图的肤色差异太大,二是模板图分辨率和源图差距大。解决办法:选一张肤色接近的自拍,或者在ZIT提示词里加上”matching skin tone”之类的要求,让模板图的肤色和你的自拍接近。
坑2:报错说找不到insightface模块
- Reactor依赖的InsightFace在某些系统上装不上。Windows用户确保装了Visual C++ Redistributable(微软常用运行库)。如果还是不行,试试用 pip install insightface onnxruntime手动安装。
坑3:换脸后头发和脖子有明显接缝(Reactor路线)
- 这是Reactor的通病——它只换脸,不换脖子。模板图人物的发型和你的自拍差太多,脖子和发际线就会露馅。解决办法:换一张头发风格接近模板图的自拍,或者直接上LoRA路线——LoRA是融入式生成,不存在接缝问题。
坑4:ZIT生成的模板图人脸太小,Reactor检测不到
- Reactor需要检测到模板图里有脸才能换。如果ZIT生成的是远景全身照,脸太小可能检测失败。解决办法:在ZIT提示词里加上”close-up portrait”或”medium shot”,让人物在画面中占更大比例。
坑5:多人照片换脸只换了一个人(Reactor路线)
- Reactor默认换检测到的第一张脸。模板图里有多人时,在Reactor节点里找到 face_index参数,填入你想换的人的序号(0、1、2…)。或者勾选swap_all_faces选项把所有脸都换成你的。
坑6:ZIT采样器选错导致画面崩
- ZIT Turbo必须用 res_multistep 采样器 + simple 调度器,CFG设为0。别用其他采样器,设错了出图会过曝、变形或者直接变成噪点。如果你想用CFG引导(比如开负面提示词),把CFG设为1.2,Steps提到12,效果也不错。
六、这套方案适合谁?
适合:
- 好奇AI换脸,想自己动手试试的
- 想出不同风格的个人写真但不想花影楼钱的
- 做自媒体、需要各种风格人设图的
- 有ComfyUI基础,想拓展工作流玩法的
- 显存8G以上(Reactor路线)或12G以上(LoRA训练路线)
不太适合:
- 想拿去冒充别人身份的——别,这个底线别碰
- 对出图质量有极高商业要求的——目前AI换脸还达不到商业精修级别
- 零基础纯小白——建议先从ComfyUI基础文生图学起,换脸属于进阶玩法
写在最后
2800块拍一套写真,还是0成本拍无限套写真?
答案不用我说了吧。
当然,说”0成本”不太严谨——你需要花时间学ComfyUI基础操作,需要下载模型文件,走LoRA路线的话还得训练1-2小时。但这些时间成本,换来的是无限次写真自由——今天古风,明天赛博,后天日系,大后天复古,想拍啥拍啥。
而且Z-Image-Turbo的门槛是真的低。8G显存,一个AIO文件,8步出图2秒搞定。Apache 2.0随便商用。阿里这次开源确实大气。
ComfyUI换脸只是开始。这套工作流搭好之后,你还可以在后面接各种节点——换服装的ControlNet、换背景的图层合成、换风格的LoRA……玩法多到你玩不过来。
技术门槛?一个周末就能搞定。设备门槛?8G显存就能跑Reactor,12G就能训练LoRA。
唯一需要的就是动手试一试。