从前面的代码解读了解到,Stable Diffusion最主要的两大核心要素就是模型和提示词。由于提示词影响很大,因此有时被称为“咒语”。现在已经出现提示词工程师的职位,薪资还不低。提示词虽然看起来很灵活,但也有一定的规律可以遵循。
首先要了解提示词有正面提示词和负面提示词,正面提示词的价值不用多说。负面提示词强调我们不希望出现的内容。其中有个很著名的负面提示词nsfw,原文是not safe for work(在工作场合是不安全的)。如果不注意避免这个问题,在上班的时候用Stable Diffusion顺心所欲的进行创作,很可能是要被人事部门请去喝咖啡,甚至喜提出门卷一张。
其次要了解提示词除了的基本语法之外还有权重的概念。
-
默认情况下越靠前的提示词权重越高,
-
但可以通过 (提示词:权重数值) 手动设置权重,比如:(1cat:1.2),(1dog:0.8)。
-
我们还会看到通过 () {} [] 设置权重:
{提示词} 等价于 (提示词:1.05)
(提示词) 等价于 (提示词:1.1)
[提示词] 等价于 (提示词:0.952) 即 1/1.05
且 () {} [] 语法可嵌套使用,比如 (((提示词))) 就等价于 (提示词:1.331)。
一般情况下建议使用 (提示词:权重数值) 语法,可读性、可控性更高。
注意一般情况下权重不建议超过 1.5,不然会对画面造成巨大影响。
除了基础提示语外,类似于 Lora 模型也是需要使用提示语来饮用的,语法: <lora:模型⽂件名:权重>。
比如如果要使用下载的Lora模型SDXL_Detail_V1.0,提示词是这样的 <lora:SDXL_Detail_V1.0>。但是通常是可以通过选择,由工具自动填入提示词中的。
通常,提示词的数量应该在合理的范围内,以确保生成文本的质量和可控性。建议使用提示词个数不超过77个。超出这个限制后,额外的提示词的作用会变得相对较小,可能会对生成文本的结果产生较小的影响。
提示词的写法网上也已经有很多分享,这里就不一一详细列举。特别是现在有很多模型生成作品分享的时候,同时会分享提示词,大家可以通过学习并适当修改,就可以生成自己期望的提示词。