Midjourney 命令以斜杠开头,参数是写在提示词末尾的两个连字符后缀。两者分属两篇官方文档、干的是两件事,但多数速查表把它们并成一张表,于是读者会在该写 /imagine 的地方填上 --ar。
下面这份清单来自官方 Discord Command List。这页文档没写的地方——它没有给出任何命令的字段表——本文就写「官方未公布」,而不是补一份看起来合理的参数说明。
命令是什么,以及它不是什么
斜杠命令是你和机器人说话的方式。官方 Quick Start 用一句话说清了整个循环:「After submitting a text prompt, the Midjourney Bot processes your request, creating four unique image options within a minute.」
参数改的是单次出图的行为。这个分工值得记住,因为两者的出错方式不一样:命令名写错会在消息框里直接报错,参数写错则安静地产出一张不对的图。Midjourney 提示词指南写的是参数那一半,Midjourney API 接入指南解释了为什么这两个界面都无法从代码里调用。
前置条件是订阅,第二条是接受服务条款。
官方公布的完整命令清单

下面是官方 Full Command List 按页面原有顺序的全文,共二十八条现行命令。
| 命令 | 官方清单里的说明 |
|---|---|
/ask | 提问 |
/blend | 把图片混合起来 |
/daily_theme | 开关 #daily-theme 提醒 |
/describe | 从上传图反写四条提示词 |
/docs | 仅官方服务器:文档链接 |
/fast | 切到 Fast 模式 |
/feedback | 提交建议并给别人的建议打分 |
/faq | 仅官方服务器:提示词常见问题 |
/help | 基本信息与技巧 |
/imagine | 用提示词生成图片 |
/info | 账户信息与队列中的任务 |
/invite | 服务器邀请链接 |
/list_tuners | 列出你建过的 Style Tuner |
/prefer option set | 创建或管理一个自定义选项 |
/prefer option list | 查看你现有的自定义选项 |
/prefer remix | 开关 Remix 模式 |
/prefer suffix | 给每条提示词加后缀 |
/prefer variability | 切 V# 按钮的强/弱变体 |
/public | 仅 Pro 与 Mega:切到公开模式 |
/relax | 切到 Relax 模式 |
/settings | 查看与调整机器人设置 |
/stealth | 仅 Pro 与 Mega:切到隐身模式 |
/shorten | 给出让提示词更简短的改法 |
/show | 用图片 Job ID 重新生成该任务 |
/subscribe | 生成账户页的私人链接 |
/synonyms | 仅官方服务器:找相关词 |
/turbo | 切到 Turbo 模式 |
/userid | 取你的 Midjourney 用户 ID |
同一页上还有三个名字被标为 deprecated:/private 已被 /stealth 取代,/pixels 和 /idea 没有替代者。
/imagine 的官方五步
Quick Start 把流程拆成五步,这五步对每条命令都适用。在消息框里输入 /。继续打字把弹出列表缩小,方式跟搜索框一样。点中命令,它会带着 Midjourney 图标出现在输入框里。填它给出的字段。回车或点发送。
出图之后那两排按钮是干什么的
官方纠正了一个旧说法:「In earlier versions of Midjourney, the U buttons were used for upscaling images. With the latest version, images are immediately generated at 1024 x 1024 pixels size.」现在的 U 按钮只负责把选中的那张从四宫格里单独拎出来,方便下载和继续编辑。
V1 到 V4 出来的变体会保留原图的大致风格与构图,重滚按钮则用同一条提示词再跑一遍四宫格。把一张图单独拎出来之后,会多出一整排:Vary (Strong)、Vary (Subtle)、三个 Zoom Out、四个平移按钮。
可以用命令改的设置
/settings 与它的四档 stylize
/settings 打开的面板只有你自己看得见,即使在公开频道里也一样,而且它和网页端同步:「Your website and Discord settings are synced.」面板里四档 stylize 都带官方数字——Low 50、Med 100(默认)、High 250、Very High 750——旁边还有默认模型版本、RAW 模式、个性化、隐身模式和 GPU 速度模式。
option set 与后缀
option set 作用是把一组参数藏在一个名字后面。官方的例子建了一个叫 mine 的 set,之后 vibrant California poppies --mine 就等同于把整串参数写全。跨端使用时有一条细节要记:「Option sets can be used in prompts on midjourney.com, but can only be created and managed in Discord.」/prefer suffix 管的是每条提示词的后缀,删掉它的办法是把命令再发一次、不填值。
Fast、Relax、Turbo
三条命令切换 GPU 池。/fast 花的是套餐里的计时额度,/turbo 用双倍 Fast 时间换速度,/relax 不花额度但要排队,而且不是每个套餐都有:「Basic plan subscribers do not have access to Relax Mode.」这笔额度到底能跑多少张,Midjourney 价格指南里算过。
两段离线校验代码
两段脚本都不联网,因为本来就没有可调的 API。第一段把官方命令清单当成数据,遇到不在表里的名字就报错;它跑在 macOS 自带的 bash 3.2 上,所以没有用关联数组。
#!/usr/bin/env bash
# Offline check of a Midjourney slash command against the published list.
# Names and groups are transcribed from the official Discord Command List.
set -uo pipefail
read -r -d '' LIST <<'DATA' || true
/imagine generate
/blend generate
/describe generate
/shorten generate
/ask help
/help help
/feedback help
/info account
/subscribe account
/userid account
/invite account
/settings settings
/prefer remix settings
/prefer suffix settings
/prefer variability settings
/prefer option set settings
/prefer option list settings
/fast speed
/relax speed
/turbo speed
/public plans
/stealth plans
/daily_theme channels
/list_tuners tuners
/show jobs
/faq server-only
/docs server-only
/synonyms server-only
DATA
if (( $# != 1 )); then
echo "usage: $0 /command" >&2
exit 2
fi
name="$1"
[[ "$name" == /* ]] || { echo "rejected: commands start with a slash" >&2; exit 1; }
case "$name" in
/private) echo "rejected: /private is deprecated, replaced by /stealth" >&2; exit 1 ;;
/pixels | /idea) echo "rejected: $name is deprecated with no replacement" >&2; exit 1 ;;
esac
group=$(printf '%s\n' "$LIST" | awk -v want="$name" '$1 == want { print $2 }')
if [[ -z "$group" ]]; then
echo "rejected: $name is not on the official command list" >&2
exit 1
fi
echo "accepted: $name (group: $group)"
printf '%s\n' "$LIST" | awk '{ print $1 }' | sort
拿 /pixels 跑一次,它会报出替代者。
第二段把一行命令拆成提示词与参数两部分。参数页公布了三条格式规则,脚本要校验的就是这三条:参数放在提示词末尾、提示词与第一个双连字符之间留一个空格、参数内部不要出现标点。
"""Split a Midjourney command line into prompt and parameters, per the docs."""
COMMANDS = {
"/ask", "/blend", "/daily_theme", "/describe", "/docs", "/fast",
"/feedback", "/faq", "/help", "/imagine", "/info", "/invite",
"/list_tuners", "/prefer option set", "/prefer option list",
"/prefer remix", "/prefer suffix", "/prefer variability",
"/public", "/relax", "/settings", "/stealth", "/shorten", "/show",
"/subscribe", "/synonyms", "/turbo", "/userid",
}
DEPRECATED = {"/private": "/stealth", "/pixels": "", "/idea": ""}
# Commands whose entry on the official list carries a qualifier.
SERVER_ONLY = {"/docs", "/faq", "/synonyms"}
PRO_OR_MEGA = {"/public", "/stealth"}
def parse(line: str) -> tuple[str, str, dict[str, str]]:
"""Return (command, prompt, parameters). Raises ValueError on a rule break."""
if not line.startswith("/"):
raise ValueError("a command line starts with a slash")
head, _, rest = line.partition(" ")
if head in DEPRECATED:
replacement = DEPRECATED[head]
raise ValueError(f"{head} is deprecated" + (f", use {replacement}" if replacement else ""))
if head not in COMMANDS:
raise ValueError(f"{head} is not on the official command list")
if " --" not in rest:
# A prompt with no parameters is valid; a prompt glued to one is not.
if "--" in rest:
raise ValueError("a space must separate the prompt from the first --")
return head, rest.strip(), {}
prompt, _, tail = rest.partition(" --")
tokens = ("--" + tail).split()
if len(tokens) % 2:
raise ValueError("every parameter needs a value")
parameters: dict[str, str] = {}
for flag, value in zip(tokens[::2], tokens[1::2]):
if any(character in value for character in ",;"):
raise ValueError(f"{flag}: no punctuation inside a parameter")
parameters[flag] = value
return head, prompt.strip(), parameters
print(parse("/imagine a harbour at dawn --ar 16:9 --stylize 250"))
print("server-only:", sorted(SERVER_ONLY), "plan-gated:", sorted(PRO_OR_MEGA))
for bad in ("/imagine a harbour --ar 16:9,", "/imagine a harbour--ar 16:9", "/pixels", "/imagen"):
try:
parse(bad)
except ValueError as error:
print("rejected:", error)
脚本不去猜 --stylize 或 --chaos 的取值区间,因为参数页根本没公布——Midjourney 风格参考指南对 --sw 用的是同一条纪律。
命令文档没有公布的东西
- 任何一条命令的字段结构:字段名、哪些必填、哪些可以给多个值。
- 命令调用的速率限制、并发上限与超时。
/ask背后跑的是什么,回答范围到哪。/shorten用的算法,以及它压缩到什么目标。- 一个账户最多能建几个 option set,命名有什么规则。
/info输出里每个字段的含义。
常见问题
只有 /imagine 会生成图片吗? 在清单里,只有它的说明是生成图片。/blend 混合你上传的图,/describe 是从图反写提示词。
哪些命令受套餐限制? /public 和 /stealth 需要 Pro 或 Mega,Relax 模式在 Basic 上也用不了。
这些命令能自动化调用吗? 服务条款禁止用自动化工具访问或与服务交互,API 接入指南引了原文。更稳的做法是把命令清单和格式规则放进测试套件里。