标题提到的AI绘画在本文写作时还处于早期阶段(Stable Diffusion等工具尚未公开发布),本文基于当时可用的AI绘画工具(如DALL-E 2预览版、Disco Diffusion、Midjourney早期版本等)的使用经验,分享AI绘画提示词的编写和迁移技巧。

最近AI绘画很火,各种工具层出不穷。我试用了好几个工具,发现每个工具的提示词(Prompt)风格都不一样。同样的提示词,在A工具里生成的图很好看,在B工具里就完全不行。

我花了不少时间研究不同工具的提示词差异,以及如何把一个工具的提示词迁移到另一个工具。今天把我的经验分享出来,包括提示词的结构、不同系统的差异、迁移方法、常见问题等。

一、AI绘画的现状

先说说2022年5月这个时间点,AI绘画的现状。

1. 主要的AI绘画工具

目前主要的AI绘画工具有:

  • DALL-E 2:OpenAI的产品,2022年4月发布预览版,还在邀请测试阶段,生成质量很高
  • Midjourney:通过Discord使用,2022年3月开放beta,风格偏艺术化
  • Disco Diffusion:开源项目,基于CLIP+Diffusion,本地运行,自由度高但速度慢
  • Stable Diffusion:尚未公开发布(预计2022年下半年),但已经有不少爆料
  • 其他:还有很多小工具,比如Craiyon(原DALL-E mini)、NightCafe等

2. 提示词的重要性

AI绘画的核心是提示词。同样的模型,不同的提示词,生成的结果天差地别。

写好提示词,是用好AI绘画的关键。但提示词没有统一的标准,每个工具都有自己的偏好。这就导致了迁移的困难。

3. 为什么需要迁移

为什么需要把提示词从一个工具迁移到另一个工具?

  • 新工具发布了,想试试效果
  • 某个工具的额度用完了,换一个工具
  • 不同工具擅长的风格不同,需要切换
  • 想对比不同工具的效果

二、提示词的基本结构

在说迁移之前,先说说提示词的基本结构。

虽然每个工具的提示词风格不同,但基本结构是类似的。一个好的提示词,通常包含以下几个部分:

1. 主体(Subject)

画面的主体是什么?比如"一个女孩""一座城市""一只猫"。

主体是提示词的核心,决定了画面的内容。

2. 细节(Details)

主体的细节描述。比如"穿着红色裙子的女孩""未来感的城市""毛茸茸的橘猫"。

细节越丰富,生成的画面越具体。

3. 风格(Style)

画面的艺术风格。比如"油画风格""水彩画""赛博朋克""吉卜力风格"。

风格决定了画面的整体感觉。

4. 构图(Composition)

画面的构图方式。比如"特写""全景""俯视""对称构图"。

构图决定了画面的布局。

5. 光影(Lighting)

画面的光影效果。比如"黄金时刻""柔和的光线""霓虹灯光""逆光"。

光影对画面的氛围影响很大。

6. 质量修饰词(Quality Modifiers)

提升画面质量的修饰词。比如"高清""8K""细节丰富""杰作""获奖作品"。

这些词能提升画面的质量和细节。

7. 负面提示词(Negative Prompt)

不想要的内容。比如"模糊""低质量""多余的手指""变形"。

不是所有工具都支持负面提示词,但支持的话,能有效避免不好的结果。

三、不同工具的提示词差异

这是重点。不同工具的提示词,有什么差异?

1. DALL-E 2

DALL-E 2的提示词,偏向自然语言描述。它能理解比较复杂的句子,对语义的理解比较好。

特点:

  • 喜欢完整的句子描述,而不是关键词堆砌
  • 对"风格+主体+场景"的结构理解好
  • 支持"以...风格""像...的作品"这样的描述
  • 对艺术家名字的理解比较好
  • 不太需要太多质量修饰词

示例:

A girl in a red dress standing in a futuristic city at sunset, digital art style, highly detailed

2. Midjourney

Midjourney的提示词,偏向关键词和短语。它对关键词的权重比较敏感,喜欢用逗号分隔的关键词。

特点:

  • 喜欢关键词堆砌,用逗号分隔
  • 对艺术家名字、风格词、质量词很敏感
  • 支持参数(--ar、--v、--q等)
  • 风格偏艺术化,适合生成艺术感强的图
  • 提示词长度有限制,太长会被截断

示例:

girl in red dress, futuristic city, sunset, digital art, highly detailed, 8k, --ar 16:9 --v 3

3. Disco Diffusion

Disco Diffusion的提示词,最自由,也最复杂。它支持很多高级参数,对提示词的格式要求比较特殊。

特点:

  • 支持多段提示词,用|分隔
  • 支持权重设置(用括号和数字)
  • 支持艺术家名字、风格词、质量词
  • 参数很多(steps、cfg_scale、sampler等)
  • 生成速度慢,但自由度高

示例:

a girl in a red dress standing in a futuristic city at sunset:2, digital art, trending on artstation, highly detailed:1.5 | greg rutkowski, alphonse mucha:1.2

4. Craiyon(DALL-E mini)

Craiyon是免费的小模型,提示词越简单越好。

特点:

  • 提示词要简单,太复杂理解不了
  • 不支持太多修饰词
  • 生成质量一般,但免费、快
  • 适合快速尝试想法

示例:

a cat playing piano

四、提示词迁移的方法

重点来了。如何把一个工具的提示词,迁移到另一个工具?

方法一:拆解重构法

这是最基本的方法。把原提示词拆解成各个要素(主体、细节、风格、构图、光影、质量词),然后按照目标工具的偏好,重新组织成新的提示词。

步骤:

  1. 分析原提示词,提取各个要素
  2. 去掉目标工具不支持的部分(比如参数、特殊语法)
  3. 按照目标工具的偏好,重新组织要素
  4. 加上目标工具特有的参数或修饰词

示例:把DALL-E 2的提示词迁移到Midjourney

原提示词(DALL-E 2):

A girl in a red dress standing in a futuristic city at sunset, digital art style, highly detailed

拆解:

  • 主体:girl
  • 细节:in a red dress, standing in a futuristic city
  • 光影:at sunset
  • 风格:digital art style
  • 质量:highly detailed

重构为Midjourney风格:

girl in red dress, futuristic city, sunset, digital art, highly detailed, 8k, masterpiece, --ar 16:9 --v 3

方法二:关键词提取法

如果原提示词是自然语言(比如DALL-E 2的),可以提取关键词,然后用关键词堆砌的方式,适配Midjourney或Disco Diffusion。

步骤:

  1. 从原提示词中提取名词、形容词、风格词
  2. 去掉虚词和连接词
  3. 按重要性排序,重要的放前面
  4. 用逗号分隔

示例:把DALL-E 2的提示词迁移到Disco Diffusion

原提示词:

A serene Japanese garden with a koi pond, cherry blossoms falling, watercolor painting style, soft morning light

提取关键词:

Japanese garden, koi pond, cherry blossoms falling, watercolor painting, soft morning light, serene, beautiful, trending on artstation

方法三:风格适配法

不同工具对风格词的理解不一样。迁移的时候,需要调整风格词。

比如:

  • DALL-E 2理解"in the style of Monet"
  • Midjourney理解"Monet style"或直接"Monet"
  • Disco Diffusion理解"Monet:1.2"(带权重)

迁移的时候,把风格词改成目标工具习惯的格式。

方法四:参数转换法

不同工具的参数不一样。迁移的时候,需要把原工具的参数转换成目标工具的参数。

比如:

  • Midjourney的--ar 16:9 → Disco Diffusion的width:1280, height:720
  • Midjourney的--v 3 → 不需要转换(模型不同)
  • Disco Diffusion的steps:250 → 其他工具没有对应的参数

参数转换的时候,要注意目标工具支持哪些参数,不支持的就去掉。

五、迁移的常见问题

说说迁移中常见的问题和解决方法。

问题一:生成的图完全不一样

现象:同样的提示词,迁移后生成的图完全不一样。

原因:不同模型的训练数据和架构不一样,对同样提示词的理解也不一样。

解决方法:

  1. 不要期望完全一样,AI绘画本身就有随机性
  2. 调整提示词,多试几次
  3. 用目标工具的风格词和质量词,而不是原工具的
  4. 接受差异,有时候迁移后的结果可能更好

问题二:风格不对

现象:原提示词是油画风格,迁移后变成了照片风格。

原因:目标工具对风格词的理解不一样,或者风格词的权重不够。

解决方法:

  1. 加强风格词的权重(Disco Diffusion用:1.5,Midjourney把风格词放前面)
  2. 用多个风格词描述,比如"oil painting, impasto, brush strokes"
  3. 加上艺术家名字,比如"in the style of Van Gogh"
  4. 多试几个风格词,找到目标工具理解好的

问题三:细节丢失

现象:原提示词里的细节,迁移后没有了。

原因:目标工具的提示词长度有限制,或者对细节词不敏感。

解决方法:

  1. 把重要的细节放前面
  2. 去掉不重要的修饰词,保留核心细节
  3. 用更具体的词,而不是模糊的描述
  4. 分多次生成,每次聚焦一个细节

问题四:质量下降

现象:迁移后的图质量明显下降。

原因:目标工具的模型本身质量不同,或者缺少质量修饰词。

解决方法:

  1. 加上目标工具常用的质量词(8k, masterpiece, highly detailed, trending on artstation等)
  2. 调整参数(steps、cfg_scale等)
  3. 用更高的分辨率
  4. 接受不同工具的质量差异

六、我的提示词模板

分享几个我常用的提示词模板,可以根据不同工具调整。

通用模板:

[主体], [细节], [场景], [光影], [风格], [质量词]

DALL-E 2模板:

A [主体] [细节] in [场景], [光影], in the style of [艺术家/风格], [质量描述]

Midjourney模板:

[主体], [细节], [场景], [光影], [风格], [艺术家], [质量词], --ar [比例] --v 3

Disco Diffusion模板:

[主体]:[权重], [细节]:[权重], [场景]:[权重], [风格]:[权重], [艺术家]:[权重], [质量词]:[权重]

七、写好提示词的技巧

最后,分享几个写好提示词的技巧。

1. 具体,不要模糊

"一个漂亮的女孩"不如"一个穿着红色连衣裙、留着长发的女孩"。越具体,生成的结果越符合预期。

2. 用艺术家名字

加上艺术家名字,能快速定位风格。比如"in the style of Studio Ghibli""Greg Rutkowski""Alphonse Mucha"。

但要注意,不同工具对艺术家名字的理解不一样。

3. 用质量词

"8k""masterpiece""highly detailed""trending on artstation"这些词,能提升画面质量。

但不要加太多,否则可能适得其反。

4. 多试几次

AI绘画有随机性,同样的提示词,每次生成的结果都不一样。多试几次,总能找到满意的。

5. 迭代优化

第一次生成的结果可能不满意。根据结果调整提示词,再生成,再调整。几次迭代后,就能得到满意的结果。

6. 参考别人的提示词

网上有很多分享提示词的社区(比如Reddit的r/StableDiffusion、Midjourney的社区)。参考别人的提示词,能快速提升自己的水平。

八、写在最后

AI绘画是一个快速发展的领域。新工具不断出现,提示词的技巧也在不断更新。

本文分享了我在AI绘画提示词迁移方面的经验,包括提示词的结构、不同工具的差异、迁移方法、常见问题等。希望能帮到正在探索AI绘画的你。

需要说明的是,本文基于2022年5月的技术现状。随着Stable Diffusion等新工具的发布,AI绘画的格局可能会发生很大变化。提示词的技巧也需要不断更新。

2022年了,AI绘画已经从实验室走向了大众。虽然还有很多不足,但它的潜力是巨大的。作为创作者,我们应该拥抱新技术,用它来提升我们的创造力。

最后,用一句话总结:"提示词是AI绘画的灵魂。写好提示词,就能驾驭AI,创造出惊艳的作品。"

愿大家都能写出好的提示词,生成满意的作品。