首页 > 教程攻略 > ai资讯 >Stable_Diffusion提示词加ControlNet的写法

Stable_Diffusion提示词加ControlNet的写法

来源:互联网 时间:2026-06-10 08:05:11

先说一个很容易踩的坑:很多人以为给ControlNet塞张图,写个“a girl”就能跑出好结果——实际出来的要么边缘糊成一片,要么肢体扭成麻花。关键就在提示词和ControlNet的控制类型没对上话。举个例子,Canny图本身只提供边缘信息,如果提示词里少了“sharp outline”或“defined contour”,模型根本不知道要尊重那条边缘,直接按自己的默认逻辑去画,结果可想而知。

道理不复杂:ControlNet是骨架,提示词是血肉,两者必须咬合。具体怎么咬?三个步骤。

基础结构:提示词与ControlNet类型强绑定

第一步:正向提示词的开头,必须明确写出ControlNet依赖的那个视觉特征。比如用Canny时,开头加“line art, sharp edges, high-contrast contour”;用Depth时,开头加“clear depth layers, foreground-midground-background separation”。这是给模型打预防针:注意,这张图的几何结构是核心。

第二步:紧接着描述主体,但千万避免和ControlNet的职能冲突。比如你用Scribble控制姿态,Scribble画的只是简略骨架,结果提示词里非要写“photorealistic, skin texture details”——模型就懵了:既要服从涂鸦骨架,又要渲染真实皮肤细节,到底听谁的?最后关节歪了、手部崩了,都属于正常现象。

第三步:负向提示词里必须塞进与ControlNet目标相反的干扰项。启用Pose控制时,负向词里加“dislocated limbs, twisted spine, extra arms”,等于给ControlNet的骨骼约束加上一条隐形锁链,模型想随便乱歪都难。

不同ControlNet类型的提示词适配方法

方法一:Canny/Lineart控制 → 提示词里嵌入“ink drawing”、“etching style”、“clean vector line”这类强调线条的词汇。注意,这不只是风格修饰——它们在告诉模型:“当前图像的几何结构由线决定,别自作主张补阴影或渐变”。

【漏掉这类词,ControlNet权重再高,线条区域也会被SD默认渲染逻辑覆盖】

方法二:Depth控制 → 主体描述前插入“layered depth map”、“volumetric space”、“objects at distinct Z-depths”。千万别写“foggy”或“bokeh”,那会混淆深度感知逻辑——模型一边想按Depth图区分远近,一边又收到“模糊”指令,直接自相矛盾,深度图等于白给。

方法三:OpenPose控制 → 主体提示词必须包含明确的姿态动词。写“woman raising left arm”比“woman in red dress”有效十倍;如果需要侧脸,直接写“profile view, head tilted 30 degrees left”,模型会把Pose关键点的位置和文字角度自动映射起来。没有动词或角度描述,OpenPose那17个关节点就只是装饰,模型根本不参考。

权重协同技巧:提示词强度与ControlNet参数联动

当ControlNet的weight设到1.2以上时,正向提示词里跟控制类型重复的关键词反而要删减。比如Canny weight=1.4,就别连续堆“sharp edge, crisp outline, defined contour, clean line”这种词,否则模型过拟合边缘,画面像刻版画一样死板,纹理层次全没了。

反过来,如果ControlNet weight调到0.6以下,提示词里的对应特征词就要加倍强调,并且加具体参照:“sharp edge like technical blueprint”、“contour as precise as architectural elevation drawing”。不然ControlNet贡献微弱,SD主模型完全接管构图,控制就等于失效了。

实际操作很简单:在WebUI的ControlNet面板拖动weight滑块,同时观察提示词输入框里对应词汇的增删变化,多试几次就能找到那个让骨架和血肉完美贴合的甜点。