跳转至

如何书写提示词

写提示词其实很简单,你想让 AI 画什么,你就写什么。

写什么

  • 自然语言

用一些简单的句子描述要让 AI 画的内容,尽量不用太复杂的语法,这对出图效果并不会有太大的提升。

这是一个简单的例子:

1 girl with blue eyes and yellow hair wearing white clothes and red skirt with black leggings

  • 单词

用一些常见的单词来描述画面,单词最好来源于数据集来源站点)(如 Danbooru),单词的风格最好也要和你想要画的图像风格相匹配。很多时候单词描述比自然语言描述效果更好,提示词更简短。

这是一个简单的例子:

1girl, blue eyes, yellow hair, white clothes, red skirt, black leggings

  • Emoji

Emoji 可以作为提示词,并且可能会获得不一样的效果。想要画烟花背景,用🎇就能解决。想画手部动作,✋或者其他的 Emoji。

  • 颜文字

颜文字仅支持西方的颜文字,如>-<:o:-/等。

负面提示词

负面提示词就是写你不想让 AI 画出来的东西,一般可以用下面的通用负面提示词。

lowres,bad anatomy,bad hands,text,error,missing fingers,extra digit,fewer digits,cropped,worst quality,low quality,normal quality,jpeg artifacts,signature,watermark,username,blurry,bad feet,

当然这个通用负面提示词并不是完全通用的,需要根据你要画的东西来增删。

描述什么

想想要画什么,外貌,衣服,表情,动作,场景,场景,镜头,主题,艺术风格,然后参考数据集标签表,将想要描写画面内容的提示词组合在一起,使用英文逗号隔开。

因为 AI 读取提示词是按顺序读取的,所以需要按照重要性进行排列,重要的排在前面,不重要的排在后面。

提示词关联性

在考虑到了顺序的大关系之后,词与词之间的距离这一更细节的构成也是十分重要的。距离较近的词的确更容易产生关联、进行叠加,而更远的则倾向于降低互相的关联性、进而互相隔离。

占位提示词

占位词可以用于进一步调整词与词的距离,从而加强切割某些不希望绑定在一起的元素,是“元素污染”情况的解决方案

Note

元素污染:如1girlflower,当这两个单词过近时,此时花就会画在女孩的头发上(这里 AI 把花当做了花发饰处理了)

词与词之间也不能毫无节制地加入占位词来降低关系。词与词之间的关联度似乎和距离有着一定程度上的反比例关系或保底关联度,因此加入过多占位词不会有额外的好处,适量添加即可 在 SD WebUI 中,每75个单词为一段,每两段描述之间几乎是弱关联或者无关联,通常使用这个特性来防止元素混乱。 而 BREAK 为 SD WebUI 的标准占位符,意思是占满75个单词的剩余所有位置。BREAK 打断的是整体的关联,BREAK后面的部分跟前面的部分不会有强关联。

提示词的联想关系

许多提示词有着逻辑上合理的“前置”关系,比如存在 sword 这个提示词的作品往往还存在 weapon 这个提示词、存在 sleeves past finger 这个提示词的作品往往还存在 sleeve past wrists 这个提示词。 这样在训练集中往往共存且有强关联的提示词,最终会让模型处理包含它的咒语时产生一层联想关系。 在出现联想关系的情况下,词与被联想的词的距离是最小的。 联想词之间极易互相强化,进而提高画面的稳定性。例如给人物稳定添加一把剑的最好做法不是仅加上 sword,而是加上 weapon, sword。同理,其他存在强联想且希望出现的元素也推荐同时在咒语内连续出现。 为了在画面内取消两个词之间的联想,最简单但不一定有效的做法是将被联想词写入负面咒语并加上较高权重。如果没有效果,那么不妨试一试在咒语内加上被联想词的对立面,比如用 aged up 对抗 flat chest 对于 child 的强联想。

Note

在 SD WebUI 中,调整提示词的方式可见提示词高级用法