ERNIE-Image 二阶优化工作流:双阶段精修与 ComfyUI 多模型管线
ERNIE-Image 的社区用户在 Reddit 和 ComfyUI 论坛中发现了一种强大的工作流模式:使用 ERNIE-Image Turbo 进行第一阶段快速生成,再用另一款模型(如 Z-Image Turbo 或 FLUX.2)进行第二阶段精修。本文将详细介绍这种"二阶优化"工作流的原理、实践方法和 ComfyUI 实现方案,帮助创作者突破单模型的画质上限。
一、什么是"二阶优化"工作流?
在 AI 图像生成领域,"二阶优化"(Two-Pass/Two-Stage Refinement)指的是用两个不同的模型协作完成一次生成任务:
- 第一阶段(草稿/构图):快速模型生成基础构图、布局和文字
- 第二阶段(精修/质感):高质量模型进行细节优化和质感提升
这种工作流的灵感来自传统绘画中的"素描→上色"流程。在 AI 时代,不同的模型在不同方面各有所长,协作往往优于单模型。
二、为什么需要二阶优化?
2.1 单模型的局限性
每个 AI 图像生成模型都有其独特的优势和弱点:
| 模型 | 优势 | 劣势 |
|---|---|---|
| ERNIE-Image Turbo | 文字渲染精准、构图能力强、8 步极速 | 细节质感偶尔不够细腻 |
| Z-Image Turbo | 细节丰富、色彩表现力强 | 文字渲染较弱 |
| FLUX.2 Pro | 画质极高、LoRA 生态丰富 | 需要 12B 参数,显存要求高 |
| SD 3.5 | 生态成熟、社区资源丰富 | 文字渲染和指令跟随一般 |
2.2 社区发现
Reddit r/comfyui 用户在一篇热门帖子中分享了这一发现:
"I noticed a lot of issues with Ernie image and I decided to test run a few gens with a 2nd pass refinement of ZIT. Results were very good, the text rendering from Ernie + the detail from ZIT makes a powerful combo."
— r/comfyui, "Ernie Image Turbo + Z-Image Turbo 2 Pass Workflow"
类似的发现在多个社区帖子中出现:
- r/civitai: "The workflow I have uses both Z-Image, and then Z-Image turbo as a sort of refiner"
- r/StableDiffusion: "ERNIE-Image for text + another model for refinement is a game changer"
三、ERNI
IE-Image Turbo + Z-Image Turbo 双阶段工作流
3.1 工作流程概述
用户输入 Prompt
│
▼
┌─────────────────────┐
│ ERNIE-Image Turbo │ ← 第一阶段
│ 8 步推理 │ - 快速生成
│ 构图 + 文字渲染 │ - 文字精准
│ 1024×1024 │ - 8 秒内出图
└────────┬────────────┘
│ (图片输出)
▼
┌─────────────────────┐
│ Z-Image Turbo │ ← 第二阶段
│ img2img 精修 │ - 提升细节
│ denoise=0.3~0.5 │ - 改善质感
│ 1024×1024 │ - 色彩增强
└────────┬────────────┘
│
▼
最终输出图片
3.2 关键参数设置
第一阶段(ERNIE-Image Turbo):
# ERNIE-Image Turbo 生成参数
pipe_ernie = ErnieImageTurboPipeline.from_pretrained(
"baidu/ERNIE-Image-Turbo", torch_dtype=torch.float16
)
pipe_ernie = pipe_ernie.to("cuda")
output_stage1 = pipe_ernie(
prompt="your prompt here",
height=1024,
width=1024,
num_inference_steps=8, # Turbo 仅需 8 步
guidance_scale=5.0,
).images[0]
第二阶段(Z-Image Turbo img2img 精修):
# Z-Image Turbo img2img 精修
pipe_zimage = ZImageTurboPipeline.from_pretrained(
"stabilityai/z-image-turbo", torch_dtype=torch.float16
)
pipe_zimage = pipe_zimage.to("cuda")
output_final = pipe_zimage(
image=output_stage1, # 第一阶段输出作为输入
prompt="your prompt here", # 相同 prompt
height=1024,
width=1024,
num_inference_steps=4, # Turbo 精修只需更少步数
guidance_scale=0.0, # img2img 通常不需要 CFG
denoising_strength=0.35, # 关键:0.3~0.5 保留构图
).images[0]
关键参数 denoising_strength 说明:
- 0.2~0.3:轻度精修,主要提升纹理和色彩
- 0.35~0.45:中度精修,在保留构图的同时提升细节
- 0.5+:重度精修,可能改变构图,一般不推荐
3.3 实际效果对比
| 对比维度 | 单模型(ERNIE-Image) | 双模型(ERNIE + Z-Image) |
|---|---|---|
| 文字渲染 | ✅ 优秀 | ✅ 优秀(保留) |
| 构图 | ✅ 优秀 | ✅ 优秀(保留) |
| 皮肤质感 | ⚠️ 一般 | ✅ 提升明显 |
| 色彩层次 | ⚠️ 一般 | ✅ 更丰富 |
| 细节锐度 | ⚠️ 一般 | ✅ 更锐利 |
| 生成时间 | ~8 秒 | ~12 秒 |
四、ComfyUI 多模型管线实现
4.1 ComfyUI 工作流结构
在 ComfyUI 中实现二阶优化工作流:
{
"1": {
"class_type": "CheckpointLoaderSimple",
"inputs": { "ckpt_name": "ernie-image-turbo.safetensors" }
},
"2": {
"class_type": "CLIPTextEncode",
"inputs": {
"text": "your prompt here",
"clip": ["1", 1]
}
},
"3": {
"class_type": "EmptyLatentImage",
"inputs": { "width": 1024, "height": 1024, "batch_size": 1 }
},
"4": {
"class_type": "KSampler",
"inputs": {
"model": ["1", 0],
"positive": ["2", 0],
"negative": ["2_neg", 0],
"latent_image": ["3", 0],
"seed": 42,
"steps": 8,
"cfg": 5.0,
"sampler_name": "euler",
"scheduler": "normal"
}
},
"5": {
"class_type": "VAEDecode",
"inputs": { "samples": ["4", 0], "vae": ["1", 2] }
},
"--- 第二阶段 ---",
"10": {
"class_type": "CheckpointLoaderSimple",
"inputs": { "ckpt_name": "z-image-turbo.safetensors" }
},
"11": {
"class_type": "LoadImage",
"inputs": { "image": "stage1_output.png" }
},
"12": {
"class_type": "VAEEncode",
"inputs": { "pixels": ["11", 0], "vae": ["10", 2] }
},
"13": {
"class_type": "KSampler",
"inputs": {
"model": ["10", 0],
"positive": ["2", 0],
"negative": ["2_neg", 0],
"latent_image": ["12", 0],
"seed": 42,
"steps": 4,
"cfg": 0.0,
"denoise": 0.35
}
},
"14": {
"class_type": "VAEDecode",
"inputs": { "samples": ["13", 0], "vae": ["10", 2] }
},
"15": {
"class_type": "SaveImage",
"inputs": { "images": ["14", 0] }
}
}
4.2 使用 Pixaroma 节点优化
Pixaroma 提供了针对 ERNIE-Image 优化的自定义节点:
- Pixaroma Note 节点:富文本编辑 prompt,支持高亮、列表、代码块
- Pixaroma Resolution 节点:快速选择常见分辨率(1024×1024、1024×1536 等)
- ErnieImage Pipeline 节点:一键加载 ERNIE-Image 完整管线(含 PE)
安装方式:
cd ComfyUI/custom_nodes
git clone https://github.com/pixaroma/ComfyUI-Pixaroma
cd ComfyUI-Pixaroma
pip install -r requirements.txt
五、进阶:三阶段工作流与 ControlNet 集成
5.1 三阶段工作流
对于需要极高画质的场景,可以扩展为三阶段:
阶段 1: ERNIE-Image Turbo → 构图 + 文字(8 步,~8 秒)
阶段 2: Z-Image Turbo img2img → 细节提升(4 步,~3 秒)
阶段 3: FLUX.2 Pro Upscale → 超分 + 最终润色(20 步,~20 秒)
总计: ~31 秒,画质远超单模型直接生成
5.2 ControlNet 集成
ERNIE-Image 的 ControlNet 支持可以在第一阶段提供精确的构图控制:
# ControlNet + ERNIE-Image Turbo 第一阶段
from diffusers import ErnieImageControlNetPipeline
pipe_cn = ErnieImageControlNetPipeline.from_pretrained(
"baidu/ERNIE-Image-Turbo",
controlnet=ControlNetModel.from_pretrained("baidu/ERNIE-Image-ControlNet"),
torch_dtype=torch.float16
)
使用 Canny 边缘检测控制构图
canny_condition = apply_canny(image=reference_image, low_threshold=100, high_threshold=200)
output_stage1 = pipe_cn(
prompt="your prompt",
image=canny_condition,
controlnet_conditioning_scale=0.8,
num_inference_steps=8,
guidance_scale=5.0,
).images[0]
5.3 IP-Adapter 角色一致性
结合 IP-Adapter 实现角色一致性 + 二阶精修:
阶段 1: ERNIE-Image + IP-Adapter → 角色一致性的角色图
阶段 2: Z-Image Turbo img2img → 提升画质
这种组合特别适合需要角色一致性的系列内容创作,如漫画分镜、角色设定图等。
六、实际应用场景
6.1 电商产品图
Prompt: "Professional product photography of a ceramic coffee cup on marble
table, soft natural lighting, 8K, studio quality"
阶段 1 (ERNIE): 生成产品布局和光影
阶段 2 (Z-Image): 提升产品细节和材质质感
结果: 可用于电商的产品级图片
6.2 海报设计
Prompt: "Summer music festival poster, 'NEON DREAMS 2026', vibrant colors,
retro synthwave style, electric guitar silhouette"
阶段 1 (ERNIE): 精准文字渲染 + 海报布局
阶段 2 (Z-Image): 增强色彩饱和度和视觉冲击力
结果: 文字清晰 + 色彩丰富的海报设计
6.3 角色设计
Prompt: "Fantasy character design, elven warrior with silver armor,
forest background, detailed face, cinematic lighting"
阶段 1 (ERNIE + IP-Adapter): 角色一致性的基础图
阶段 2 (Z-Image): 提升皮肤质感和盔甲细节
结果: 可用于游戏/动漫的角色设计稿
七、性能与成本分析
7.1 显存需求
| 配置方案 | 峰值显存 | 说明 |
|---|---|---|
| ERNIE-Image Turbo 单独 | ~12 GB | BF16 量化后 |
| 双模型顺序执行 | ~14 GB | 释放第一阶段模型后再加载 |
| 双模型并行 | ~24 GB | 两个模型同时驻留显存 |
| NVFP4 量化 | ~5 GB | 适合 24GB 显存用户 |
7.2 时间成本
| 方案 | 总时间 | 质量 |
|---|---|---|
| ERNIE-Image Turbo 单独 | ~8 秒 | ★★★★☆ |
| ERNIE + Z-Image 双阶段 | ~12 秒 | ★★★★★ |
| ERNIE Base 50 步 | ~30 秒 | ★★★★☆ |
| FLUX.2 Pro 20 步 | ~25 秒 | ★★★★☆ |
7.3 性价比评估
双阶段工作流的额外时间成本(约 4 秒)换来了显著的质量提升,对于:
- 电商产品图:值得(画质直接影响转化率)
- 社交媒体配图:视情况(Instagram 压缩后差异不明显)
- 海报/印刷品:强烈推荐(大尺寸输出需要高质量)
- 快速原型:不值得(速度优先)
八、常见问题
Q1: 第二阶段一定会提升质量吗?
不一定。如果第一阶段的构图/文字已经很满意,第二阶段 denoising_strength 过高可能破坏已有质量。建议从 0.25 开始测试。
Q2: 可以用 FLUX.2 替代 Z-Image 作为精修模型吗?
可以。FLUX.2 Pro 画质更高,但需要更多显存(~16 GB)。对于 RTX 4090/5090 用户推荐使用 FLUX.2 Pro。
Q3: 二阶工作流会影响文字渲染吗?
适当设置 denoising_strength(0.3~0.4)不会显著影响文字。过高(>0.5)可能导致文字变形。
Q4: 可以在浏览器中实现吗?
可以。HuggingFace Spaces 和 Replicate 等平台支持多模型流水线,但本地 ComfyUI 部署仍然是最灵活的选择。
九、总结
二阶优化工作流代表了 AI 图像生成的一种新范式:不再追求单一模型的全能,而是通过模型协作发挥各自优势。
ERNIE-Image Turbo 的文字渲染和构图能力,配合 Z-Image Turbo 或 FLUX.2 Pro 的画质精修,可以产生超越任何单模型的最终结果。随着 ComfyUI 生态的成熟和自定义节点的丰富,这种工作流将变得日益普及。
对于专业创作者来说,掌握多模型协作管线已经是 2026 年的必备技能。
延伸阅读:
- Reddit: Ernie Image Turbo + Z-Image Turbo 2 Pass Workflow
- Pixaroma ComfyUI 节点: ComfyUI-Pixaroma
- ComfyUI 官方 ERNIE-Image 教程: docs.comfy.org
- 相关:EI-012 ComfyUI 工作流搭建、EI-016 IP-Adapter 指南