ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Stable Diffusion图生图完全指南:从原理到实战的参数与工作流

2026/9/17 22:20:24 拓冰建站 浏览量
Stable Diffusion图生图完全指南:从原理到实战的参数与工作流 玩 Stable Diffusion 的朋友大多是从文生图txt2img入的坑敲一段提示词点一下生成然后开盲盒。但等你想真正控制画面、让角色统一、给自己的照片换风格、把一张草图变成正式作品的时候纯文生图就明显不够用了。这时候你离不开一个功能图生图img2img。说白了img2img 就是把一张现有图片当作起点再按文字指令或额外条件去重绘、修复、延展、换风格我在日常出图里至少一半工作量靠它完成。这篇文章我不打算讲那些“点一下按钮就出图”的操作演示而是想把 img2img 从原理、参数、玩法到工作流完整拆一拆。内容会比较长但保证每一步都能落地既适合刚摸到图生图边缘的新手也适合已经玩了一段时间、但总感觉“参数是在瞎调”的朋友。把我踩过的坑、总结出来的参数规律、常用的工作流模板都写出来你照着试就能省不少电费。1. img2img原理别把图生图当成简单的滤镜1.1 文生图和图生图的本质区别很多人第一次用 img2img会以为它是类似 Photoshop 里“滤镜”的东西原图丢进去直接按像素改个色、加个效果。但实际上图生图和文生图的底层逻辑几乎一样唯一区别是“起点”不同。文生图的起点是一张纯噪声模型在这张噪声图上一步步去噪最后还原成图像图生图的起点是你传入的一张真实图片。Stable Diffusion 不会直接在这个原图上做修改而是先把原图编码到“潜空间”变成一组特征向量再往里加入一定量的噪声最后用同样的去噪流程根据你的提示词把画面重新“画”出来。也就是说img2img 的结果不是原图的轻微扭曲而是模型在原图信息基础上的一次“重新想象”。你可以把整个流程理解成把一张照片先侵染上大量随机噪点然后让 AI 照着提示词一边擦除噪点一边重新补全画面。补得越少画面越接近原图补得越多原图就只剩一个模糊的影子生成结果越接近纯文生图。1.2 潜空间里的“混合”过程为什么 Stable Diffusion 不直接在 512x512 像素上处理而要绕一圈进潜空间因为直接在高分辨率像素上计算显存会瞬间爆炸而且很难让模型理解“高层语义”。Stable Diffusion 用了一个 VAE变分自编码器模型把 512x512 的像素图压成 64x64 的潜空间特征图数据量小了 64 倍计算压力大幅下降。图生图的过程具体分成四步用 VAE 编码器把原图压缩成潜空间特征。根据重绘幅度Denoising strength给潜空间特征加一定比例的噪声。把加了噪声的特征交给 UNet 神经网络结合提示词和采样器逐步去噪。用 VAE 解码器把去噪后的特征还原成像素图。注意第二步是关键重绘幅度并不是“改多少像素”的比例而是“加多少噪声”的强度。噪声加到 0模型完全没有发挥空间出来的图就是原图噪声加到接近 1原图信息几乎全部被抹掉结果等于文生图。理解这一点很重要很多参数问题都能从这个角度推断出来。1.3 图生图的三个主流用途图生图并不是一个单一功能它是一组操作模式的集合。我平时用下来主要覆盖三类需求风格迁移把一张真实照片转成二次元、油画、水彩、赛博朋克风格保持主体轮廓和构图不变。最典型的做法是原图加提示词重绘幅度调到 0.5 左右。局部修改只改变画面里某一小块内容比如给人物换衣服、改发色、修复手指、去掉背景杂物。这时候要用局部重绘Inpaint而不是直接整张图生图。角色一致性和成套出图先用一张参考图固定人物的长相然后通过图生图在保持脸部相似的前提下换姿势、换场景、换服装。再配合 LoRA 模型可以做到一套流程里几十张图片风格统一。这三个用途也是本文后面所有内容的主线。无论后面提到什么参数、什么工作流最终都是为这三类需求服务的。2. 图生图核心参数详解重绘幅度不是越大越好2.1 重绘幅度最关键的“变与不变”调节器进到 WebUI 的图生图界面第一个要关注的参数就是 “Denoising strength”重绘幅度范围一般是 0 到 1。我习惯用一个橡皮擦的比喻原图是一块画板上的铅笔画重绘幅度是橡皮擦的力度。0 是不擦画板原封不动1 是把整幅画擦得干干净净重新作画。0.3 就是只擦掉一些阴影和细节保留基本轮廓0.7 是擦掉大部分内容只留一点残留的参考痕迹然后凭提示词自由发挥。因为潜空间的特性重绘幅度对画面的影响并不是线性的。从 0 到 0.3画面变化很小0.3 到 0.6开始有比较明显的变化但整体结构还稳得住0.6 到 0.8 是一个分水岭构图会发生明显偏移0.8 以上原图基本只提供一个色调或模糊的语义具体构图全靠模型随机生成。所以你在调参时不要每次只动 0.01 然后抱怨没变化先把它放在 0.4、0.5、0.6 这类档位上对比感受会直观很多。2.2 不同重绘幅度的实测感受下面这张表是我当时用同一张照片、同一组提示词连续测出来的直观感受可以拿来做参考。重绘幅度画面变化程度适合场景0.1 ~ 0.2细节微调构图几乎不变修复小瑕疵、降低噪点、轻微色彩调整0.3 ~ 0.4局部变化风格开始偏移写真转手绘但不改姿势、保留脸部特征0.5 ~ 0.6明显重绘但主体结构仍可识别换背景、换服装风格、整体风格迁移0.7 ~ 0.8构图可能改变细节大量重生成从草图/线稿生成成品图、打破原图限制0.9 ~ 1.0原图只作为色彩或构图参考几乎等于文生图以原图氛围为灵感生成全新画面注意这只是一个经验区间不同模型、不同提示词、不同原图清晰度都会影响最终结果。尤其是一些偏写实的模型重绘幅度 0.4 就可能让脸部五官发生较大变形而二次元模型有时候 0.6 还能保持轮廓稳定。所以拿到一个新模型第一步不是急着出大图而是用同一张图跑几个档位的对比图摸清这个模型的“手劲”。2.3 CFG Scale、采样器、步数到底怎么配除了重绘幅度图生图里还有几个参数需要配合着调否则你很容易遇到“提示词没作用”或者“过曝油光”的问题。CFG Scale提示词引导系数表示提示词对画面的影响强弱。文生图很多人习惯拉高到 10 甚至 12但图生图不建议照搬。因为原图本身已经提供了大量约束提示词的作用是调整风格和细节CFG 拉太高画面容易发灰、过曝、颜色发闷甚至边缘出现伪影。我在图生图里最常用的是 5 到 8风格迁移用 6局部重绘用 7 左右很少超过 8。采样器和步数方面主流版本里 Euler a、DPM 2M Karras、DPM SDE Karras 都比较稳定。步数不是越高越好20 到 30 步足够超过 40 步不仅慢细节还可能因为过拟合而变脏。如果你发现同样参数下别人出的图质感比你好问题多半不在步数而在于模型本身或者 VAE 没设置好。图生图执行时建议开启“固定随机种子”Seed这样你调整一个参数时其他部分不会像开盲盒一样全变。固定种子后调参数才能看到每个参数的真实影响。3. 图生图的高级玩法局部重绘与蒙版实操3.1 四种模式怎么选图生图、局部重绘、涂鸦、上传蒙版WebUI 的图生图页面下拉菜单里通常有四个选项卡很多人只用过第一个 img2img其他几个都没碰。这四个模式其实是同一个引擎的不同使用姿势模式作用适合场景图生图img2img整张图重新生成保留整体结构风格迁移、转绘、整图美化局部重绘Inpaint选中画面某个区域重新生成换衣服、修手、改背景中的局部物体涂鸦Scribble在原图上随意画几笔让 AI 根据涂鸦内容生成局部新物体快速在照片里加上“帽子”“纹身”“水晶”等元素上传蒙版Inpaint Upload用外部软件如 PS画好的蒙版来控制区域需要精确蒙版边缘时这几种模式里局部重绘是进阶玩家最常用的。它和整张图生图最大的区别是没有蒙版覆盖的区域会尽量保持原样只有蒙版内部参与重绘。也就是说你只需要在人物衣服上涂一下AI 只会重新绘制衣服区域脸部、背景、姿势基本不动。这样出来的效果非常可控尤其适合修图场景。3.2 局部重绘实操给照片换服装我拿一个最典型的场景举例给一张真实人物照片换一套衣服。第一步把照片拖进局部重绘面板用画笔把人物身上要换的衣服区域完整涂抹一次。注意不要只涂一个色块衣服和皮肤交界的地方也尽量涂进去否则 AI 可能会在交界处生成一条明显的色带。第二步在正向提示词里写清楚你想要的新服装比如“白衬衫西装外套商务风格”负向提示词写上“lowres, bad anatomy, bad hands, extra clothes”这类常见清道夫词。如果你不想字体影响画面还可以加“text, watermark”。第三步关键参数设置重绘区域选“仅蒙版”Only masked蒙版模式选“重绘蒙版内容”Inpaint masked蒙版模糊Mask blur给 4 到 8重绘幅度给 0.6 到 0.7。这样出来的服装会自然融入原图而不是像贴纸一样浮在表面。这里有个很多人不知道的细节填充方式Masked content默认是“原图”original改衣服时这是最稳的选项因为 AI 会尽量利用蒙版边缘的原始信息做过渡。如果你希望服装完全重新设计可以考虑选“潜空间噪声”latent noise但边缘融合难度会变大新手不建议优先尝试。3.3 用蒙版精准控制修改范围局部重绘的蒙版不只是“画个范围”而已。WebUI 里“蒙版模糊”Mask blur这个参数决定了蒙版边缘的羽化程度。数值越大蒙版边缘越柔和重绘区域和原图区域的过渡越自然数值太小边缘会显得生硬像是剪贴上去的数值太大重绘又会侵蚀到不需要修改的区域让无关地方变形。另一个重点是“重绘区域”选项。默认是“整张图片”Whole picture意思是除蒙版区域外其他部分也会被重新采样虽然变化小但脸、背景都可能轻微变动。如果你只想让衣服变化脸部完全不动应该选择“仅蒙版”Only masked这样模型只会在蒙版覆盖的小范围内重绘边缘依赖原图信息做融合。我自己的经验是要改的区域越大重绘幅度可以适当降低因为大面积区域本身就有足够的信息让模型发挥反之只改一个很小的区域比如眼睛颜色重绘幅度太高容易把附近皮肤也改掉。改小范围时重绘幅度控制在 0.4 到 0.5 更安全。3.4 ControlNet加持让边缘、姿态、景深完全可控图生图如果只靠提示词和重绘幅度很多场景会失控尤其是当你要求“保持照片里这个人的动作一模一样但把背景换成海边”。这时候就得请出 ControlNet。ControlNet 可以给图生图提供额外条件约束比如 Canny 边缘检测、Depth 深度图、OpenPose 姿态骨架、Lineart 线稿等。它的作用是告诉模型“不管你后面怎么重绘都必须遵守这个边缘/姿态/景深。”具体做法是在图生图页面同时加载 ControlNet上传同一张原图预处理器选 Canny 或 Lineart模型选对应的 ControlNet 模型控制权重Control Weight一般设在 0.6 到 0.9。当你想要“结构不变但风格大幅变化”时可以让重绘幅度开到 0.6、0.7同时 ControlNet 权重保持 0.8 左右。这样模型虽然会重新绘制但因为有边缘约束构图不会跑偏。用 OpenPose 时要注意预处理器会把人物姿态提取成骨架然后模型按骨架重绘。所以如果你用了一张背影照OpenPose 能约束人物姿势一致但脸部细节不归它管。ControlNet 解决的是“结构可控”细节还是要靠模型质量和提示词。4. 图生图实战工作流从一张图到一套图4.1 快速做一套风格统一的人物写真很多人不知道图生图最适合做“成套图”。比如你想生成一个固定角色在多个场景下的写真如果每次都用文生图随机刷同一个角色每张脸都不一样但用图生图先固定一张参考图后面所有图片都从这张图出发统一性会大幅提升。我常用的流程分四步先用文生图找一张最满意的角色立绘图或者用一张真实照片作为底图。将底图放入图生图提示词保留角色外观描述发型、服装、眼睛颜色重绘幅度设为 0.45 到 0.55。每张新图只改变场景相关提示词比如“站在海边”“坐在咖啡馆窗边”“站在樱花树下”保持种子不变。如果发现脸部有畸变再配合 LoRA 模型或者脸部位局部重绘修复。这个流程的本质是底图给模型提供角色特征提示词负责场景变化重绘幅度控制在“有变化但不改身份”的区间。实际跑下来一套 10 张左右的图可能只有一两张需要二次修复效率比每次从零开始高很多。4.2 从草图到成品图生图辅助创意流程图生图还有一个特别适合设计前期的方法快速把草图变成概念图。我平时会先在画图板或者纸上画一个非常潦草的线稿然后拍下来或扫描进电脑拖到 img2img 面板。正反向提示词写上风格描述比如“ architectural concept art, detailed, trending on artstation”重绘幅度开到 0.65 到 0.75模型会基于这个草图的构图重新生成一个精美的画面。如果你希望 AI 尽可能尊重草图线条就把重绘幅度降到 0.5或者用涂鸦模式直接在图上把草图线条加粗涂黑AI 识别会更容易。如果草图本身透明度太高线条不够清晰建议先用图像编辑软件把对比度拉高再丢进图生图。这个方法极其适合概念设计师找方向一次可以生成几十个方案从中挑最优的再深化。4.3 ComfyUI 中的图生图工作流搭建WebUI 适合单张快速试手但批量生成或者搭复杂流程时我更喜欢 ComfyUI。ComfyUI 里的图生图和 WebUI 本质一样但工作流更透明你可以清楚看到每一步数据怎么流动。一个最简的 ComfyUI 图生图工作流包括Load Image加载原图。VAE Encode把原图编码到潜空间。Random Noise / Noise Generator生成噪声。通过“Add Noise”节点按重绘幅度把噪声和潜空间特征混合。进入 KSampler输入提示词、种子、步数、CFG。VAE Decode 得到图像。Save Image 输出。如果你想把图生图和 ControlNet 结合就在 KSampler 前增加“ControlNet Apply”节点把 Canny 或 Depth 条件输入进去。这样控制力更强节点也清晰。ComfyUI 的好处是你可以把这个流程保存为模板以后每次换图、换提示词就能批量出图不用反复操作界面。坏处是初次搭建对新手有门槛但只要你搞清楚“编码 - 加噪 - 采样 - 解码”这条主线很多预置工作流都能看懂。5. 常见问题与排查技巧直接对照自查5.1 改不动或者飘了别只怪重绘幅度图生图最典型的问题是“我加了提示词但图就是不按我想法变”或者反过来“我只是换了个背景色整张图构图全飘了”。这两种情况往往不是单一参数的问题而是几个因素叠加。如果“改不动”先按顺序排查重绘幅度是不是太低了低于 0.3 时模型只会微调纹理不会理解“换背景”这种语义。提示词描述是否和目标匹配比如想换衣服却把服装写在风格词后面权重会被稀释。局部重绘时蒙版是不是漏了边缘区域AI 以为你只想改中间一点。模型是否适合该任务有些写实模型对抽象指令理解差换一个微调模型可能立刻见效。如果“飘得厉害”先试试降低重绘幅度到 0.5 以下再把 CFG 降到 6 左右。很多时候构图崩溃是因为 CFG 太高模型为了强行贴合提示词把原图结构也扭曲了。另外某些采样器在高步数下也会放大偏差换用 DPM 2M Karras 或者 Euler a 会有改善。5.2 脸崩、手残最有效的三个办法图生图重绘时脸部和手部最容易崩尤其用写实模型。脸部崩通常发生在重绘幅度超过 0.5 时模型重新采样后把五官画歪手部崩则是因为训练数据里高质量手部图片不足模型对手掌结构理解不够。我的解法排序是局部重绘脸部把崩掉的脸部区域用蒙版涂上重绘幅度设 0.3 到 0.4提示词加“masterpiece, best quality”和“detailed face”一般能修复。使用 ADetailer 插件WebUI 扩展里可以直接对检测到的人脸区域做二次修复效果非常稳。用 ControlNet OpenPose 固定手势先提取原图的手部骨骼再做图生图手就不容易崩。还有一个容易被忽略的点重绘幅度太高手部容易变成“六指琴魔”。如果想重绘幅度必须高可以在负向提示词里加上“extra fingers, missing fingers, bad hands”能稍微救回一点但不能完全依赖。5.3 显存不足、速度慢的调优方向图生图比文生图更吃显存因为除了要加载模型还要同时保存原图特征和生成图特征。如果你总是爆显存可以试试先用 512x512 或 512x768 出图再单独用放大脚本增加到 1024 或 2048而不是一开始就开大图。在设置里开启“分块 VAE”Tiled VAE这个功能会把解码过程切成小块处理大幅减少显存占用。降低批处理数量Batch Size每次只生成一张同时开启 xformers 或相近的加速优化。换用更小版本的模型有些模型有 fp16、safetensors 格式比原版省显存。速度方面图生图如果开 ControlNet步数过高会让单张耗时翻倍。建议先固定 20 步看效果再往上加。另外如果你用的是老显卡可以考虑把采样器换成 Euler a虽然细节会少一点但速度快不少。5.4 图生图参数速查表最后整理一张速查表方便你平时直接套用任务重绘幅度推荐模式CFG采样步数照片转手绘0.4 ~ 0.5整图 img2img625照片换背景0.5 ~ 0.6整图 img2img ControlNet6 ~ 725人物换衣服0.6 ~ 0.7局部重绘725修复脸部0.3 ~ 0.4局部重绘 ADetailer620草图生成成品0.65 ~ 0.75整图 img2img / 涂鸦6 ~ 825 ~ 30风格统一系列图0.45 ~ 0.55整图 img2img固定种子6256. 最后说点实在的经验图生图玩到后面比的不是谁的提示词华丽而是谁对“重绘幅度”和“蒙版”的理解更细。我在最开始切换图生图的时候也犯过“重绘幅度 1.0 然后质问为什么和原图完全不像”的错。后来慢慢习惯用“固定种子 低重绘幅度 局部重绘 ControlNet”这套组合拳出图的稳定性和可控性都提升了一大截。还有一个私藏的小技巧不要指望一次生成就完美。高手也经常把图生图的结果再送回图生图通过多轮迭代逐步接近目标。比如第一轮用 0.6 换风格第二轮用 0.35 修细节第三轮用局部重绘修手部每一步都只解决一个小问题。这种“渐进式重绘”比在一张图上大幅修改稳得多也能让你更清晰地摸清每个参数的脾气。建议你就从一张自己的照片开始先花一个晚上把 0.1 到 0.8 的重绘幅度全都跑一遍看看同一个模型在你这个图上的变化曲线。相信我这一个晚上换来的手感比看任何教程都值。