Stable Diffusion Prompt:一篇让你快速掌握Prompt语法的指南

一、前言

Stable Diffusion 是一种强大的画像生成AI,它可以根据输入的文字描述词(prompt)来绘制出想象中的画面。但是写出一个好的 prompt 并不容易,我们通常可以从提出一系列问题作为开始去整理需要的 prompt,当然这也不是一个固定的模式,你也可以在C站多参考学习各位大神使用的 prompt,尝试使用不同的 prompt 来实现自己想要的结果!本篇总结了多位大神和官方的文档资料,希望大家可以更快了解 prompt 的应用方法!

二、Prompt 语法总结

  1. 分割符号

使用逗号 , 用于分割词缀,且有一定权重排序功能,逗号前权重高,逗号后权重低。例:girl, beautiful

  1. 建议的通用范式

建议用以下归类的三大部分来准备相关提示词

前缀(画质词+画风词+镜头效果+光照效果) + 主体(人物&对象+姿势+服装+道具) + 场景(环境+细节)

  1. 更改提示词权重

使用小括号()增加模型对被括住提示词的注意 (提高权重)。

一般流程:先把要描述的画面写下生成一次,根据生成结果边试边改不满意或遗漏的描述,要强调的概念用 (xxx: 1.x ) 语法形式来提升权重,其中 xxx 是你要强调的词 1.x 代表要提升的比例,如 1.5 就是提升 150% 的权重。权重取值范围 0.4-1.6,权重太小容易被忽视,太大容易拟合图像出错。例:(beautiful:1.3) 。叠加权重:通过叠加小括号方式提高权重,每加一层相当于提高1.1倍权重,例:((((beautiful eyes)))) 。

各种权重类语法公式明细:

  1. (PromptA:权重):用于提高或降低该提示词的权重比例,注:数值大于1提高,小于1降低
  2. (PromptB):PromptB的权重为1.1=(PromptA:1.1)
  3. {PromptC}: PromptC的权重为1.05=(PromptB:1.05)
  4. ((PromptE)=(PromptE:1.1*1.1)
  5. {{PromptF}}=(PromptF:1.05*1.05)
  6. [[PromptG]]=(PromptG:0.952*0.952)
  7. 调取 LoRA & Hypernetworks 模型

使用尖括号 <> 调取LoRA或超网络模型。

按照下述形式输入:lora:filename:multiplier 或 hypernet:filename:multiplier 可调取相应模型,例:lora:cuteGirlMix4_v10:0.5 。

注:要先确保在【...\models\lora】或【...\models\hypernetworks】文件夹已保存好相关模型文件。

  1. 分布与交替渲染

使用方框号 [] 可应用较为复杂的分布与交替需求。

[A:B:step] 代表执行A效果到多少进度,然后开始执行B。例:[blue:red:0.4],渲染蓝色到40%进度渲染红色。注:step > 1 时表示该组合在前多少步时做为 A 渲染,之后作为 B 渲染。step < 1 时表示迭代步数百分比。
[A:0.5] 这样写的含义是从50%进度开始渲染A
[A::step] 渲染到多少进度的时候去除A
[A|B] A和B交替混合渲染

  1. 反向提示词

反向提示词(Negative prompt),就是我们不想出现什么的描述。例:NSFW 不适合在工作时看的内容,包括限制级,还有低画质相关和一些容易变形身体部位的描述等。

注:在C站可下载一个叫 Easynegative 的文件,它的作用是把一些常用的反向提示词整合在一起了,让我们只需输入简单的关键词就能得到较好效果。把它放到 xxx/enbeddings 文件夹,需要触发时在 negative prompt 中输入 easynegative 即可生效。

三、一些注意说明

  • AI 会按照 prompt 提示词输入的先后顺序和所分配权重来执行去噪工作;
  • AI 也会依照概率来选择性执行,如提示词之间有冲突,AI 会根据权重确定的概率来随机选择执行哪个提示词。
  • 越靠前的 Tag 权重越大;比如景色Tag在前,人物就会小,相反的人物会变大或半身。
  • 生成图片的大小会影响 Prompt 的效果,图片越大需要的 Prompt 越多,不然 Prompt 会相互污染。
  • Prompt 支持使用 emoji,且表现力较好,可通过添加 emoji 图来达到效果。如 形容喜欢表情, 可修手。
  • 连接符号,使用 +, and, |, _ 都可连接描述词,但各自细节效果有所不同。

四、从左到右的6组输入参数依次为:

  1. 用加号连接:(red hair:1.1)+(yellow hair:1.25)+(green hair:1.4)
  2. 用 and 连接:(red hair:1.1) AND (yellow hair:1.25) AND (green hair:1.4)
  3. 用逗号连接:(red hair:1.1),(yellow hair:1.25),(green hair:1.4)
  4. 用下划线连接:(red hair:1.1)(yellow hair:1.25)(green hair:1.4)
  5. 用竖线连接:(red hair:1.1)|(yellow hair:1.25)|(green hair:1.4)
  6. 什么都不加直接连接:(red hair:1.1)(yellow hair:1.25)(green hair:1.4)

五、其他

以下是一些示例:

5.1. Tag 权重

  1. girl, beautiful, (blonde:2), (long hair:1.5), (smiling face:1.3), (white skin:1.2), (blue eyes:1.1), in a field of (flowers:1.2) under the (sun:0.7)
  2. (city:1.5) at (night:1.3), (rain:1.2) on the (window:1.1), a (girl:1.1) with (short hair:1.2), (umbrella:1.2), (wearing:1.1) a (coat:1.2)

5.2. 分布与交替渲染

  1. [blue:red:0.4], (girl:0.2), [green:yellow:0.6], (boy:0.3), [black:white:0.8]
  2. [boy|girl|boy|girl|boy|girl]
  3. [sun:cloudy:0.5], [rain:snow:0.5]

5.3. 调取 LoRA & Hypernetworks 模型

  1. lora:flower_field_10k:1.1
  2. hypernet:forest_5k:1.2

5.4. 反向提示词

  1. NSFW 的反向提示词:easynegative,如:(beautiful:1.2), (easynegative)

六、参考文献

给TA打赏
共{{data.count}}人
人已打赏
站长笔记

王大神的机房PDU插板选购指南

2023-4-20 20:26:15

站长笔记

原来你因为这些信息不对等,多花了这么多钱!

2023-4-20 23:59:24

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索