编写 Prompt 的基础框架

指导项 详细说明
1. 明确描述主题 使用具体的名词和动词。例如:a futuristic cityscape at sunset 比单纯的 city 更具表现力。包含你想要的主要对象或场景,确保主体清晰、明确。
2. 添加细节 尽量描述细节,如环境、色彩、光线、情绪等。例如:a serene forest with golden sunlight streaming through trees in autumn。描述材质(如 metallic, wooden)以还原图像质感。
3. 使用形容词丰富描述 添加多个形容词修饰主体,使图像更符合想象。如 beautiful, intricate, dynamic, ethereal。结合情绪词,如 peaceful, mysterious, dramatic 来控制图像氛围。
4. 指定风格或艺术流派 指定特定风格,如 in the style of impressionismcyberpunk style。或使用艺术流派词汇,如 retro, minimalist, surrealist,帮助模型产生符合特定美感的图像。
5. 控制颜色和光线 描述色调和光线效果,例如 warm lighting, monochromatic, high contrast,可增加图像吸引力。指定主色调,如 blue and gold color scheme 控制整体颜色风格。
6. 提供构图或场景位置 有构图需求时提及 close-up, wide shot, bird's eye view,调整视角和布局。描述布局或位置,如 central focus on the characterbackground of snowy mountains
7. 逐步优化和微调 初始用简洁描述生成初步结果;观察图像后不断加入细节或更改措辞逐步优化。避免过于复杂或矛盾的描述,每次改进集中于一个方面。
8. 尝试指定模型理解的词汇 一些 AI 生成模型对 hyper-realistic, photorealistic, 3D render 等词敏感,会倾向生成逼真效果。反复试验找到最佳词汇组合。

基本原则

原则一:prompt 不是越长越好

很多人刚学习 prompt 时,会觉得 prompt 越长越好,但实际上这是不对的。精准表达你的意图才是最重要的,而不是堆积非常多无用的词语。

另外,长度最好保持在 75 个 token(或约 60 个字)以内。

原则二:越重要的词放在靠前的位置

很多人在写 prompt 时,会较常忽略这一点。比如说,如果你想要生成一张猫的图片,那么你应该将「猫」这个词放在靠前的位置,而不是放在靠后的位置。

原则三:善用符号

  • 使用逗号分隔:虽然 SDXL 在语意理解上已经有了很大的提升,但是在使用 prompt 时,还是建议使用逗号来分隔不同的意图。
  • 使用 () 调整权重:你可以输入 (keyword:weight) 方式来控制关键词的权重,比如 (hight building: 1.2 ) 就意味着 hight building 的权重变高,如果填写的权重数小于 1,则意味着这个词的权重会变低,生成的图与这个词更不相关。

学习Prompt的方法

其实了解完 prompt 的基本原则和模板后,你就已经可以写 prompt 并生成图片了。但是,我认为绝大数人(包括我)其实很难一次就生成你脑海中满意的图片。原因是:

  • 绝大多数人缺乏对美的认知:这是一个很大的问题,因为你不知道你想要的图片是什么样的,所以你也不知道该怎么写 prompt。
  • 绝大多数人缺乏美术相关知识:即使你知道什么是美,但是你不知道该怎么表达出来,比如如果你根本不知道世界上有一名画家叫「梵高」,那你不可能会在 prompt 里写出「梵高风格」这样的词语。

那有没有解决方案呢?

我觉得最佳的方法是「先模仿后超越」。 先去看别人怎么写,然后根据自己的需求进行修改,并且通过控制变量的方式去多尝试,比如一次只改一个词,这样你就能知道每个词对生成图片的影响。

我推荐几个不错的学习网站:

  • Civitai:大名鼎鼎的 C 站,这个应该是目前全球最大的 AI 图片社区,我在那学到了非常多东西。
  • PromptHero:这也是一个很不错的 AI 图片社区,但感觉比 Civitai 小一些。
  • Learning Prompt:虽然我当年写的教程是针对 Midjourney 的,但里面场景案例对于学习 Stable Diffusion 依然有参考意义。下面是编写 Prompt 的指导内容以表格形式呈现: