一句话结论:文生图真正影响结果的只有五项——模型、提示词、尺寸、采样步数与 CFG、随机种子。其余参数默认值就能用,先把这五项练成手感,比背一百个参数有用。
工作流能跑通之后,下一个坎是"为什么我出的图和别人的差那么远"。打开 KSampler,seed、steps、cfg、sampler_name、scheduler、denoise 六个框排在那里,网上教程各说各的:有人说步数拉到 50,有人说 20 就够;有人说 CFG 要 12,有人说 7 以上就废。照着调半天,图不是更糊就是过曝。
为了解决这个问题,ComfyUI 把采样过程的所有可调项都摆在节点上,让你能精确控制每一步——代价是参数之间互相影响,单独调一个往往看不出变化。正确的做法不是记住每个参数的"最佳值",而是分清哪些参数决定"画什么"、哪些决定"画得多细"、哪些只影响"稳不稳定",然后一次只动一个。
本文按这个顺序讲:先给一张参数分工表,再逐个说 KSampler 的七个参数、尺寸与 LoRA 的规矩,最后给一份按场景选参数的速查表和"现象→原因"对照表。所有数值都是实践区间,不是标准答案,你的模型和题材会让它偏移。
一、先分清:哪些参数决定"画什么"
调参效率低,多半是因为同时动了"决定内容"和"决定质量"的两类参数。按作用分三类,思路就清楚了:
| 类别 | 参数 | 调它会发生什么 |
|---|---|---|
| 决定内容 | 模型、提示词、LoRA、随机种子 | 换一个就换一张图,构图和主体都会变 |
| 决定质量与细节 | 采样步数、采样器、调度器、CFG | 同一张图更清晰/更柔/更硬,内容不变 |
| 决定画布 | 宽、高、批次 | 尺寸变了构图会重排;批次只影响一次出几张 |
一个实用原则:先把"画什么"定死(用固定 seed),再去调"画得多好"。反过来做,每次调完都不知道变化来自哪。这也是后面做对比实验的基础。
二、KSampler 七个参数,逐个说清
(CFG 是 Classifier-Free Guidance 的缩写,直译"无分类器引导",说白了就是"画面要多听提示词"。)
| 参数 | 作用 | 实践区间 | 常见误用 |
|---|---|---|---|
seed | 随机种子,决定初始噪声 | 固定值复现;-1 每次随机 | 以为换 seed 能修构图错误 |
steps | 去噪迭代次数 | 20–30 | 盲目拉到 50+,只变慢不变好 |
cfg | 提示词引导强度 | 5–8 | 拉到 15 求"更听话",结果过曝发灰 |
sampler_name | 采样算法 | euler / dpmpp_2m / dpmpp_2m_sde | 以为换了就"更高级" |
scheduler | 噪声调度曲线 | normal / karras | 与采样器乱配 |
denoise | 去噪强度 | 文生图 1.0;图生图 0.4–0.7 | 图生图也用 1.0,原图全丢 |
batch_size | 一次出几张 | 1–4(看显存) | 想靠批次提速,结果爆显存 |
逐条补充几句关键的:
seed是唯一能"锁定"结果的参数。同一个 seed + 同一组参数,出图完全一致;seed 一变,噪声底图变了,构图跟着变。所以想复现一张图,必须同时记住 seed、步数、CFG、采样器和模型,少一个都复现不出来。
steps的收益是递减的。20 步和 30 步的差别肉眼可见,30 步和 50 步往往看不出来,但时间翻倍。我们自己的习惯是:先 20 步确认构图,满意了再 30 步出正式图。步数不是画质旋钮,是"够不够收敛"的开关。
cfg最容易调过头。它推的是"多听提示词",推太狠会导致色彩过饱和、边缘发硬、画面发灰。CFG 高到一定程度,提示词里没写的东西会被硬塞进来,看起来像"AI 抽风"。不确定就用 7;用 SDXL 类模型时 5–7 往往更自然。
sampler_name里有一类要特别注意:名字带ancestral或sde的采样器每一步都会加回一点噪声,所以即使 seed 固定,结果也可能不完全一致。需要严格复现(比如做参数对比),就别选这类。
denoise是文生图和图生图的分水岭。文生图必须 1.0,因为你要从纯噪声开始;图生图要小于 1,因为你要保留原图的一部分。高清修复的本质就是"低 denoise 的二次采样",denoise 给 0.3 就只修细节,给 0.7 就大幅重画。
三、尺寸:必须是 8 的倍数,这不是建议
空 Latent 的宽高填错会直接报错,或者出图边缘错位。原因是 VAE 的下采样倍率是 8,尺寸不能被 8 整除时,潜空间的尺寸对不上。
| 模型类型 | 原生尺寸 | 常用比例 | 备注 |
|---|---|---|---|
| SD 1.5 系 | 512×512 | 512×768、768×512 | 直接上 1024 容易出双头、结构崩 |
| SDXL 系 | 1024×1024 | 896×1152、1152×896 | 原生就是 1024,别降太多 |
| 视频模型 | 常见 720×1280 附近 | 按模型文档给的尺寸 | 尺寸与帧数一起吃显存 |
两条经验:
- 尺寸不匹配模型,会出现"结构崩坏"而不是"变糊"。SD1.5 直接跑 1024,常见现象是人脸变形、肢体重复。这不是提示词的问题。
- 比例不对,构图会被强行重排。想要竖版海报就用竖版尺寸生成,别用方图生成完再裁——裁掉的是构图。
四、LoRA 怎么插:串在模型后面,两个强度别填一样
LoRA 不是独立节点,它是一个"修饰器",要串在模型和 CLIP 的线上:
加载 Checkpoint ──MODEL──→ LoraLoader ──MODEL──→ KSampler.model └─CLIP───→ LoraLoader ──CLIP───→ 文本编码.CLIPLoraLoader 有五个输入,新手只需要关心四个:
| 输入 | 含义 | 怎么填 |
|---|---|---|
lora_name | 选哪个 LoRA 文件 | 文件要放在models/loras |
strength_model | 对画面的影响强度 | 0.6–0.9 起步 |
strength_clip | 对提示词理解的影响 | 一般与上者相同或略低 |
model/clip | 上游接进来的模型与编码器 | 从加载节点连过来 |
关于强度,有一条实践结论:两个 strength 都填 1.0 常常过火。风格类 LoRA 在 0.6–0.8 之间更自然,人物/物体类可以接近 1.0。有些 LoRA 需要触发词才生效,作者会在发布页写明,没写就试着把 LoRA 名字里的关键词加进提示词。
多个 LoRA 可以串联,但每串一个都会让显存和计算量上升,而且风格会互相打架。两个以上就要开始降强度。
五、负面提示词不是"禁止清单"
很多人把负面框当成黑名单,写一堆"不要模糊、不要多余手指"。它实际的作用是在生成时往反方向推,所以写得越长,正面的引导被抵消得越多。
更有效的用法是只写"你这类图最容易出的毛病":
| 题材 | 负面提示词该放什么 |
|---|---|
| 写实人像 | 塑料感、过度磨皮、畸变手部 |
| 产品图 | 杂乱背景、多余文字、水印 |
| 插画 | 灰暗色调、噪点、脏边 |
| 建筑/场景 | 透视错乱、结构重复 |
还有个联动关系要记住:CFG 越高,负面提示词的影响也越强。所以如果你把 CFG 从 7 拉到 12,原来的负面词可能会让画面变得很僵。调高 CFG 的同时,负面词要减。
六、做对比实验:一次只动一个
想搞清某个参数的真实作用,用控制变量法,四步:
- 固定 seed、模型、提示词、尺寸、步数、CFG,先出一张基准图。
- 只改一个参数(比如 CFG 从 5 → 7 → 9),各出一张。
- 把三张并排看,判断是"更好"还是"只是不同"。
- 记下结论,换下一个参数。
这套方法听起来笨,但它是唯一能让你形成自己判断的方式。网上给的"最佳参数"大多来自别人的模型和题材,直接抄经常不灵。
七、参数速查表:按场景直接抄
| 场景 | 尺寸 | steps | cfg | 采样器/调度器 | 备注 |
|---|---|---|---|---|---|
| 快速试构图 | 512 或 768 短边 | 15–20 | 6 | euler / normal | 只判断构图,不求画质 |
| 写实人像 | 832×1216 | 28–35 | 5–7 | dpmpp_2m / karras | 手部问题靠负面词压 |
| 产品/静物 | 1024×1024 | 25–30 | 6–7 | dpmpp_2m_sde / karras | 背景干净优先 |
| 插画/风格化 | 768×1152 | 25–30 | 7–9 | euler_ancestral / normal | 允许一点随机性 |
| 高清修复(二次) | 原图 1.5–2 倍 | 15–20 | 与原图一致 | 同原图 | denoise 0.3–0.45 |
| 图生图改风格 | 同原图 | 20–25 | 6–8 | dpmpp_2m / karras | denoise 0.5–0.7 |
八、现象对照:先看表再改参数
| 现象 | 最可能的原因 | 先改哪个 |
|---|---|---|
| 画面发灰、色彩过饱和 | CFG 太高 | 降到 7 以下 |
| 细节糊、边缘脏 | 步数不足或尺寸太小 | 先加步数到 25–30 |
| 构图不听提示词 | CFG 太低,或提示词太抽象 | CFG 提到 7,提示词写具体 |
| 人物肢体重复、双头 | 尺寸超出模型训练分辨率 | 降回原生尺寸 |
| 同一提示词每次都差不多 | 用了 ancestral/sde 类采样器或 seed 固定 | 换采样器或改 seed |
| 图生图把原图改没了 | denoise 太高 | 降到 0.5 以下 |
| 跑一半显存爆 | 批次或尺寸太大 | batch_size 降 1,尺寸降一档 |
这张表的价值在于它告诉你先动哪一个。新手最常见的浪费是"一次改五个参数,然后不知道哪个起了作用"。
下一篇进视频:为什么图片跑得挺顺,一换视频就爆显存或卡住,以及帧数、时长、编码格式这几处必须知道的规矩。
总结
文生图的参数只有五类真正要紧:模型决定风格底子,提示词决定内容,尺寸决定构图与结构是否崩,步数与 CFG 决定收敛程度和强度,seed 决定可复现性。KSampler 里denoise是文生图与图生图的分界,ancestral/sde类采样器不保证严格复现,尺寸必须是 8 的倍数且要贴模型原生分辨率。LoRA 串在模型之后、强度别填满;负面词只写这类图的通病,且 CFG 越高影响越大。调参的唯一可靠方法是固定其他项、一次只动一个。
关于我
13 年 IT 全栈,.NET、Python、Office 自动化(VSTO/VBA/Python)都做,也做 AI 应用实操(智能体开发),主业是帮企业和团队把重复劳动自动化——报表一键生成、数据对接、文档批量处理、工具定制。
本科物理化学、硕士计算机化学,在一线实验室待过 13 年(9 年制药 + 4 年第三方检测),现在主要服务药企、检测机构和实验室:SOP、合规、样本流、仪器数据接口这些词不用你解释。
这几年做得比较多的是这几类:Office 自动化(VSTO/VBA/Python)工具定制、数据对接与 LIMS 咨询、技术陪跑。
不是外包码农,是听得懂业务的自己人。有同类场景的朋友欢迎评论区聊聊,先聊清楚再动手不迟。