改提示词补构图、调采样参数补细节、Mage-Flow 出图不对先分清是哪一头

文章导读
出图和想象的不一样时,最麻烦的不是参数不会调,而是改完提示词又改步数、再调引导强度,最后不知道哪一步起了作用。先做一次分类:主体位置、数量、朝向、占幅不对,通常归到文字描述这一头;边缘发糊、纹理平、细节堆不起来,通常归到采样参数这一头。Mage-Flow 这类流程里,两头都能影响画面,所以别靠感觉判断,用固定种子加单变量对照,一次只动一个,用文件名带上取值,事后才回看得清。
📋 目录
  1. Ⅰ 固定种子和提示词,只改采样步数做三档对比
  2. Ⅱ 只改引导强度,观察构图是否跟着变化
  3. Ⅲ 把提示词拆成主体描述和风格描述分别替换
  4. Ⅳ 用每次只动一个变量的记录表锁定问题归属
A A

出图和想象的不一样时,最麻烦的不是参数不会调,而是改完提示词又改步数、再调引导强度,最后不知道哪一步起了作用。先做一次分类:主体位置、数量、朝向、占幅不对,通常归到文字描述这一头;边缘发糊、纹理平、细节堆不起来,通常归到采样参数这一头。Mage-Flow 这类流程里,两头都能影响画面,所以别靠感觉判断,用固定种子加单变量对照,一次只动一个,用文件名带上取值,事后才回看得清。

Mage-Flow 出图偏离预期时,先判断是构图错还是细节错:构图错优先改提示词里的主体描述,细节错优先动采样步数。做法是固定种子与提示词,一次只改一个变量,输出文件名写入该变量取值,再按记录表回看。引导强度对构图的影响需要单独验证,不同模型、不同步数下表现不一致,别把一次结果当定论;参数是否真的生效,还要看日志里读到的实际值。

固定种子和提示词,只改采样步数做三档对比

这一步只回答一个问题:步数变了,细节密度有没有跟着变。种子、提示词、引导强度、分辨率全部锁死,只让步数取三个值(例如 12 / 24 / 40,可按你环境的合理区间替换)。判断依据看局部:把同一区域放大到 100% 看边缘、纹理、细线条,而不是看整图缩略图——缩略图上看不出差别,容易误判成“步数没用”。

下面是参数扫描的通用骨架,generate 那一行换成你本地实际的调用命令(CLI、脚本封装或工作流提交都行),其余部分是命名和循环规则。

SEED=12345
PROMPT="a red wooden chair on a white background, soft light"
GUIDANCE=7.0
SIZE="768x768"

for STEPS in 12 24 40; do
  OUT="out/chair_seed${SEED}_steps${STEPS}_gs${GUIDANCE}.png"
  echo "[run] steps=${STEPS} -> ${OUT}"
  generate \
    `--seed` "$SEED" \
    `--prompt` "$PROMPT" \
    `--steps` "$STEPS" \
    `--guidance` "$GUIDANCE" \
    `--size` "$SIZE" \
    `--out` "$OUT"
done

输出文件命名建议固定成「主题_seed{种子}_steps{步数}_gs{引导}_size{分辨率}.png」。参数写进文件名不是洁癖,而是后面并排比对和记录表回填时,不用再靠记忆还原当时的设置。跑完先看三张图的主体轮廓是否一致:如果轮廓、位置、数量都没变,只有纹理和边缘不同,说明步数主要作用在细节这一头;如果连构图都变了,那要怀疑这个流程里步数并非只影响细节,需要再固定其他条件复核一次。

只改引导强度,观察构图是否跟着变化

引导强度(guidance / CFG 一类参数)经常被当成“细节旋钮”,实际上它更多是在调节模型对提示词的贴合程度,所以它可能同时牵动构图和细节。验证方法很直接:种子、提示词、步数、分辨率不变,只让引导强度取多档,例如 3.0 / 5.0 / 7.0 / 9.0,档位按你所用模型的常见区间调整,不必照抄。

for GS in 3.0 5.0 7.0 9.0; do
  OUT="out/chair_seed12345_steps24_gs${GS}.png"
  generate `--seed` 12345 \
    `--prompt` "a red wooden chair on a white background, soft light" \
    `--steps` 24 `--guidance` "$GS" `--size` "768x768" `--out` "$OUT"
done

# 并排比对(若本机有 ImageMagick,可用;没有就手动在图片查看器里并排打开)
montage out/chair_seed12345_steps24_gs*.png -tile 4x1 -geometry +4+4 out/compare_guidance.png

并排看的时候,把观察点分成两组:构图组看主体的位置、朝向、占幅比例、物体数量;细节组看背景是否被“压平”、边缘对比、颜色饱和度、阴影形状。如果低档位时主体漏掉或跑偏、高档位时主体稳定但画面发硬,说明构图对引导强度是敏感的,这时它就不能只当细节参数用;如果各档位构图基本一致、只有色彩和对比在变,那构图的主要来源更可能是文字描述,下一步应回到提示词去改。这里没有通用阈值,同一条提示词在不同模型上的表现差别不小,需要结合你自己的环境确认。

把提示词拆成主体描述和风格描述分别替换

提示词内部也有主次。建议拆成两段写:主体描述负责“画什么、在哪、几个、朝哪”,风格描述负责“什么质感、什么笔触、什么色调”。拆开之后,替换实验才有意义——一次只换一段,看画面哪块区域跟着动。

示例一,只替换主体描述,风格段保持不动:

改提示词补构图、调采样参数补细节、Mage-Flow 出图不对先分清是哪一头
# A:只换主体
A1 = "a ceramic mug on a wooden desk, side view, single object, center frame"
A2 = "a glass bottle on a wooden desk, side view, single object, center frame"
STYLE = "flat illustration, muted colors, thin outlines"

# 实际提交
prompt_A1 = A1 + ", " + STYLE
prompt_A2 = A2 + ", " + STYLE

示例二,只替换风格描述,主体段保持不动:

# B:只换风格
SUBJECT = "a ceramic mug on a wooden desk, side view, single object, center frame"
B1 = "flat illustration, muted colors, thin outlines"
B2 = "photo, warm light, shallow depth of field"

prompt_B1 = SUBJECT + ", " + B1
prompt_B2 = SUBJECT + ", " + B2

对比时分区看:主体区域看轮廓形状、占幅比例、物体数量和朝向;背景区域看色块构成、纹理颗粒、笔触粗细;交界区域看边缘是硬还是软、阴影落在哪。A 组里主体区域明显变化而背景纹理基本不变,说明模型对主体描述敏感;B 组里主体位置纹丝不动、只有背景质感和色调在换,说明风格描述主要作用在表层。若两组都没什么变化,先别急着加词,回头检查提示词是否真的被送进去了(日志里能不能看到完整 prompt),以及是否存在被前置模板覆盖的情况。

用每次只动一个变量的记录表锁定问题归属

零散试错最大的问题是不可回看。建议每跑一组就填一行,字段固定:变量名、取值、输出文件名、观察结论。表格可以就是一份 CSV,跑完一批再回填,不追求好看。

变量名取值输出文件名观察结论
steps12 / 24 / 40chair_seed12345_steps12_gs7.0.png 等构图一致,40 档边缘更完整,细节差异集中在桌面纹理
guidance3.0 / 5.0 / 7.0 / 9.0chair_seed12345_steps24_gs*.png3.0 档主体偏出画面,7.0 起主体位置稳定
主体描述ceramic mug / glass bottlemug_A1.png / bottle_A2.png中心物体形状与高光区域整体替换,背景笔触不变

写观察结论时用可复核的描述,不用“更好看”“效果不错”。可写的句式是:哪个区域发生了什么变化、其他区域是否保持、这次改动是否让目标问题消失。比如“主体数量从 1 变 2,位置未变”比“构图有问题”有用得多。

下一步动作按归因结果走,规则可以写成三条:

  1. 如果主体位置、数量、朝向错,而步数扫描下构图始终不变,就回到提示词改主体描述,别继续加步数。
  2. 如果构图已经对、只是边缘和纹理不够,就在固定提示词的前提下调整步数或引导强度,一次一档,避免两个参数同时动。
  3. 如果改了参数但输出几乎完全一致,先查参数是否生效:在启动日志里打印实际读到的 seed、steps、guidance,确认改动没有被默认值或缓存覆盖,再谈效果。

这套流程的价值不在某一次调出好图,而在于把“出图不对”拆成可以逐条排除的问题。跑过一轮之后,你手上会有一份带文件名和结论的记录,下次遇到相似问题,从记录表里找最近的一条就能接着往下试,不用从头猜。