参数是后缀,不是命令:写在提示词末尾,只影响这一次任务怎么渲染。官方逐项列出参数的地方是 Parameter List 页,而它是一份索引,不是手册——30 项,每项一句描述加参数写法,整页没有一个「取值」列。
缺的那一列,正是网上各种「默认值表」的自信来源。取值范围写在每个参数自己的页面上,好几个比清单站转述的窄。下面内容全部来自 Parameter List 页和四份单参数页面;哪一页没写就说没写。
官方参数索引里到底有什么
这一页回答两个问题。参数是什么:「Parameters are like special instructions you can use to guide how your images turn out.」写在哪里:「Parameters always go at the end of your text prompt.」第三个问题不回答:哪些取值合法,交给对应的单参数页。
三条格式规则,和四行会让参数失效的写法
三条规则决定参数是否真的生效:放在提示词末尾、破折号前留一个空格、参数内部不用标点。官方在下面附了四个反例,它们都不报错,只让参数悄悄失效。
vibrant California poppies--ar 2:3
vibrant California poppies - - ar 2:3
vibrant California poppies --ar 2:3,
vibrant California --ar 2:3 poppies
四个反例分别是:破折号前没空格、两个破折号被拆开、参数末尾多一个逗号、参数后面又写提示词。前三种界面上毫无提示,第四种一眼能看出来。提示词指南讲的是破折号之前那半段。
官方索引的 30 项,逐条照抄
下面是 Full Parameter List 的原始顺序,描述按页面原文压缩照抄。
| 条目 | 官方索引的说法 |
|---|---|
--aspect / --ar | 默认是方形 |
--chaos / --c | 让结果更丰富 |
--oref | 长相或物体形态;V8.X 已被 Edit Model 取代 |
--no | 排除不想要的元素 |
--profile / --p | 个性化档案与 moodboard |
--quality / --q | 细节与处理时长 |
--repeat / --r | 一条提示词跑多组图 |
--seed | 测试与实验 |
--stealth | 作品不公开 |
--raw | 对画面控制更多 |
--stylize / --s | 画面的艺术化程度 |
--sref | 匹配另一张图的外观 |
--tile | 无缝平铺图案 |
--version / --v | 切换模型版本 |
--draft | V7 下以一半 GPU 成本出草稿图 |
--weird / --w | 古怪非常规的画面 |
--fast | GPU 速度切到 Fast |
--iw | 图像提示词的影响 |
--relax | GPU 速度切到 Relax |
--turbo | GPU 速度切到 Turbo |
--niji | 动漫与东方美学模型 |
--public | 作品公开 |
--motion low / high | 视频运动幅度 |
--loop / --end | 循环视频与自定义尾帧 |
--bs | 每条提示词的视频数 |
--sw | 风格参考强度 |
--sv | 风格参考版本 |
--video | 在 Discord 生成视频 |
--hd / --sd | 2048px 与 1024px |
--edit | 文字指令加最多四张参考图 |
30 项里 4 项只服务视频,出静态图能用 26 项,--hd 和 --sd 只切分辨率。索引是封闭清单:参数不在上面这一列,就不在官方清单里;斜杠命令那一半在 Discord 命令清单里。
文档真正公布了取值的参数

30 项里只有 6 项在文档里带着数字:2 项给了默认值,4 项给了范围,剩下 24 项两个都没有。
| 参数 | 官方公布的取值 |
|---|---|
--ar | 默认 1:1;不能带小数,写 139:100 而不是 1.39:1 |
--stylize / --s | 0 到 1000,默认 100 |
--chaos / --c | 0 到 100,默认 0 |
--weird / --w | 最大 3000,默认 0,V5 及以后可用 |
--seed | 0 到 4294967295 之间的整数 |
--hd / --sd | 2048px 与 1024px |
--ar 那页还补了参数本身不会做的换算:给它像素,它自己约分,1920x1080 变成 --ar 16:9。最终像素还取决于版本和放大工具。
一个参数两种写法的八个条目
八个条目同时接受长写法和短写法,同一条提示词里混用没问题:--ar、--c、--p、--q、--r、--s、--v、--w。其余只有一种写法,--seed 和 --sref 都在其中。一条同时满足三条规则的提示词:
street market at dawn, one vendor arranging fruit, muted palette --ar 16:9 --s 100 --c 0 --seed 12345
官方页写明互斥的组合
四对参数不是彼此独立的,每条只写在某一页上,没有兼容表汇总。--tile 与 Edit Model 不兼容:参数仍在清单里,组合不在。Edit Model 的结果不能再用 Remix。Turbo 与 --seed 不能一起用,因为追求速度时 seed 锁定不可靠。--weird 与 seed 不完全兼容。
清单的第 30 项在 Discord 里写成 --edit 加图片地址,官方要求图片必须已经在线。
make the jacket red --edit https://your-public-host.example/portrait.png
两段离线校验脚本
两段脚本都不访问 Midjourney,官方没有公开 API;也都不编造范围。第一段编码 30 个参数名、8 个别名和已公布范围,文档没给数字的一律返回 RANGE_NOT_PUBLISHED。
"""Check a parameter name and value against the published documentation only."""
# The long forms the official list prints alongside a short one.
ALIASES = {
"--aspect": "--ar", "--chaos": "--c", "--profile": "--p",
"--quality": "--q", "--repeat": "--r", "--stylize": "--s",
"--version": "--v", "--weird": "--w",
}
# Every flag the Full Parameter List prints, in the order its entries appear.
OFFICIAL = [
"--ar", "--c", "--oref", "--no", "--p", "--q", "--r", "--seed",
"--stealth", "--raw", "--s", "--sref", "--tile", "--v", "--draft",
"--w", "--fast", "--iw", "--relax", "--turbo", "--niji", "--public",
"--motion", "--loop", "--end", "--bs", "--sw", "--sv", "--video",
"--hd", "--sd", "--edit",
]
# Ranges quoted from single-parameter pages. Nothing else is guessed.
INTEGER_RANGES = {"--s": (0, 1000), "--c": (0, 100), "--w": (0, 3000)}
SEED_RANGE = (0, 4294967295)
# Entries the list writes as a bare flag, with no value after them.
FLAGS = {"--hd", "--sd", "--tile", "--raw", "--fast", "--relax", "--turbo",
"--stealth", "--public", "--draft"}
def check_integer(name, raw, low, high):
try:
value = int(raw)
except ValueError:
return "rejected", f"{raw} is not a whole number"
if low <= value <= high:
return "accepted", f"inside the published range {low}-{high}"
return "rejected", f"outside the published range {low}-{high}"
def check_ratio(raw):
parts = raw.split(":")
if len(parts) != 2 or not all(part.isdigit() for part in parts):
return "rejected", "use two whole numbers, as in 16:9"
return "accepted", "no decimals in an aspect ratio"
def check(name, value=None):
"""Return (verdict, detail) for one parameter. Never guesses a range."""
name = ALIASES.get(name, name)
if name not in OFFICIAL:
return "rejected", "not on the official parameter list"
if value is None:
if name in FLAGS:
return "accepted", "flag, no value"
return "rejected", "this entry needs a value"
if name in FLAGS:
return "rejected", "this entry is written without a value"
if name == "--seed":
return check_integer(name, value, *SEED_RANGE)
if name in INTEGER_RANGES:
return check_integer(name, value, *INTEGER_RANGES[name])
if name == "--ar":
return check_ratio(value)
return "unchecked", "RANGE_NOT_PUBLISHED"
if __name__ == "__main__":
for flag, val in (("--ar", "16:9"), ("--ar", "1.39:1"), ("--s", "100"),
("--s", "1200"), ("--c", "0"), ("--w", "3000"),
("--seed", "12345"), ("--seed", "4300000000"),
("--hd", None), ("--quality", "1"),
("--stylize", "250")):
verdict, detail = check(flag, val)
print(f"{flag:>12} {str(val):>10} {verdict:<9} {detail}")
跑起来会看到 --stylize 250 经别名表通过,--quality 1 返回 unchecked,因为本文引用的页面都没写 --quality 接受什么值。第二段脚本审计整组参数:归一化别名、按官方索引顺序重排,再报告官方写明的冲突。
"""Audit a parameter set for the combinations the docs rule out."""
from itertools import combinations
ORDER = ["--ar", "--c", "--oref", "--no", "--p", "--q", "--r", "--seed",
"--stealth", "--raw", "--s", "--sref", "--tile", "--v", "--draft",
"--w", "--fast", "--iw", "--relax", "--turbo", "--niji", "--public",
"--motion", "--loop", "--end", "--bs", "--sw", "--sv", "--video",
"--hd", "--sd", "--edit"]
ALIASES = {"--aspect": "--ar", "--chaos": "--c", "--profile": "--p",
"--quality": "--q", "--repeat": "--r", "--stylize": "--s",
"--version": "--v", "--weird": "--w"}
# Each pair is stated on one page; no page collects them.
CLASHES = {
frozenset({"--tile", "--edit"}):
"the Edit model is not compatible with --tile",
frozenset({"--turbo", "--seed"}):
"seed locking is not reliable in Turbo mode",
frozenset({"--w", "--seed"}):
"weird is not fully compatible with seeds",
}
def audit(job):
"""job: {"--s": "250", ...} -> (ordered flags, clash messages, off-list)."""
canonical = {ALIASES.get(key, key): value for key, value in job.items()}
ordered = [flag for flag in ORDER if flag in canonical]
clashes = [
CLASHES[frozenset(pair)]
for pair in combinations(ordered, 2)
if frozenset(pair) in CLASHES
]
if "--edit" in canonical:
clashes.append("an edit result cannot be remixed afterwards")
return ordered, clashes, sorted(set(canonical) - set(ORDER))
for job in ({"--stylize": "250", "--seed": "12345", "--v": "8.2"},
{"--edit": "url", "--tile": None, "--turbo": None, "--seed": "7"}):
ordered, clashes, off_list = audit(job)
print("order:", " ".join(ordered))
print("flags:", "; ".join(clashes) or "none documented")
print("off-list:", ", ".join(off_list) or "none")
print("---")
有两件事刻意不做:脚本不碰提示词的文字部分,也不给页面没量化的条目补范围——风格参考指南对 --sw 用的是同一套纪律。
官方索引没有公布的部分
- 默认值:整页没有取值列。
- 版本可用性:没有一行说明参数在 V8.2 上能不能用。
- 兼容表:四条互斥关系散在四个页面里。
--no、--tile、--fast、--relax、--turbo的取值写法:只有描述,没有规定。- 上限:能带几个参数、参数最长多少、写错报什么错。
--stop、--cref、--cw、--exp、::权重、--style raw:都不在 30 项之内,官方把它们交给 Legacy Features 页。
还有一个坑:搜索摘要可能来自缓存。某个缓存的 Parameter List 把 Omni Reference 那条写成「replaces Character Reference in V7」,线上正文已改成「replaced by the Edit Model in V8.X」。参数没变,接替者变了。
常见问题
一共多少个参数? 官方 Full Parameter List 有 30 项,其中 4 项只服务视频,出静态图可用 26 项。
--ar 能写任意比例吗? 官方只公布 1:1 为默认值、五个常见取值,禁止小数;极端宽高比称为实验性,没有上限。
--chaos 写多少合适? 官方只写了 0 到 100、默认 0,以及值越偏离提示词越远。没有推荐档位。
--edit 现在是什么? 它是索引第 30 项、也是最新一项,在 V8.X 里取代 Omni Reference;四个入口和官方示例提示词在编辑模型实操里。