上周群里一个刚装好 WebUI 的新人发来一张崩掉的图,问我:词全照你发的抄,怎么出来的东西完全不对?我把他的输入框调出来一看,问题就藏在权重、词序和模型这三处。sd提示词不是咒语,抄是抄不来的,它管的是模型注意力的分配——哪个词该多看几眼,哪个词先被看见,以及你手上这个模型到底认不认这套语法。
这三个变量分开调,出图立刻从碰运气变成能排查的事。下面按新人最容易翻车的顺序讲。
权重括号:调的是音量,不是许愿
权重语法核心就一条:括号和数字都在调某个词的音量,一次调 0.1,单个数值别超 1.4。超了画面容易整体崩,人脸和手最先遭殃。
写法有两套。老 WebUI 里 (word) 等于 1.1 倍,((word)) 是 1.21 倍——套两层看着直观,层数一多你自己都算不清。我习惯直接写显式数值,(silver hair:1.2) 这种,当前强度一眼可见。减权用 0.8 到 0.9,比删词温和,模型还留一点痕迹。
常用区间就 0.9 到 1.3。我带新人做过一个对照:同一个词给 1.2、1.3、1.5 三档,各跑四张。1.5 那组四张里三张眼睛画歪,还有一张手指多出一根;1.2 和 1.3 差别反而小,只是发色更干净。所以别一上来把词全拉满——质量词全部 1.4 的那种词表,是新人词表崩坏的头号原因。
还有个细节,低权重别当减法用。(word:0.5) 不是「减一半」,是让模型少看这个词,有时干脆出怪东西。想去掉元素,删词比压权重靠谱。
词序:前二十个词就是画面骨架
SD 读词有衰减,排在前面的词分到的注意力最多,主体放最前、动作场景居中、风格质量词垫底。顺序一换,同一串词能出两张不同的画。
很多人以为逗号串里的词是平权的。不是。1.5 系模型对词序相当敏感,girl 排第一还是排第十,构图重心完全两样。我给新人排过一次:1girl 放头位,standing under cherry tree 居中,watercolor、soft lighting 这类风格词垫后。就动了顺序,一个词没加没减,出图从「人缩在角落」变成人物居中半身。
提醒一句,别写成完整英文句子。1.5 系吃的是逗号切开的 tag,整句丢进去它会自己脑补,经常补歪。这个规律到 Flux 那边正好反过来,后面细说。
对了,顺序只是因素之一,上下文和模型版本也在捣乱。想接着挖的,有一篇讲影响提示词效果的因素的文章,把顺序和模型各自占多少份讲得比我细。
换了模型,同一串词为什么不灵了?
1.5 系吃标签堆词,SDXL 两边都能吃,Pony 认 score 前缀,Flux 只认自然语言,括号权重基本无效。换模型不换写法,等于换了家店还拿旧菜单点菜。
| 模型 | 吃的写法 | 括号权重 | 我的建议 |
|---|---|---|---|
| 1.5 系二次元 | tag 短语,逗号切 | 认,很好使 | 词序排好,微调权重 |
| SDXL | tag 和短句都行 | 认 | 句子可以稍长,别太长 |
| Pony | 开头要 score_9 这类前缀 | 认 | 前缀别漏,漏了风格跑偏 |
| Flux | 自然语言整句 | 基本不认 | 把 tag 翻译回完整句子 |
我自己摔过跟头。年初接一单赛博城市概念的商图,换了 Flux,习惯性把 (cyberpunk city:1.3) 直接贴进去,画面跟没加权一模一样,路人对路。折腾了半个多小时才反应过来:Flux 的文本编码器不按那套括号语法走,我写的 1.3 它当普通字符看。后来老老实实改写成一句话——a cyberpunk city at night, neon signs glowing, rain on the street——一次过。
Pony 的 score_9、score_8_up 那串开头也不是玄学,它训练时就这么喂的。少了这个开头,模型按普通二次元模型的路子走,成片质量会掉一截。
新人第一周,我只让做三个练习
同词不同权重、同词换顺序、同词换模型,各出四张摆一起看。十二张图看完,比背一百条词表记得牢。
带人的时候我从不让对方先抄词表。实习生小周刚来那阵,把一段中文机翻成英文整句,再给每个词套上双括号,跑出来的图脸糊成一团,她还以为是显卡问题。我把她的词拆开:整句改回 tag,权重全退回 1.0,只留两个词给 1.2,重跑第二轮就能看了。她那句「原来不是词越多越好」,我印象挺深。
三个练习每个十分钟。512×768 的图在我这张 4060 上跑 28 步大概八秒,十二张连出带整理,一晚上完全够用。练完你会发现:改权重是调音量,排词序是排剧本,换模型是换演员。三件事分开判断,翻车了也知道该回头查哪一层。
回到开头那张崩掉的图。新人后来自己查出了原因——词没抄错,是对方用的模型跟他不一样。这套东西理解了权重、词序、模型三层,抄谁的词都能改成自己的;不理解,抄来的也只是别人的抽卡记录。
常见问题
sd提示词可以直接写中文吗?
1.5 系和 SDXL 对中文支持很差,建议写英文 tag。实在想用中文,装个翻译扩展让它先转英文再进模型,或者挑对中文相对友好的模型。
提示词越长是不是效果越好?
不是。超过一定长度后,新词分到的注意力已经很薄,堆几十个质量词不如把前二十个词摆对位置。我平时正向区就写二三十个词。
负面提示词里也能用权重吗?
语法一样能用,但我很克制,只有个别顽固元素会拉到 1.2 左右。负面区大面积调权重,容易把正常内容一起误伤。
同样的词为什么别人出图跟我差很多?
先查三样:模型和版本、种子数、采样器加步数。词只是变量之一,这三样不对齐,词一模一样也对不上同一张图。