Stable Diffusion 的提示词怎么写?

作者 更新于 2 分钟阅读

Stable Diffusion 的提示词是一段引导图像的文字描述:先写清楚主体,再写风格、光线、构图和几个画质词,用逗号分隔。简短、具体、按重要程度从高到低排列,这样得到的图像才可预测,也才能逐词调整。

有效的结构

  1. 主体:谁或什么,在做什么,在哪里。a red fox sitting on a mossy rock in a pine forest
  2. 风格或媒介:oil painting、35mm photograph、watercolor、3D render,或某位画家:by Ivan Shishkin。
  3. 光线与氛围:golden hour、soft diffused light、dramatic rim light、foggy。
  4. 构图与镜头:close-up、wide shot、85mm、shallow depth of field。
  5. 画质词:highly detailed、sharp focus、masterpiece。两三个就够。

提示词开头的词比结尾的词权重更大。主体永远放在最前面。

带注释的示例

portrait of an old fisherman, weathered face, wool sweater, oil painting by Rembrandt, warm candlelight, dark background, close-up, 85mm, highly detailed

前五个词确定主体。画家名决定色调和笔触(一个名字能改变多少,看看画家风格页面就知道)。光线词决定氛围,构图词决定布局,最后一组负责打磨。负面提示词:blurry, deformed hands, extra fingers, watermark, text,详见什么是负面提示词。

权重与强调

在 Automatic1111 和大多数界面中,圆括号可以提高某个词的权重:(red scarf:1.3) 表示重要 30%,(background:0.7) 表示降低。方括号则降低权重。请保持在 0.6 到 1.4 之间,超出后图像会崩坏。权重用来挽救模型总是忽略的细节,而不是给每个词都加。

常见错误

  • 完整句子和否定:「a room without windows」往往会画出窗户。不想要的东西请放进负面提示词。
  • 想法太多:一张图一个主体;在 SD 1.5 和 SDXL 中,75 个 token(约 60 个英文单词)是一个 CLIP 块的上限,之后的内容作用更弱。
  • 互相矛盾的风格:photorealistic watercolor 只会得到一团糊。
  • 一次改动所有东西:固定种子,每次只改一个词,才能弄清每个词的作用。

不同模型的差异

SD 1.5 和 SDXL 对上面这种关键词列表反应良好。Stable Diffusion 3 和 3.5 更能理解自然语句,可以安排多个主体(「a cat on the left, a dog on the right」),还能渲染引号内的短文本。无论哪种模型,本站的 69 条带参数的提示词都展示了每张图背后的全部参数,提示词生成器则能把几个词扩展成完整的提示词。

常见问题

Stable Diffusion 的提示词应该多长?

15 到 60 个英文单词。少于 10 个词时模型会随机填补空白;超过 75 个 token(SD 1.5 和 SDXL)后文本会被切成块,后半部分的影响变弱。

画家名还有用吗?

在 SD 1.5 和 SDXL 上有用,它们认识数千位画家:我们用同一种子生成的 1,731 个名字的对比展示了每个名字的效果。Stable Diffusion 3 训练时使用的画家名较少,反应也较弱。

提示词要用英文写吗?

是的。文本编码器主要用英文描述训练。中文提示词部分有效但精度下降;请翻译成英文,或使用提示词生成器。