“和参考图差太多”这件事,往往不是单一原因。提示词权重决定模型有多想画你描述的东西,采样步数与引导强度决定它把这个意图执行到什么程度;两条线同时改,你无法判断是哪一侧在起效。可行的做法是先把当前这次出图的参数抄成基线,然后固定一条、只动另一条,用两次输出的差异方向来判断主因。判断方向比追求一次出好图更重要,因为方向能复用到下一次。
先固定采样参数只调提示词权重,再固定权重只改采样步数,最后在同一随机种子下重跑确认差异不是随机波动。适用场景是参考图已正确载入、构图和风格仍对不上时。操作动作是把当前参数抄成基线清单,做两组单变量对照,记录两次输出的差异点。验证方式是固定种子重跑后偏差是否收敛。风险边界在于:参考图本身的强度、模型版本、分辨率都可能干扰对照,需要逐条在配置里确认后再下结论。
把当前这次出图的全部参数抄成一份可对照的清单
没有基线就没法比较。先把这次出图用到的字段全部落到一份配置里,字段名按你用的界面或接口来填,缺的字段留空并标注“未使用”,不要凭记忆补。
# baseline.txt —— 每次对照前先复制一份,命名带上序号
prompt: "<主体描述>, <风格描述>" # 完整提示词原文
neg_prompt: "<排除内容>"
prompt_weight_main: {主体权重} # 例如 0.8 / 1.2 / 1.6
prompt_weight_style: {风格权重}
steps: {采样步数}
cfg_scale: {引导强度}
sampler: {采样器名称}
seed: {随机种子} # 固定值,不用 -1
ref_image: {参考图路径}
ref_strength: {参考图影响强度} # 若界面有该字段
size: {宽}x{高}
model: {模型或检查点名称}
这份清单的用途是让之后每次实验都能和它对照。如果界面不暴露某个字段(例如参考图强度),就在清单里写“界面未提供”,并把它当作已知干扰项记下来,避免后面把差异误算到权重或步数头上。
固定采样参数,只调提示词权重的对照跑
把 steps、cfg_scale、sampler、seed、ref_image 全部照抄基线不动,只改提示词权重。可以先取两组:一组是主体权重偏低、风格权重偏高,另一组反过来,主体权重上调、风格权重下调。
- 权重偏主体:画面主体形状和朝向通常更接近描述,风格可能变弱或跑偏。
- 权重偏风格:整体气质更接近你写的风格词,但主体构图容易松散。
对比两张图时,只记差异点:主体是否还在、构图是否偏移、风格是变强还是变弱。如果两组都往同一个方向变,说明提示词权重确实在主导贴合度;如果两组差异很小,说明权重不是这次的主因,问题更可能落在采样设置或参考图强度上。
固定提示词权重,只改采样步数的对照跑
把上一步里效果较好的一组权重固定下来,只改 steps。可以先取低步数和高步数两组,其余字段全部不动。
- 低步数:细节容易糊,边缘和纹理不稳定,但整体构图有时反而更贴描述。
- 高步数:细节通常会变多,但如果引导强度或权重本身偏了,高步数只是把偏离“画得更清楚”。
这里要看的不是“哪张更精细”,而是整体偏离是否随步数变化。若低步数和高步数的构图走向基本一致、只是细节量不同,说明采样步数没有把描述压过去;若构图明显不同,才需要把采样设置列为主因候选。需要注意,步数过高时部分采样器会趋于平滑,这属于采样器特性,建议结合你实际使用的采样器确认。
在同一随机种子下重跑,确认差异不是随机波动
前面两步的所有对照,都必须建立在 seed 固定的前提下。做法很简单:把 seed 抄成具体数值,用完全相同的配置连续跑两次,不改任何字段。
两次输出如果基本一致,说明前面看到的差异来自你改动的那个参数,判断成立;如果两次就明显不同,说明当前配置里还有随机来源没被固定(种子为随机、参考图强度随机、或界面本身有额外噪声),此前的对照结论不可用,要先把这个随机来源找出来。这一步是排除“看着不一样其实只是随机”的误判,不要跳过。
按对照结果决定先改哪一侧,并写下参数配置示例
取舍依据可以简化成一句话:只调权重就明显改善,先改提示词那一侧;只改步数才改善、权重变化几乎无感,先改采样那一侧;两边都改善有限,则回到参考图强度和模型版本上确认。把结论落到下次可直接复用的配置里,字段用占位符填:
{
"prompt": "<主体描述>, <风格描述>",
"neg_prompt": "<排除内容>",
"prompt_weight_main": <主体权重>,
"prompt_weight_style": <风格权重>,
"steps": <步数>,
"cfg_scale": <引导强度>,
"sampler": "<采样器名称>",
"seed": <固定种子>,
"ref_image": "<参考图路径>",
"ref_strength": <参考图影响强度>,
"size": "<宽>x<高>",
"model": "<模型名称>"
}
验证方式是:用这份配置替换掉基线里对应的字段,保持 seed 不变再重跑一次,看画面偏差是否收敛——主体是否回到描述的位置、风格是否接近你写的词。若偏差收敛,就把这份配置记为该参考图的可用起点;若仍不收敛,说明还有未固定的字段,回到第一步的参数清单继续排查。