自小红书上的Midjourney教程更新以来,陆续收到很多朋友的咨询,发现大部分人的问题主要集中在2点:首先是不知道调用什么样的指令和参数来解决问题,其次是不懂如何精确控制想要生成的图像。
本文结合我个人的使用经验,给大家带来Midjourney指令和常用参数的详细文字版教程【基础篇】,本期内容干货满满,在此前图文的基础上增加了许多近期刚更新的功能。
指令和提示词的区别
我们在看各种相关教程文章或者视频的时候,经常会看到指令(Command)、提示词(Prompt)和参数(Parameter)这几个词,如果不理解它们的概念在操作Midjourney的时候就很容易犯迷糊。因此在介绍具体内容前,有必要先给大家科普下它们之间的区别。
指令 Commands
指令指的是Discord的输入框中通过斜杠【/】唤起的命令,它的作用是指定Midjourney机器人需要执行的操作,常见的操作项如生成图像、展开设置项、查看个人信息、切换作图模式等。
这里大家可以理解为我们平时在使用其他工具时的各种操作按钮,只是换成了通过输入代码的方式来触发。
当然不只是Midjourney,其他搭载在Discord上的机器人Bot也是通过同样的方式来唤起操作,比如此前给大家分享过的换脸机器人InsightFaceSwap和ChatGPT机器人同样是使用指令来唤起操作,当然不同机器人Bot的Command指令也会有所区别。
提示词 Prompts
大家如果有关注AI领域应该会经常看到Prompt这个词,它的意思可以翻译成提示词、关键词等。不仅限于Midjourney,像ChatGPT等其他AI工具也都是通过prompt来和算法模型发生交互的。因为自然语言的复杂性很高,即使是同一个意思也可以有很多种方式来表达,而目前市面上的模型还无法做到像人类一样准确理解日常对话的语气、语法和上下文,这就需要我们设计好提示词来辅助机器理解我们输入的信息。
正如现实生活中人与人的互动需要一定的沟通技巧,我们可以将提示词看作人和机器的沟通技巧,能不能利用好AI工具,很大程度上都取决于提示词的质量,提示词描述的内容越精确,最后输出的内容也会越符合我们的预期。
在Midjourney中,我们是通过调用imagine指令来唤起提示词prompt的输入入口,从而与Midjourney的机器人来发生互动。在 Midjourney 的官方介绍文档里介绍了 Prompt 的输入结构,分为三部分:图片提示(Image Prompts)、文本提示(Text Prompt)和参数(Parameters)。
图片提示(Image Prompts)是通过提供图片的URL地址来进行调用,需要放置在提示词的最前面。Midjourney会分析图片中的内容信息,将其结合到生成的图像中。
图片提示属于选填内容,可以填也可以不填。需要注意的是,图片的URL地址必须是公开可访问的地址,每次最多只能放两张图的 URL。如果是直接上传到Discord上,图片格式只支持是png、gif 和 jpg。
如果你不想同服务器下的其他用户看到自己上传的照片,我们可以采用和Midjourney Bot机器人私聊的方式进行上传,但除非开启隐私模式,否则如果被推荐到官方社区,点击图片链接时依旧可以看到上传的照片。
文本提示(Text Prompt)即你对生成图像的内容描述。我们经常会在评论区看到很多人索要“关键词”、“魔法咒语”等,指的就是文本提示,目前Midjourney中的文本提示只能识别英文。
需要注意的是 Midjourney 跟平时我们使用的AI聊天工具不一样,它无法像ChatGPT直接理解对话,因此文本提示更像是提供一段完整的指令。而且 Midjourney 有违禁词的限制,像苹果输入法中🍑桃子等emoji 就没法输入,因此可能会有部分歧义。
还有就是参数(Parameters),参数也是提示词的一部分,作为后缀放在Prompt的最后。它的作用是用来调整图片各种细节属性,比如尺寸、画面精细度、使用算法模型等。你可能会奇怪,既然通过提示词可以控制图像内容了,为什么要多此一举设置参数呢?
这里主要是为了解决2个问题:确保提示内容的稳定性和提高输入效率。相较于ChatGPT,在图像生成领域的Midjourney使用场景更加垂直,对图像内容的控制项更加集中,因此Midjourney官方就预设了一些固定的参数模版,通过简单的特定字符进行快速调用。比如图像的长宽比,如果每次让用户自己输入,可能输入的单词都不一样,而且Aspect Ratios本身字符也比较多,但是有了预设参数【ar】,用户只需输入【—ar】+【长宽比】即可。
通过这样的方式,既能保证算法模型输出的结果更加稳定,也能提升用户的输入效率。因此大家日后在填写关键词时候需要注意,如果你想调整的元素在预设参数里有,那就优先使用预设参数,而不是直接在文本提示中输入内容。
关于指令
下面我们正式开始Midjourney指令部分的介绍。
唤起指令的方法为输入斜杠【/】+【指令名称】,使用前记得切换到英文输入法。以下是我整理的目前Midjourney所有指令的简介和功能说明汇总表,方便大家快速查阅,下面针对每条指令项进行详细说明。
指令 | 名称 | 说明 | 使用频率 |
---|---|---|---|
imagine | 绘画 | 生成图片的唯一指令,用于开启prompt指令输入。在提示框中输入描述文本后回车,等待片刻后即可生成图片。 | 🔥🔥🔥 |
settings | 设置 | 打开设置窗口,可以修改版本模型、风格化参数、画面精细度等默认参数 | 🔥🔥🔥 |
info | 个人信息 | 显示个人信息,流量使用、画图张数、邀请码还剩几个都在这里看 | 🔥🔥🔥 |
fast / relax | 切换【快速模式】/【放松模式】 | - 放松模式:正常顺序排队,如果服务器拥挤就要等前面的图生成完成了才轮到自己。 - 快速模式:可以插队,提供最高优先级做图命令,图像生成更快,但是额度用完后会被额外收费。 |
🔥🔥🔥 |
describe | 图生文 | 通过分析图片内容反向推导出描述的文本提示 | 🔥🔥 |
blend | 图生图(多图融合) | 支持上传 2-5 张图片作为提示内容,然后融合成新的图片。融合后图片默认比例为 1:1,为获得最佳效果,建议融合前后的图片比例保持一致 | 🔥🔥 |
public | 切换至【公共模式】 | 默认处于公开模式,生成的图片会出现在会员社区,开启隐私模式后将不再对外展示,仅自己可见,可在基础设置中切换模式 | 🔥🔥 |
private / stealth | 切换至【隐私模式】 | ||
prefer remix | 切换至【混合模式】 | 可以理解成微调模式,在现有生成图像的基础上直接增减关键词进行调整,不用重新生成全新的图像,生成的图像会保留原图的部分构图特征。 | 🔥🔥 |
prefer suffix | 添加后缀 | 设置默认添加到每个提示末尾的后缀,设置后每次会自动在提示内容后面加上后缀。内容为空保存可以清空之前的后缀设置。 | 🔥🔥 |
prefer option set | 设置自定义后缀 | 创建自定义变量,之后可以将变量快速添加到提示末尾,最多可以设置 20 个自定义变量。如果要删除变量,在【value】中留空然后保存即可 | 🔥🔥 |
/prefer auto_dm | 切换消息通知 | 切换状态,选择是否直接获取消息通知 | 🔥 |
subscribe | 会员订阅 | 生成跳转到订阅页面的链接,只有本人可以使用,无法分享给他人 | 🔥 |
help | 帮助 | 显示帮助页面,包括新手引导、跳转链接等内容 | 🔥 |
invite | 邀请 | 生成邀请链接,可以发送好友试用 | 🔥 |
prefer option list | 自定义选项列表 | 列出此前设置的所有变量 | 🔥 |
show | 调用做图任务 | 该功能需要配合任务ID来使用,将目前已生成图片的任务ID输入在任意服务器或房间,生成一模一样的原图。 | 🔥 |
ask | 提问 | 发起提问,类似客服机器人 | 🔥 |
以上是所有指令的功能概览,下面针对平时使用较多的常见指令项进行详细说明。
绘图 Imagine
imagine指令是Midjourney使用最频繁的指令了,毕竟是用于生成图片。在提示框中输入描述文本后回车,等待片刻后即可生成图片。
设置 Settings
用于展开设置项,关于设置项的内容我在【入门篇】中做过介绍,这里需要注意的是最后一行的设置项,这几项既除了可以在设置中选择,也可以通过调用指令来进行修改。
个人信息 Info
该指令用于查看个人信息,比如当前排队和正在运行的作业数、账号订阅的会员类型、续订日期等信息。
图生文 Describe
describe是Midjourney近期刚更新的功能,中文翻译是【描述】,实际效果就是通过分析图片内容反向推导出描述的文本提示。
目前图生文功能反向推导的关键词并不准确,其中对主体内容、场景、清晰度等内容识别度还可以,但是在光影、风格、摄影角度等细节元素上很难精准识别了。此外该功能存在较大的随机性,同一张图片每次使用describe反向推导的关键词可能都不相同。
不过该功能还是十分有帮助的,除了可以通过分析生成的关键词来学习原图的关键词书写方式外,也可以用于探索更多风格的可能性。在使用推导出的关键词绘图时,可以加上原图作为图片提示,在一定程度上能提升内容的还原度。
融图 Blend
blend也被叫做融图,该指令的效果是一次性上传 2-5 张图片,提取图像中关键元素后融合成新的图片。该功能的设计初衷是为了方便移动端用户上传图片,原理和前面提到的调用图片链接URL相同,但缺点是blend无法添加文本提示内容进行修饰。
预设后缀 Prefer suffix
设置默认添加到提示末尾的后缀参数。设置成功后,每次生成图像时会自动在提示内容后面加上后缀。如果想清空此前设置的后缀参数,在内容为空时保存即可。
预设变量 Prefer option set
创建自定义变量,使用变量来代替预设的参数后缀,最多可以设置 20 个自定义变量。同样如果要删除变量,在【value】中留空然后保存即可。
查看预设 Prefer option list
查看当前所有的预设变量及其对应的参数后缀。
切换消息通知 prefer auto_dm
DM指 Direct Messages 直接消息,该功能用于切换消息通知的状态,开启后允许其他服务器的成员直接发送消息。
订阅 Subscribe
获取会员订阅页面的跳转链接,这里的链接只限个人使用。
帮助 Help
显示帮助页面,包括新手引导、跳转链接等内容
邀请 Invite
生成邀请链接,可以发送好友试用
查看任务 Show
该功能需要配合任务ID来使用。通过调用目前已生成图片的任务ID,可以将绘图任务迁移至其他服务器。
我们每次生成图像时都是一条任务,对应唯一的任务ID,使用show指令来调用历史任务ID,可以将现有项目快速转移到其他服务器上使用。需要注意的是任务ID只限自己自己账号下使用。
关于获取任务ID的方式有4种:
- 网络上获取:在会员的公共图库中,可以找到自己此前图像的任务ID
- 图像URL地址获取:在浏览器中打开已生成的图像,URL地址后缀可以看到任务ID
- 图像文件名中获取:下载图片后,文件名的后缀可以看到任务ID
- 和Discord表情互动获取:发送表情符号 ✉️ 与机器人互动,之后点击信封可以收到Bot机器人回复的任务ID
提问 Ask
类似客服机器人,如果有不了解的问题可以直接在这里发起提问,会收到相应的解决方案。
以上就是Midjourney目前全部的指令内容了,随着版本更新,后续肯定还会有新的指令功能不断更新进来。如果想查看最新版教程内容,欢迎加入我的交流群免费获取最新的教程链接,文章底部有进群方式。
关于参数
介绍完Midjourney的指令,下面就到了最关键的参数部分了。Midjourney中的参数对绘图结果有着至关重要的影响,可以说学会使用参数是使用Midjourney绘图的必经之路。
随着版本迭代,目前Midjourney中预设的参数已有20多种,目前Midjourney中的参数可以分为基本参数和模型参数,当然还有一些像uplight、width等适用于早期模型的参数,如今随着版本更新已经被淘汰或直接集成到其他参数中使用,此处不再赘述。
类型 | 参数 | 名称 | 功能简介 | 使用频率 |
---|---|---|---|---|
🤖 基本参数 |
| aspect / ar | 宽高比 | 控制图片的长宽比例 | 🔥🔥🔥🔥 | | | stylize / s | 风格化 | 控制图片的风格化程度 | 🔥🔥🔥 | | | quality / q | 质量 | 控制图片质量的精细程度 | 🔥🔥🔥 | | | iw | 图像权重 | 设置提示内容中图片和文本的权重比例 | 🔥🔥🔥 | | | :: | 文本权重 | 分隔信息源和分配文本信息的权重比例 | 🔥🔥🔥 | | | no | 元素否定 | 设置图片中不要出现的元素 | 🔥🔥 | | | chaos / c | 随机性 | 控制生成图片的创意程度和多样性 | 🔥🔥 | | | repeat / r | 重复 | 重复多次运行同一个作业(仅限Standard和Pro会员,仅限Fast模式) | 🔥🔥 | | | seed | 种子值 | 通过编号控制,使生成图片更加相似 | 🔥 | | | stop | 生成进度 | 暂停生成图片的渲染进度 | 🔥 | | | tile | 重复图案 | 生成重复拼贴的纹理图案 | 🔥 | | | {a,b,c} | 排列组合 | 将不同提示词自由组合,批量生成图像(仅限Pro会员的Fast模式) | 🔥 | | 📢 模型参数 | version / v | 版本模型 | 切换算法模型的版本,默认是v4 | 🔥🔥🔥🔥 | | | niji | 二次元模型 | 使用动漫风格的算法模型 | 🔥🔥🔥 | | | style | 模式 | 切换版本模型下的模式/子模型 | 🔥🔥 | | | test/testp | 测试模型 | 使用测试版本/摄影风格的算法模型 | 🔥 |
参数通常是作为后缀添加在提示词的末尾,各个参数可以叠加或重复使用,但是靠前的参数优先级更高,会覆盖后面的参数和设置项。随着Midjourney模型的不断更新,不同版本下支持的参数和数值范围也有很大差异,以下是常见参数在各版本模型下的兼容性:
官方用户手册中的信息还是旧版本没有更新,以下参数兼容性经过实测,都是当前的最新数据。Midjourney的版本变动频繁,建议进我粉丝群,实时获取最新的教程信息
参数 | V5 | V4 | Niji | Niji 5 |
---|---|---|---|---|
aspect / ar | 无限制,默认1:1 | 1:2 ~ 2:1,默认1:1 | 1:2 ~ 2:1 | 无限制 |
stylize / s | 0~1000,默认100 | ❌ | 1~1000,默认100 | |
style | raw | 4a、4b、4c | ❌ | expressive、cute、scenic |
quality / q | .25 或 .5 或 1,默认1 | 0.25~5 | ||
iw | 0.5~2 | ❌ | ❌ | 0.5~2 |
no | 权重总和必须是正数 | |||
chaos / c | 0~100,默认0 | |||
seed | 0~4294967295的随机数 | |||
repeat / r | 标准版2~10,专业版2~40,只限快速模式 | |||
stop | 10~100,默认100 | |||
tile | ✅ | ❌ | ❌ |
|
宽高比 (aspect)
宽高比用于更改生成图像的宽高比,通常表示为用冒号分隔的两个数字,例如 7:4 或 4:3。
使用方法:—aspect / —ar+空格+ 宽长比
注意事项:
- 默认比例是 1:1。
- 数值必须是整数,比如使用 139:100 而不是 1.39:1
- 长宽比会影响生成图像的形状和构图,当放大图片时,有些长宽比可能会发生轻微的改变。比如 —ar 16:9(1.75) 最终生成的图片可能是 7:4(1.74)。
以下是特定行业常用的宽高比尺寸:
- 5:4 多用于传统打印
- 3:2 多用于摄影照片
- 7:4 比例接近于高清电视屏幕和智能手机的比例
因为单词相似很容易混淆,这里将—stylize和—style 2个参数放在一起介绍。前者用于控制图像的风格化程度,后者用于选择版本迭代下的子模型。
风格化 (stylize)
stylize 控制生成图像的风格化程度。该参数数值越低,生成图像会越接近提示词,而数值越高则图像艺术表现力越强,和提示词的关联性越低。
使用方法:—stylize / —s+空格+数值
注意事项:
- V5模型下默认值为100,数值范围 0~1000
- 设置中 Low、Med、High、Very high 分别对应数值50、100、250、750
模式选择 (style)
用于切换版本模型下的各种模式。以V4模型举例,在第四代版本模型迭代过程中产生了4a、4b、4c三种风格稍有差异的子模型/模式,使用style可以选择其中任意一种来使用。
使用方法:—版本模型 +空格+ —style +空格+ —模式
注意事项:
目前支持模式选择的模型有以下几种:
- V4模型,模式可选择:4a、4b、4c
- V5模型,模式可选择:raw
- Niji模型,模式可选择:expressive、cute、scenic
模型选择 (version 、niji)
相较于上面的模式选择,模型参数用于选择生成图像的版本算法模型,这里主要介绍下模型的使用方法,关于模型间的具体差异后面会单独说明。
使用方法:—v 4 /—v 5 / —niji
注意事项:
- 虽然越新的模型在性能上提升越大,但并非所有情况下都是模型越新越好,模型选择要根据图像的内容而定,比如Niji模型更适合生成二次元图像
- test、 testp用于测试新算法模型的效果,不是成熟的商业模型,日常基本不会使用
质量 (quality)
质量参数用于控制图像的细节精细度。其原理是控制图像生成的时间,一般做图消耗的时间越长,生成图像的细节也就会越多,但同时对应的也会消耗更多的GPU资源。
使用方法:—quality / —q+空格+数值
注意事项:
- V5版本下默认值为1
- 在设置中的 Half、Base、High 分别对应数值 0.5、1、2
- 质量参数并非数值越高越好,具体可以根据图像的内容而定,通常对于抽象艺术的图像建议用较低的数值,而对于细节要求高的图像建议使用较高数值
图像权重 (iw)
iw是 Image Weight 图像权重的缩写,其功能是调整图像提示和文本提示之间的权重比例,数值越大则参考图对绘图结果影响越大,反之则影响越小。
使用方法:—iw+空格+数值
注意事项:
- 默认数值为100,即100%的完成进度
- V5模型下支持 0.5~2 的数值范围
文本权重 (::)
文本权重参数有2个作用:分隔信息源和分配信息权重,注意冒号之间没有空格。
- 分隔信息源:功能和逗号类似,可以将一个单词拆解成2段来理解。
- 分配信息权重:通过::的数值来控制文本的权重比例,数值越大,前面的元素会更加突出展示
使用方法:元素1+::+数值(可选)+空格+元素2
注意事项:
- 注意和iw参数做区别:iw控制图片和文本权重,而::控制文本和文本之间权重
- 在具体数值上没有范围限制,其权重分布依据的是比值。如2:1和100:50的效果是完全一样的,且V4版本前只支持整数比值。
- 数值还可以设置为负值-0.5,该情况下的效果等同于no参数,都是移除图像中不希望出现的元素
元素否定 (no)
该参数可以设定特定的元素,后续在生成图像时算法会自动规避掉相关元素的出现。比如不希望图像中有水相关元素,就在关键词结尾加上—no water
使用方法:在关键词后加空格,然后带上你不想 AI 生成的内容—no +元素名称
注意事项:
- 除了实体内容外,该参数还支持颜色、形状等元素
随机性 (chaos)
用于控制模型的随机性,数值越高则越可能生成意想不到的结果。如果想让 AI 帮你做一些探索性的事情,建议初期可以将数值调高一点,结果会更加发散。
使用方法:—chaos / —c+空格+数值
注意事项:
- 默认值为 0,支持数值范围为 0~100 的整数
种子值 (seed)
Midjourney在每次生成图像时后台算法会随机分配一个编码,即seed种子值。目前seed值已支持到42亿,即每次生成图像时有42亿种结果可能,这也是为什么即使是完全相同的提示词,生成的图也会出现差异的原因,而如果直接调用相同seed值即可生成十分相似的图片。所以该参数的作用是调用原有图像的算法来进行绘图。
使用方法:—seed+空格+ seed值
注意事项:
- seed值只支持四格图时获取,如果是通过【U按钮】放大后的图,点击【✉️信封】会没有反应
- 注意和任务ID做区分,任务ID是调用生成图像的本次任务本身,因此所有内容会和之前完全一致,而种子seed是调用算法编码,绘图结果还是会有细微差别
重复图案 (tile)
该参数用于生成可重复拼贴的图案,如壁纸图案、纹理等。
使用方法:提示词+空格 +—tile
注意事项:
- 该参数实际只会生成用于重复的单元图
- 如果想预览图像效果,可以用这个网站模拟贴图效果:Seamless Texture Checker
生成进度 (stop)
Midjourney生成图像的过程是采用降噪模型,因此会由模糊图像逐渐过渡成最终的清晰图像,而该参数正是用于暂停图片的生成进度,数值上体现为百分比进度。
使用方法:—stop+空格 +进度值
注意事项:
- 默认数值为100,即100%的完成进度
- 支持10~100的数值范围
重复 (repeat)
使用重复参数可以一次发送多次的重复绘图命令,而无需挨个绘图。使用该参数可以快速获取大量的图像效果,可以理解成将原先的四格图拓展成了8、12、16、20、24…张图。
使用方法:—repeat/ —r+空格 +进度值
注意事项:
- 该参数只限标准版和专业版会员用户使用,且必须在快速模式下
- 标准版支持重复次数最多为10次
- 专业版支持重复次数最多为40次
排列组合 {a,b,c}
排列提示允许使用快速生成提示的变体。通过在提示中的大括号 {} 内包含以逗号 , 分隔的选项列表,可以使用这些选项的不同组合创建多个版本的提示。
使用方法:{a,b,c}+{x,y,z}
注意事项:
- 该功能只限专业版会员使用,且必须在快速模式下
- 如果创建的绘图指令超过5条会收到确认提示
- 最多可一次性创建40条绘图任务