ComfyUI 文生图完全指南:教程与常见问题排查
ComfyUI 文生图详细教程 — 提示词技巧、参数调优、常见问题修复,从入门到解决出图模糊、手部变形等问题。
什么是文生图?
文生图(Text to Image)是最基础的 AI 艺术工作流 — 你用文字描述想要的画面,AI 模型就会生成对应的图片。在 ComfyUI 中,这个过程被构建为一个节点图,每个节点负责生成流程中的一个步骤。
这个过程涉及三个核心要素:
- 生成模型 — 创建图像的神经网络(如 Stable Diffusion 1.5)
- 潜空间 — 图像逐步成形的压缩数学空间
- 提示词 — 你的文字描述,分为正向提示(想要的元素)和反向提示(想避免的元素)
准备工作
开始之前,确保你已经:
- 安装并运行了 ComfyUI(快速开始)
- 在
ComfyUI/models/checkpoints文件夹中有至少一个模型
本教程使用 SD1.5 模型。你可以从 HuggingFace 下载 v1-5-pruned-emaonly-fp16.safetensors。
如果你使用 ComfyUI Desktop 安装,可以直接通过界面下载模型,无需手动管理文件。
工作流节点详解
默认的文生图工作流使用六种节点(其中 CLIP Text Encode 出现两次 — 分别用于正向和反向提示词):
Load Checkpoint(加载模型)
加载你的 AI 模型。一个 checkpoint 通常包含三个组件:
| 组件 | 作用 |
|---|---|
| MODEL (UNet) | 在扩散过程中预测和去除噪声 |
| CLIP | 将文字提示转换为模型能理解的数值向量 |
| VAE | 在潜空间和像素空间之间转换 |
Empty Latent Image(空白潜像)
设定画布尺寸。这个节点创建一个充满随机噪声的空白潜空间 — 生成过程的起点。宽高决定了最终图片的尺寸。
SD1.5 建议使用 512×512 以获得最佳效果。
CLIP Text Encode(文字编码,需要两个)
一个用于正向提示(你想要的),一个用于反向提示(你想避免的)。CLIP 编码器将文字转换为语义向量来引导去噪过程。
KSampler(采样器)
工作流的核心。它接收噪声潜像、模型和提示条件,然后通过多步迭代去噪生成图像。
关键参数:
| 参数 | 作用 |
|---|---|
| seed | 随机种子 — 相同的种子 + 相同的设置 = 相同的图片 |
| steps | 去噪迭代次数。越多细节越好,但生成越慢 |
| cfg | 模型遵循提示的程度。太低会忽略提示,太高会出现瑕疵 |
| denoise | 噪声强度。文生图保持 1.0(从纯噪声完全生成) |
VAE Decode(VAE 解码)
将去噪后的潜像转换回可查看的图片。
Save Image(保存图片)
显示并保存结果到 ComfyUI/output 文件夹。
写好提示词
好的提示词对输出质量影响巨大。以下是 SD1.5 的实用技巧:
建议:
- 尽量使用英文以获得最佳效果
- 用逗号分隔短语,不要写长句子
- 具体描述:"golden sunset over calm ocean" 比 "nice landscape" 好得多
- 加入质量提升词:
masterpiece, best quality, highly detailed - 用权重强调重点:
(golden hour:1.2)让这个概念更突出
避免:
- 写长段落 — 模型对简洁关键词的反应更好
- 忘记反向提示 — 它们对避免常见瑕疵非常重要
示例:动漫风格
正向提示:
anime style, 1girl, long pink hair, cherry blossom background,
soft lighting, intricate details, masterpiece, best quality反向提示:
low quality, blurry, deformed hands, extra fingers示例:写实人像
正向提示:
(ultra realistic portrait:1.3), elegant woman,
soft cinematic lighting, (golden hour:1.2),
shallow depth of field, (skin texture:1.3),
warm color grading反向提示:
deformed, cartoon, anime, plastic skin, overexposed,
blurry, extra fingers原理简述
文生图是一个逆向扩散过程:
- 从潜空间中的纯随机噪声开始
- 模型在每一步预测需要去除的噪声
- 你的文字提示(编码为向量)引导去噪方向
- 所有步骤完成后,VAE 将结果解码为像素图像
潜空间是一种压缩的数学表示 — 比实际图像小得多。这就是为什么扩散模型能在消费级硬件上运行。可以理解为先画草稿(潜空间)再完成最终作品(像素)。
关于 SD1.5
Stable Diffusion 1.5 是使用最广泛的开源图像生成模型之一:
- 大小: 约 4 GB — 可在 6 GB 以上显存的 GPU 上运行
- 最佳分辨率: 512×512
- 生态: 大量的 LoRA、ControlNet 和社区微调模型
- 局限性: 手部、复杂光照可能出问题,超过 512px 质量下降
常见问题和解决方法
出图模糊、质量低
- 增加步数 — 尝试 25–30 步,而非默认的 20
- 提高 cfg — 尝试 7–9 以增强提示词的影响力
- 加入质量关键词 — 正向提示中加入
masterpiece, best quality, highly detailed, 4k - 检查分辨率 — SD1.5 在 512×512 效果最佳。直接生成更高分辨率往往会降低质量
手部和手指变形
这是 SD1.5 的已知局限。缓解方法:
- 反向提示中加入
deformed hands, extra fingers, bad anatomy - 使用修手 LoRA(如 Civitai 上的 "detail tweaker" 或 "hand fix")
- 生成 512×512 后再放大
出图完全不符合提示词
- cfg 太低 — 提高到 7–12 让模型更紧密跟随提示
- 概念太多 — 精简提示词。少而精的关键词比长段描述效果更好
- 模型不匹配 — 一些模型针对特定风格微调过,动漫模型不擅长写实风格
Load Checkpoint 显示 null 或空
- 确认
.safetensors文件在ComfyUI/models/checkpoints/中 - 刷新 ComfyUI(F5)或重启
- 检查文件是否损坏(下载不完整)
生成速度很慢
- 显存不足 — 启动时加
--lowvram参数 - 步数太多 — 快速迭代用 20 步就够,30+ 步留给最终渲染
- 分辨率太大 — 用 512×512 生成后再放大,不要直接生成 1024×1024
Wonderful Launcher 文档