资讯详情

资讯详情

AI绘画全流程指南:从提示词到ControlNet的实用工作流

1. 先聊清楚这套流程到底解决什么问题接触AI绘画这一年多我最大的感受是很多人在软件里点几下按钮出一张能看的图就觉得自己会用AI绘画了。但一旦想要稳定复现某个风格、精确控制人物姿势和构图立刻卡壳——要么提示词写了一大堆生成出来完全不是想要的东西要么换了个模型之前所有参数都失效不知道问题出在哪。这篇博文要聊的这套流程就是从脑子里有个画面到输出一张符合预期的图的完整链路提示词怎么组织、模型怎么选、采样器和步数怎么搭配、ControlNet在什么环节介入、局部重绘和后期修图怎么收尾。不是零散地讲某个功能而是把它们串成一条可以照着走的生产线。适合刚入门但不想瞎试的爱好者也适合做设计、电商素材、短视频配图的人参考——这类需求最怕的就是风格不稳定下次复现不出来。我用的软件是当前主流的开源绘画工具Stable Diffusion WebUI 系具体版本差异不大只要你用的是近一年内的版本界面和参数名称基本都对得上。文章不会教你背参数而是告诉你每个参数在控制什么、为什么这样调这样你换模型、换软件思路依然成立。2. 提示词不是越详细越好先学会搭框架很多人写提示词有个习惯把自己能想到的所有词全部堆进去什么masterpiece, best quality, ultra detailed, 8k, intricate, cinematic lighting全部铺满结果生成的图又脏又乱主体都不知道在哪。这是因为提示词的作用不是描述越多越精准而是给模型显式、便于理解的任务指令。提示词的本质是用一小段文本告诉模型你想要的画面元素、风格、构图和氛围。调制提示词其实正是在做一次人给机器写任务说明的实践。2.1 一套我能直接用一年的四段式结构我目前的提示词统一用四段式组织顺序固定命名清晰方便后续微调主体与内容who / what例如 one young woman, wearing a white trench coat, standing in a rainy city street场景与环境where / when例如 night, neon signs reflecting on wet asphalt, shallow depth of field风格与媒介how例如 digital painting, soft studio light, anime style, realistic skin texture画质与补足词例如 high detail, sharp focus, 8k, masterpiece——放在最后作为兜底画质词而不是堆在最前面。如果要做特定风格风格段可以换成更具体的描述。例如要出中国古风人物就不写泛泛的 chinese style而写 Tang Dynasty clothing, hanfu, historical costume, traditional Chinese architecture in background。模型对具体名词的响应远好于抽象形容词。2.2 负面提示词比正面提示词更值钱很多人会忽略负面提示词Negative Prompt。实际体验下来负面提示词对出图质量的提升往往比堆砌正面词更明显。我的基础负面词是lowres, bad anatomy, bad hands, missing fingers, extra digits, cropped, worst quality, low quality, jpeg artifacts, blurry, watermark其中 bad hands, missing fingers, extra digits 几乎是出人物图必备——因为分辨率、手部细节这类东西模型天生容易出错你在负面词里明确告诉它不要出现比在正面词里写 perfect hands 有效得多。提示负面词不要加入 monochrome, grayscale 这类风格词除非你确实不要黑白效果。否则模型可能会为了规避这两个词反而生成色彩过于饱和、对比度异常的图。2.3 权重和扩词别乱用冒号加数字在提示词里加权重例如(white coat:1.2)可以让模型更重视某个词但权重不是越高越好超过 1.5 后画面很容易崩——颜色溢出、边缘锯齿、主体变形都可能出现。我一般只在 1.1~1.3 之间微调。如果是想让某个元素更明显优先考虑把它写到更靠前的位置而不是直接调高权重。位置带来的效果往往比想象中大模型阅读提示词是有先后顺序的主体描述越靠前画面中主体的占比和清晰度通常越高。关于扩词也就是写多个近似词新手容易做的一件事是为了强调夜晚写 night, night time, dark night, midnight。这可能让画面过暗甚至主体消失。一个词只要出现一次就够了如果用了一个词效果不明显换个更精准的词例如把 dark night 换成 moonlit night 或 city night with artificial light。3. 模型选不对再好的提示词也白搭提示词只是脚本真正决定画风、光影、细节上限的是底模Checkpoint。同一个提示词在不同底模下能生成完全不同的两张图所以选模型是整条流程里最需要提前花时间的事。我的建议是平时固定用一个你信任的写实主模型再配一个动漫/二次元模型按需切换不要频繁换底模调参。3.1 大模型与VAE的角色划分在 WebUI 里模型一般分几块Checkpoint底模、VAE变分自编码器、LoRA低秩适配模型、Embedding嵌入词。很多人只关注底模忽略了 VAE。VAE 的主要作用是改善色彩和细节。部分写实模型的默认 VAE 会让画面发灰、发暗或者偏色下载一个专门优化过的 VAE例如某些社区常用的清透VAE挂上去之后画面会干净很多。挂载方式是在设置里指定或者直接在底模下拉框旁边单独选 VAE 文件。3.2 底模的挑选标准选底模时我只看三个指标用途匹配度写实人像用写实类底模二次元用动漫类底模别拿写实底模硬生成卡通脸再靠提示词拉回来效果和效率都差。作者更新频率与社区口碑优先选近六个月内还在更新的底模老底模对高分辨率、手部细节的支持通常偏差。负面词兼容性有些底模对负面词的要求不同经验是换底模后先保持基础负面词出三张测试图看是否需要单独增加负面词。3.3 为什么我不建议一上来就堆LoRALoRA 是现在大热的概念动不动就有新手一口气挂四五个。我的某个模拟项目里同事曾经挂了一个面部质感LoRA加一个某画风LoRA结果人物脸部和背景风格明显割裂。所以我的建议是先把底模和提示词调到出图稳定再引入LoRA。LoRA 的本质是在底模的基础上附加一个微调方向它适合解决底模本身不擅长表达的那部分内容并不适合当主要控制手段。如果一张图你还需要用两三个 LoRA 才能达到效果那大概率是底模选错了。4. 采样器、步数、CFG出图参数的底层逻辑这套参数是新手最容易抄错的地方因为每个博客、每篇教程给的都不一样。其实每个参数只控制一件事。先看一张我常用的参数组合表以写实人像为例参数推荐值作用采样器SamplerDPM 2M Karras / Euler a控制去噪过程与画质风格采样步数Steps20~30去噪迭代次数越多不一定越好CFG Scale5~7提示词控制强度尺寸Width×Height512×768 或 768×1024影响构图与分辨率上限种子值Seed固定或随机控制噪声初始状态4.1 采样器决定噪点如何变成图像采样器是生成过程中的去噪算法它决定从纯噪声一步步变成图片的方式。DPM 2M Karras 是我目前最常用的一类原因是细节丰富、收敛快适合大部分写实和插画需求。Euler a 则偏新手友好速度快出图稳定但细节锐度稍弱。不同采样器做对比试验时重点是看同一个种子、同一个提示词下哪个采样器出图更符合你的需求而不是哪个更好。4.2 为什么步数不是越多越好你可能会想采样步数越多画面应该越精细。实际上模型在去噪过程中前十几步已经完成了大部分结构构建后面继续迭代有时候反而会把细节抹平或者引入高频噪点。以 DPM 2M Karras 为例20 到 30 步之间通常就能达到最佳效果超过 35 步之后几乎看不出明显提升。如果你的硬件配置不太行跑图一张要很久把步数卡在 22 步左右是一个性价比极高的选择。4.3 CFG Scale 是双刃剑CFGClassifier-Free GuidanceScale 控制提示词对画面的约束力。数值越高模型越死板地服从提示词数值越低画面越发散自由。在实践里CFG 10 容易出现色彩过饱和、边缘伪影、甚至主体畸变而 CFG 4 又容易丢失主体。一般建议写实类开 5~7二次元类开 6~8然后固定住不要每次跑图都改它。一个比较实用的排查经验是如果图发灰像蒙了一层雾试着把 CFG 降低一点点比如从 7 降到 6如果颜色过于浓艳、边缘发黑也是 CFG 偏高往下调就好。4.4 尺寸会影响人物比例尺寸直接关系到画面构图。如果直接生成 512×512 的方图人物会显得比较居中、占比较大如果想要竖构图全身人物用 512×768 或 768×1024 更容易出好效果。但要注意尺寸并不是越大越好很多模型在基础训练时以 512 或 768 为主直接拉到 1024×1024可能生成重复肢体或构图散乱。应对方法是先在 512×768 出图定好构图后再放大Hires. fix后面细说。5. 高分辨率修复先构图再放大直接设置一个能用的合适尺寸出图是第一步。但如果你需要打印、电商详情页或者高清壁纸这类大图生成的图通常不够大这时候就不能简单地把尺寸数字调大后重新生成——更大的尺寸会让画面内容变得混乱模型容易在细节上编造骨骼和结构。正确做法是使用Hires.fix高分辨率修复。5.1 Hires.fix 的基本逻辑Hires.fix 的原理是先在低分辨率下生成一张构图正确的图再用一个额外的采样过程把它放大并补全细节。在 WebUI 中勾选Hires.fix后可以设定Upscaler放大算法一般选ESRGAN_4x或R-ESRGAN 4x对人物皮肤、头发这类有结构的物体效果好如果做线稿插画SwinIR_4x可能更合适。Hires steps放大阶段的采样步数一般设 10~20不需要太多。Denoising strength放大阶段对画面内容的重绘程度。这个值很关键——如果设置过高如 0.7放大后的图会偏离原构图如果设置过低如 0.2放大后画面又会出现涂抹感。我常用的区间是 0.4~0.55。一个常见问题是开了 Hires.fix 之后生成速度大幅度下降。如果显卡不太给力建议先低分辨率出多张挑一张构图好的再单独开放大重跑。这样比每次都开 Hires.fix 效率高很多。5.2 批量测试用固定种子做对照组当你调整参数时固定种子值特别有用。种子Seed决定了初始噪声的形态同一个种子配合不同参数可以当成一个变量只改变一个的对照实验。比如我想测试CFG 5 vs 7的差别保持提示词、步数、种子都不变只改 CFG就能直观看到两张图的差异。很多时候你觉得某次生成效果不错但说不清是哪个参数起的作用就是因为没有固定变量。用表格记录每次跑图的种子、步数、CFG、采样器、模型和最终出图效果是一个性价比极高的习惯。6. ControlNet让AI按你的构图来很多人生成的图风格好看但姿势很怪、构图很乱根本原因是指提示词对图像空间结构的控制能力非常有限。你想让角色右手叉腰站在画面左侧提示词写得再多模型也不知道你说的画面左侧是什么。这时候就需要 ControlNet——它是目前解决AI绘画可控性最有用的工具之一可以理解为给模型一定程度的约束让它参照额外的条件图比如线稿、深度图、姿态骨架来生成画面内容。6.1 ControlNet 能控制哪些维度从使用场景看我实际用过并且感觉真正有用的模块有这几个模块原理适用场景OpenPose 姿态提取人体关键点约束姿势指定人物动作、手势、双人互动Canny 边缘检测提取线稿轮廓约束构图边界保持原始构图重绘上色Depth 深度图约束物体远近层次复杂场景、透视关系Lineart / Scribble线稿或草图从手绘草稿生成成品图Reference参考图特征模仿某张图的整体风格至少在我接触过的项目里OpenPose 和 Canny 的出镜率最高深度图在场景复杂的图里非常好用Reference 则适合做风格迁移——比如先有一张你喜欢的色调氛围参考图用它来约束新生成图的整体风格。6.2 一个完整的 ControlNet 实操流程以让图片中的人物做指定动作为例我的操作步骤是在 ControlNet 面板上传一张参考图最好是人物姿态清晰的图勾选启用Enable。预处理器Preprocessor选openpose模型Model选姿态类模型。点一下预处理器右侧的爆炸图标预览生成的关键点骨架图确认关键点正确如果不正确换一张更干净的参考图。控制权重Control Weight从 0.5~1.0 之间开始默认 0.7 比较稳。太高会让人物僵硬太低则姿势约束不住。与提示词一起生成观察输出结果。如果姿势基本对但手部不自然保留骨架增加手部相关负面词再跑。这里有一个很多人漏掉的点OpenPose 预览的骨架图只包含骨骼关键点不包含像素内容。如果你上传的参考图本身姿势很乱、手部重叠预览的骨架也会乱生成结果必然受影响。所以找一张干净、肢体清晰的参考图比调任何参数都重要。6.3 Canny 边缘检测适合重绘与线稿上色如果你已经有一张自己画的线稿、简笔草图想让AI把它变成一幅完整的插画Canny 是最好的入口。具体是先把线稿经过 Canny 预处理器提取边缘然后以它为约束条件让模型在边缘轮廓内填充光影和色彩。需要注意Canny 对边缘强弱特别敏感如果原始线稿太淡预处理器可能提取不到有效边缘生成的图就会跑偏。解决办法是先用图像处理工具加深线稿的对比度再做边缘检测。控制权重在使用 Canny 时通常可以适当调高到 0.8 左右因为边缘约束越强越不容易在原构图基础上跑飞。但如果权重太高你后续想调整色彩和风格时也会被严密封死所以要看你到底是希望完全遵循线稿还是只借鉴构图。7. 局部重绘与图生图从0到1到0.1的微调生成整图并不是所有工作的终点。很多时候主体和整体构图满意了唯独手部畸形、脸上有瑕疵、背景出现奇怪的文字或异物。这时候如果重新生成整张图很容易连构图一起变。正确的处理方式是使用Local Repaint局部重绘或者说 Inpaint。它的工作原理是把你想修改的区域用蒙版涂上让模型只重绘蒙版范围内的内容其余部分保持不变。7.1 局部重绘的实操细节在 WebUI 里切换到局部重绘页签上传原始图用画笔蒙版把需要修复的区域涂满。关键参数蒙版模式选择仅重绘蒙版区域还是重绘蒙版区域加周围一般选前者范围更可控。蒙版边缘模糊度Mask Blur建议 4~8太小会让边缘看起来很硬太大则会把边缘附近内容改掉。重绘幅度Denoising Strength这是最重要的参数。如果只是想微调细节0.3~0.4 足够如果整块内容完全不符合预期可以调到 0.6 以上但这时旁边的构图也可能会受影响。填充模式Inpaint Area选整个图片可以保持全图风格统一选仅蒙版区域速度快但容易出现色彩断层。我实际使用中最大的心得是局部重绘的时候提示词要尽量写成我要蒙版区域里有什么而不是把整张图的提示词原样丢进去。比如修复手部提示词就写 detailed hand, five fingers, natural pose负面词保留手部相关的负面词。这样模型会集中精力把蒙版区域修好而不是继续揣测整张图的风格。7.2 图生图的适中重绘幅度图生图img2img和局部重绘的区别在于图生图是对整张图做不同程度的重绘。它的应用场景比如给一张初稿加细节、改变整体风格。重绘幅度在 0.5~0.7 之间比较适合风格迁移和细节增强超过 0.75 基本就是完全重画一张图了。如果你拿着图生图想改某一小块效果会很差——因为整张图的材质、边缘、光影都会跟着变。所以能用局部重绘解决的事不要用整图重绘。8. 风格一致性LoRA、Embedding与预设模板当你需要出一套多张比如某系列海报、角色设定图集时最大的痛点是每张图风格不一致明明是同一个角色看起来却像两个人。想解决这个需要用一些能被固定下来的工具。8.1 LoRA 用于锁定角色或风格LoRA 是一个体积较小的微调包可以针对某个角色、某种风格、某种材质的细节进行训练或使用现成文件。当你说这个角色的LoRA时本质上是把该角色的一系列特征发型、服装、五官比例注入到生成结果中。使用前需要确保所选底模支持该LoRA否则效果可能很怪。我的建议是每个LoRA的权重从 0.6 开始测试不要一开始就 1.0。很多人直接把权重拉满结果脸部僵硬、结构崩坏。多个LoRA同时使用时权重相互之间会叠加建议总数不超过 1.2~1.3例如 0.70.5。用 LoRA 锁风格时提示词里的风格描述词可以精简让 LoRA 去承担更多的风格表达。8.2 Embedding 与预设模板Embedding 是一些经过文本编码调整的特殊词语相当于给模型预设一种对某个词的理解方式。比如有的负面词 Embedding 能有效降低手部畸形率这类文件放到 embeddings 文件夹后在负面提示词里调用即可。Embedding 与 LoRA 的区别在于它不直接修改模型的权重文件而是让模型对特定文本产生更好响应。为了多图风格统一我还会在提示词里额外建一个固定风格头。例如要在四个角色之间保持同一色调氛围我就把相同的色彩风格描述复制到每张图的风格段例如 soft morning light, muted pastel palette, film grain, subtle halation。这些词虽然简单但比每张图都重新临场发挥要稳定得多。9. 实操案例从一句需求到一张成品图把前面的内容串起来我用一个实际场景完整演示一遍某天我接到一个需求要生成一张雨夜街道上的女特工氛围图要求竖构图、人物占画面左侧、右手举着一把伞、背景有模糊的霓虹招牌。9.1 第一步组织提示词按照四段式框架我写下Positive: one young female spy, black tactical coat, holding a transparent umbrella, standing on rainy street, left side of frame, looking back at camera, night city, neon signs glowing green and pink, rain drops on lens, cinematic lighting, teal and orange color grade, film grain, high detail, sharp focus Negative: lowres, bad anatomy, bad hands, missing fingers, extra digits, blurry, watermark, double exposure, overexposed这套提示词里我把人物在画面左侧写进场景段——虽然模型对空间词的理解有限但配合 ControlNet就能真正控制住构图。9.2 第二步选模型并设置参数底模我选常用的写实底模采样器 DPM 2M Karras步数 26CFG 6。尺寸先用 512×768。种子这次不重要因为我会先随机跑几张找到一张构图满意的再记录种子值。首轮跑图后有一张构图不错但问题很明显人物左手多了一根手指雨伞边缘的透明材质没体现出来背景霓虹灯的颜色过素。这些问题全部留给后续修复不重roll。9.3 第三步用 ControlNet 强化构图我找了一张参考图——一个侧面持伞的人物。在 ControlNet 里选 OpenPose提取姿态后控制权重设 0.65再次生成。这次构图立刻稳了人物左侧站位、持伞的姿势基本都对。但新问题是人物的脸朝向和参考图不一样参考图的侧脸变成了我用于构图而提示词要求looking back at camera两者产生了矛盾。ControlNet 擅长约束肢体但对表情朝向这种微语义并不敏感。这时候我把 OpenPose 参考图的头部比例稍微调正了一些并用局部重绘单独修脸部朝向。9.4 第四步局部重绘修复手部和雨伞我切到局部重绘把左手区域涂上蒙版提示词改写成 detailed left hand, five fingers, holding transparent umbrella handle, Denoising Strength 0.4重开负面手部词。跑了两张手的问题解决。接着雨伞的透明质感不明显我同样用局部重绘蒙版涂雨伞区域提示词用 transparent umbrella with water drops, glossy surface, rain droplets on plastic film。这一步的关键是不能重绘幅度太高否则雨伞形状都会变。0.35 左右的幅度刚好能补细节又不改变外形。9.5 第五步Hires.fix 高清输出构图和细节都满意后开 Hires.fix放大倍数设定 1.5 或 2 倍Upscaler 选 ESRGAN_4xHires steps 15Denoising strength 0.45重新跑一次输出最终大图。到这里一张从需求到成品图的基本路径就走通了。整个流程大约耗时半小时左右其中大半时间其实花在选参考图和局部重绘上真正生成的时间反而不多。10. 我在实践中踩过的几个坑最后分享几个我在实际操作里反复掉进去、后来才想明白的坑。这些内容官方文档和大多数教程里通常不会写。10.1 换了模型之后所有参数都要重新校准很多人包括我自己早期会犯一个错误在一个模型下调好的参数组合直接套到另一个模型上。结果是写实模型出图很好抽象风格模型出图全崩。原因是不同模型的训练分布、噪声调度都有自己的习惯。换模型之后先用原始参数出一张测试图再根据结果微调 CFG 和步数这是最快的校准方式不要直接从旧模型的经验跳到新模型。10.2 ControlNet 权重并不是越高越好控制权重是一个约束强度参数但约束越强模型的自由发挥空间就越小。很多人以为把权重调到 1.0 可以完全复现参考图姿态结果身体僵硬、衣服纹理怪异、姿势像假人。实际上0.6~0.8 之间通常已经能很好地稳定姿势同时保留衣物的自然动态。还有如果你发现先用高权重生成之后再去局部重绘改肢体动作效果往往不如低权重一次生成来得好——因为局部重绘很难彻底改变硬性结构。10.3 局部重绘的蒙版边缘不能太硬我第一次用局部重绘时把蒙版边缘清晰度拉满结果修复区域和原图边缘像打了补丁完全能看出修改痕迹。后来才明白蒙版需要给模型留下一定的过渡空间Mask Blur 设成 6 或 8 左右边缘部分会被自然过渡掉生成的图看起来才是一体的。同理如果你只涂了一点点区域但希望修复结果自然边缘模糊值不要设太大否则模型连旁边的正常区域都会一起动。10.4 别迷信种子值能100%复现固定种子可以保持初始噪声一致但如果你换了底模、改了大版本或者开着 ControlNet 但参考图变了那么种子值带来的稳定性会大幅下降。它是一个强有力的调试工具但不是一键复现当年那张神图的保证。我自己在多次项目里的做法是把每个项目单独建一个目录目录下放一个 markdown 记录文件记录每一版的提示词、模型名、采样器、步数、CFG、尺寸、种子、是否开 ControlNet 以及出图缩略图。这个习惯帮我避免了很多调了半天忘了之前怎么调的问题。尤其是当你做完一个项目隔两周再回来看一份详细配置记录比任何记忆都可靠。11. 一个可复制的最终工作流清单如果你不想每次从零摸索下面是我目前固定下来、最常用的一套流程清单。它不一定适合所有场景但覆盖了大部分想要一张符合预期的图的需求。明确画面需求写清楚主体、场景、风格、构图3分钟内。选择底模按用途匹配固定主用模型减少来回切换。组织四段式提示词主体→场景→风格→画质。设置基础参数采样器 DPM 2M Karras步数 26CFG 6尺寸 512×768 测试构图。首轮出图随机种子跑 4~6 张选构图满意的。固定种子记录种子作为后续调试基准。ControlNet 介入如果构图或姿势不稳定用 OpenPose / Canny 强化结构。局部精修手部、脸部、背景异物等局部问题用局部重绘解决。高分辨率放大Hires.fix 后出最终大图。记录配置把所有参数和出图结果存到项目目录。这套流程最大的价值不是某个参数多精确而是给每次生成提供了明确的阶段——先解决构图再解决细节最后解决分辨率。每张图哪个环节出的问题可以定位到阶段去修而不用推倒重来。12. 关于效率与硬件的一点个人建议文章最后聊点可能没人细讲的现实问题效率。AI绘画虽然叫生成但如果你想产出高质量作品它的工作模式更接近迭代修图先出草稿再局部精修再高清放大。这决定了你的显卡性能直接决定体验。如果显存不够建议先不要直接跑大于 768×1024 的图用中低分辨率出图后期放大会顺畅很多。这里也顺带说明本篇文章通篇讨论的都是本地部署的开源绘画工具不涉及任何需要特殊网络环境的服务。如果你使用在线平台参数虽然叫法不同但思路完全一致。此外显卡在长时间高负载运行时需要关注散热跑高强度批量出图时我会用监控工具盯着温度接近 80 度时主动暂停几分钟。看起来是小事但它直接影响硬件的长期稳定性。如果你是从零接触 AI 绘画不要急于把每个工具都试一遍。先用我这套流程完成五张图其中一定会碰到姿势崩坏、手部畸形、边缘模糊等各种问题。遇到一个解决一个比你刷一百篇教程都有用。等你亲手从提示词一路走到高清成品图你才能真正理解AI绘画创作里的可控制与不可控边界在哪。而理解边界正是把AI从玩具变成工具的第一步。
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →