同一句提示词跑两次差别很大,通常不是模型在“随机发挥”,而是这次请求里还有没被锁住的随机项:种子没指定或被界面重置、分辨率随默认值变化、采样步数被预设覆盖、提示词被模板拼接后实际内容变了。判断方向是先固定随机源,再做单变量对照——每轮只改一项,其余全部写死,否则无法判断差异来自哪里。
SeFi-Image 出图不稳,先按“种子 → 分辨率/宽高比 → 采样步数 → 提示词文本”的顺序锁变量:第一轮固定种子和步数只调尺寸,第二轮固定种子和尺寸只调步数,第三轮同步锁定提示词原文(含负面提示词与模板前后缀)。验证方式是每次改动只产生一组对照图并记录完整参数;如果重跑同一组参数仍不一致,需要先确认随机种子是否真正生效、模型文件与采样器是否同一份,而不是继续调参。
列出所有会改变输出的可调项并排序
先把可调项分成两类再看优先级。随机项只要不固定,同一提示词两次结果必然不同;确定性项写死时输出一致,但改动其中任何一项,输出就会变。
- 随机项:种子未填或填 -1、批次内种子分配方式、默认开启的随机后处理(裁剪、增强)。
- 确定性项但会改变结果:采样步数、分辨率与宽高比、采样器与调度器、CFG 引导、模型与精度。
四类高频项的区分:种子是随机源,固定后其他项一致才谈得上复现;步数是采样迭代次数,影响收敛程度和细节量;分辨率同时改变潜空间尺寸,等价于换了一张初始噪声,会改构图,且常与宽高比绑定;提示词是文本输入,必须逐字一致才算固定,空格、标点、模板自动拼接的前后缀变化都算改了输入。
排查优先级从高到低:种子 → 分辨率/宽高比 → 采样步数 → 提示词文本(含负面提示词)→ 采样器与 CFG → 后处理与放大。理由是随机项和尺寸项会整体重排画面,步数和 CFG 更多改细节强度,后处理只影响最终像素。把基线写成可复制的配置,后续每轮只改其中一个字段:
{
"model": "sefi-image-base",
"prompt": "...",
"negative_prompt": "...",
"seed": 123456789,
"steps": 20,
"width": 768,
"height": 768,
"sampler": "默认采样器",
"cfg_scale": 7,
"batch_size": 1
}字段名按你实际使用的接口或界面替换,关键约束是每轮只允许一个值变化。
固定种子后只改采样步数
这一轮回答的是“步数带来的差异有多大”。种子、尺寸、提示词、采样器、CFG 全部沿用基线,只把 steps 设成一组梯度,例如 10、20、30、40;如果模型默认值偏低,可以从 8 起。梯度跨度不要太大,否则同时混入了收敛变化和风格变化,难以归因。
输出的对比方式:每张图存成带参数的文件名,例如 seed123456789_s10_768x768.png,同一屏并排看。差异描述只写可观察到的现象,不写“更好”:
- 构图骨架:主体位置、朝向、画面分割方式是否变化;
- 细节层:边缘、纹理、细小结构是否出现或消失;
- 稳定层:同一区域是否出现结构性错误,例如多指、断层、模糊块;
- 整体层:明暗、对比、色彩偏移。
通常如果低步数时构图就已确定,加大步数多半只改细节层;如果从低到高构图持续在变,说明当前采样器或调度器在该区间尚未收敛,步数就是高影响项,必须写进记录。不要用单张图下结论,至少比较相邻两档。
固定种子与步数改分辨率与画面比例
固定 seed 与 steps,只改尺寸。建议一次对照四组:基准方形、同面积放大、竖版、横版,例如 512×512、768×768、512×768、768×512。选尺寸时优先贴近模型的出图基准,偏离越多,重复主体和边缘畸变的概率越高。
观察点包括:主体在画面里的占比与位置、留白与裁切、是否出现重复结构(双头、多肢、重复背景元素)、文字或对称结构是否被拉断。宽高比变化时,同一种子对应的初始噪声形状不同,构图变化属于预期结果,不能把它当成“随机波动”来排查。
尺寸对照记录(每行只改尺寸,其余沿用基线)
seed steps size 主体占比 构图变化 畸变/重复 备注
123456789 20 512x512 ... 基线 ... -
123456789 20 768x768 ... 放大细节 ... -
123456789 20 512x768 ... 竖版重排 ... -
123456789 20 768x512 ... 横版重排 ... -只改提示词,观察文本侧的波动幅度
把文本影响和参数影响分开:种子、步数、尺寸、采样器、CFG 保持基线不变,只改提示词,且一次只改一处。改写方式建议控制在这几种:
- 加一个主体修饰,例如把“红色夹克”改为“深红色夹克”;
- 替换一个风格词,例如写实换插画,其余不动;
- 在负面提示词里增删一项;
- 调整词序,或去掉一个逗号分隔的短语。
如果只改一个词就出现构图级变化,说明文本权重很高,后续做参数对照时必须把提示词当作固定基线,一字不改地复制;如果文本微调只影响细节,参数对照中的噪声就更容易被辨认出来。
提示词对照记录
变体 提示词(逐字复制) 负面提示词变化 seed/steps/size 观察
A 基线原文 无 123456789/20/768² 基线
B 基线 + "深红色夹克" 无 同上 局部颜色
C 基线,风格词改为"插画" 无 同上 整体画风
D 基线 增加"文字" 同上 结构变化记录时保存提示词原文,包括空格、标点和模板自动拼接的前后缀;很多所谓“同一句提示词”,其实被模板加上了不同的质量词。
固化一份能稳定复现的参数记录
记录字段至少包含:seed、steps、width×height、prompt(原文)、negative_prompt、采样器与调度器、CFG、模型名称与版本或文件哈希、批次大小、是否开启后处理。如果界面或接口把 seed=-1 解释为随机,或每次请求返回不同的实际种子,要把服务端回传的最终种子一并记下来。
seed: 123456789
steps: 20
size: 768x768
sampler: 默认采样器 / 调度器名称
cfg: 7
model: sefi-image-base(记录版本号或文件哈希)
prompt: ...(逐字,含标点)
negative_prompt: ...(逐字)
postprocess: 关闭 / 名称
batch: 1复现验证步骤:一是用记录里的参数原样重跑一次,与存档图逐项比对构图、细节和明暗;二是确认种子真的生效,可在界面上把同一参数连跑两次,若两次结果不同,先查前端是否覆盖了 seed,而不是继续调步数;三是换机器或换环境时核对模型文件与采样器是否一致;四是确认放大、锐化、缓存这类后处理是否被默认打开。任何一项对不上,都应当先补齐记录,再谈调参。