AI 图片构图太杂:5 类原因 + 8 步修复路径

主体太多互相打架?砍到一个主角 + 加浅景深 + 留白。最快修法,以及 Midjourney / ChatGPT / Gemini / SDXL 各自的具体操作。

你想要的东西画面里都有——猫、咖啡杯、书、笔记本、窗户、绿植、晨光——但整张图就是”视觉一团乱”。眼睛不知道该看哪里。每个对象同等大小、同等清晰、同等显眼,大脑读到的不是”场景”而是”噪声”。

构图杂很少是”模型不会构图”,几乎一定是 Prompt 问题:你列了七样东西,但没给模型任何”哪个最重要”的信号。

TL;DR——最快修法

把 Prompt 重写成一个主角 + 最多两个配角,再加一行景深,让其余元素全部虚焦:

a ginger cat sitting on a desk, sharp focus,
soft morning window light, one out-of-focus coffee cup beside it,
shallow depth of field, f/1.4, creamy bokeh, minimalist composition

这一次重写就能解决大部分杂乱问题。如果你已经有一张满意的成图,只是想去掉一两个抢镜的物件,那就别重抽,直接用区域 / 局部重绘编辑器(见下文 Step 7)——Midjourney 的 Vary (Region)、ChatGPT 的框选编辑、或 Gemini 的区域编辑。两条路下面都有详解。

你属于哪一类?

输出里的症状最可能的原因跳到
5 个以上对象大小相近、全都清晰名词太多、权重相等原因 1,Step 1-2
背景道具和主体一样锐没写景深原因 2,Step 3
好几个东西”都像是主角”没明确主角原因 3,Step 2
画面被东西塞满整框取景广 + 场景词原因 4,Step 1、4
风格本身就显得杂(平铺、静物)风格锚词自带杂原因 5
一张成图,只需去掉 1-2 个干扰物别重抽Step 7

常见原因

按命中率从高到低。

1. 对象太多,Prompt 里权重相等

cat, coffee, book, laptop, plant, window light, cozy morning——七个名词、零层次。模型把它们当成同等重要,全部放到画面中央显眼位置。

如何判断:数 Prompt 里的具体名词。超过 3 个且没加权重,输出大概率是杂的。

2. 没写景深

不写景深,模型默认大景深、什么都清晰。结果是边缘元素因为没有视觉后退感,照样和主角抢眼球。

如何判断:Prompt 里没有 shallow depth of fieldbokehf/1.4out of focusblurred background——加一个。

3. 没说”主角是谁”

你说”猫在场景里”,但没说”猫是主角”。模型尤其在多名词时需要这种层次提示。

如何判断:Prompt 里没有 hero subjectmain subjectcentereddominant,也没有”大猫”或”小杯子在背景”这种大小修饰词。

4. 取景广 + 场景类词

大全景 + cozyinteriorroomstill lifelifestyle scene 这种词,是在邀请模型把画面填满。改成紧框、单名词构图,杂乱立刻减半。

如何判断:Prompt 是大全景且用了场景 / 生活类词。

5. 风格本身就杂

某些风格自带”杂”基因:

  • still life painting — 桌上一堆静物
  • cozy aesthetic — 大量道具、柔光分层细节
  • flat lay photography — 定义上就是杂
  • wes anderson — 对称式最大主义
  • studio ghibli interior — 居家场景物件多

如何判断:风格锚词单独一念脑海里就是”热闹场景”。

最短修复路径

Step 1:砍到一个主角 + 最多两个配角

修改前:

a cat, a coffee cup, a book, a laptop, a houseplant, a window with morning light, a cozy desk scene

修改后:

a ginger cat sitting on a desk, soft morning window light in the background,
one out-of-focus coffee cup beside the cat

一个主角(猫)、一个配角(明确写”虚焦”的咖啡杯)、一个氛围词(窗光,不再算作一个具体物件)。

Step 2:显式写”主角是谁” + 大小修饰

通用模板:

"[hero] is the main subject, centered, large in frame"
"close-up of [hero], everything else small and out of focus"
"[hero] in sharp focus, [other objects] blurred in the background"

Step 3:加景深

一行就能让大部分”啥都清晰”的杂乱图变成”主体凸出”:

"shallow depth of field, f/1.4, creamy bokeh, only [hero] in focus"

Step 4:加留白词

挑 1-2 个加进去:

  • minimalist composition
  • large negative space
  • breathing room around the subject
  • clean composition with simple background
  • Japanese minimalist aesthetic(如果风格合适)

Step 5:各工具专属的”控杂”手段

Midjourney(截至 2026 年 6 月 10 日,V8.1 已成默认;V7 仍可用 --v 7 选回)。 在结尾追加:

... --style raw --ar 4:5 --s 100

--style raw 关掉 Midjourney 自动的”美化”环节,那一步正是凭空多出细节的主要来源。--ar 4:5(V8 区间新增的竖向比例,该区间支持 1:2 到 2:1 之间任意比例)缩小了模型可填充的背景面积。--s(stylize)默认约 100,往 --s 50 甚至 --s 0 调,会让模型更贴你的字面 Prompt、少加花样。具体参数行为以 Midjourney 参数列表 为准。

ChatGPT(Images 2.0 / gpt-image-2,2026 年 4 月 21 日发布)。 没有 -- 参数。把层次写进自然语言,再用对话追问:“Make the cat the clear hero, blur and shrink everything else, lots of empty space around it.” 支持的比例从 3:1 到 1:3,要竖图就能压缩背景空间。

Gemini(Nano Banana 2,2026 年 2 月推出)。 同样走自然语言;它对指令式编辑跟得很好,一句 “remove the laptop and the plant, keep only the cat and the cup, blur the background” 通常一次到位。

Step 6:负向 Prompt 拦杂(仅 SD / SDXL 系)

在 Stable Diffusion、SDXL、ComfyUI 或 Forge 里,往负向 Prompt 加:

cluttered, busy composition, many objects, crowded scene,
multiple subjects, ornate, baroque, maximalist, busy background,
overlapping objects

负向 Prompt 只存在于 Stable Diffusion 系。Midjourney 的对应物是 --no(例如 --no laptop, plant);ChatGPT 和 Gemini 没有负向 Prompt 字段,排除项要用自然语言说。

Step 7:用局部重绘去掉干扰物,而不是整张重抽

如果某次生成整体很好,只是一两个物件毁了画面,就地编辑、别重新生成整张:

  • Midjourney Editor(网页版)——打开图片,选 Vary (Region),用方框或套索框住要去掉的物件再运行。Midjourney 建议框选大约图片的 20-50%,让它有足够上下文。要”删除”而非”替换”一个物件,区域 Prompt 里填 empty(或一句纯背景描述)。参见 Midjourney Editor 文档
  • ChatGPT Images 2.0——用框选工具圈住物件,再说 “remove this and fill with the background.”,其余部分不动。
  • Gemini Nano Banana 2——直接描述编辑:“remove the book on the left, blend the desk surface behind it.”

Step 8:先画构图,再用 ControlNet 锁住

需要美术指导级的构图,先手绘草图(纸 / iPad / ControlNet Scribble),喂给 ControlNet。模型只填充细节,不会偏离你的布局。

# ComfyUI / Forge ControlNet(SDXL)
- 加载 ControlNet Scribble 或 Canny(SDXL 的 ControlNet Union 模型两者都覆盖)
- 把构图草图作为 control image 喂入
- 控制权重(strength):从 0.6-0.7 起步
  (低=给模型更多自由,高=严格按草图)
- 若同时叠两个 ControlNet,各自保持 0.5-0.7,别让其中一个压过另一个

怎么确认真的修好了

判断你是真的解决了、而不是只是把杂乱挪了个位置,标准是:

  • 瞄一眼缩略图,能在一秒内说出主角是谁。
  • 背景明显比主体更柔 / 更简(是真的景深分离,不只是更暗)。
  • 至少有两块明确的留白让眼睛能歇一下。
  • 去掉任何一个剩下的物件,都不会改变”这张图讲的是什么”。

如果缩略图(不是大图)看上去还是乱,那构图就还没修好——人眼是先在缩略图尺度上整理一个场景的。

预防建议

  • 写 Prompt 之前先定主角,主角放句子最前。
  • 默认每张图最多 3 个名词;要更多就拆成系列。
  • 立一条规矩:Prompt 含 3+ 名词必须配景深 / 焦点修饰词。
  • 系列项目里在每个 Prompt 末尾固定加一段 “minimalist composition, shallow depth of field” 模板。

常见问题

为什么模型总是加我没要求的物件? 两个原因。第一,热闹的风格锚词(cozyflat laystill lifelived-in interior)自带”道具暗示”,模型为了满足风格就把它们加上。第二,Midjourney 默认的 stylize 环节会自己编细节;--style raw 加上更低的 --s 值能把它压住。删掉风格词、或切到 raw 模式,那些幽灵物件通常就消失了。

Midjourney / ChatGPT / Gemini 里负向 Prompt 有用吗? 没有。真正的负向 Prompt 字段只存在于 Stable Diffusion / SDXL 系。Midjourney 用 --no 物件 来排除;ChatGPT Images 2.0 和 Gemini 完全没有排除字段,所以要用自然语言说清楚不要什么(“no laptop, no plant in frame”)。

整张图其它都完美,就一个多余物件。非得重新生成吗? 不用,也不该重抽——重抽会把所有东西都换掉。用局部重绘:Midjourney 的 Vary (Region) 区域 Prompt 填 empty、ChatGPT 的框选编辑、或一句 Gemini “remove this object”。这三种都能保留画面其余部分不变。

我加了浅景深,但还是什么都清晰,怎么办? 有些模型对抽象的景深词响应很弱。把它写具体、并叠加多个线索:写出光圈值(f/1.4)、加 creamy bokeh、并明确说哪个元素保持清晰(only the cat in focus, background blurred)。在 Midjourney 上,加一句长焦线索如 85mm portrait lens 也能把背景推虚。

多少个对象算太多? 一个实用准则:干净的单图里 3 个具体名词是上限,而且这已经假设你给它们排了权重(一个主角,其余作配角且虚焦)。超过 3 个,就规划成系列或拼图,别硬让一张图扛下全部。

相关阅读

标签: #图像生成 #排查 #排查