同一段描述在 EdenLive 里重跑却变样,最常见的原因不是模型“随机性大”,而是这次生成的可变输入没有被完整记录下来:种子(seed)或噪声强度、参考图版本、分辨率、采样步数、引导强度中的任意一项变了,结果就会不同。想定位到底哪一项在起作用,可以先不猜,改用“参数快照 + 单项对照”的办法:把每次生成的参数写成一份文件,固定其余项,一次只改动一项,再看结果差异落在哪里。这样至少在现有界面允许的范围内,能把“不可复现”变成“可解释的差异”。
判断方向:先确认生成页面实际暴露了哪些可固定的字段(种子、随机强度、采样步数、引导强度、分辨率等),只固定真实存在的选项;再用 JSON 快照记录每次生成的描述、参考图文件名、分辨率、种子和时间戳。复现时按“固定种子只改描述”“固定描述只换参考图版本”的顺序做对照,最后用快照重跑验证。适用场景是本地或私有部署的 EdenLive 生成页;边界在于,若界面没有暴露种子或后端未回传实际种子,只能靠记录降低不确定性,不能承诺完全复现。
先确认当前生成界面是否暴露种子或随机强度设置
动手记录之前,先对着实际页面把可固定的参数清单列出来。打开一次生成任务,看页面上具体的字段名称和控件类型,不要凭印象假设某个选项存在。通常需要确认的项目如下,具体有无要以你所用版本的页面为准:
- 描述文本(prompt)输入框,是否支持多行、是否有负面描述字段。
- 种子(seed)输入框,或“随机种子”按钮;部分界面会显示“上次使用的种子”回填。
- 随机强度 / 随机性 / noise 相关的滑杆或输入项。
- 参考图上传区,是否支持多张、是否有强度权重。
- 分辨率或宽高输入,是否与参考图比例联动。
- 采样步数、引导强度(guidance / cfg)、采样器名称这类高级项。
- 生成后页面或日志中是否回显实际生效的参数。
如果页面没有种子输入,也没有“复现上一次”的按钮,那就要接受一个现实:这类情况下只能靠外部记录降低不确定性,无法从界面侧直接锁定随机源。可以先看生成完成后的响应或日志里有没有返回种子字段,很多前端把种子藏在接口返回里但没有展示;有的话,把它抄下来同样能起到固定作用。没有对应设置时,写明“该版本不支持固定种子”,比反复重跑碰运气更有用。
把每次生成的参数写成一份快照文件
记忆不可靠,尤其是隔了一两天想复现某张满意的图。建议每次生成后立刻写一条快照,字段不求多,但要求能还原这次输入。文件名可以按“日期-序号”命名,例如 snap-001.json,和生成的图片放在同一目录,方便对应。
{
"snapshot_id": "snap-001",
"created_at": "2025-01-01T10:00:00+08:00",
"prompt": "这里填本次使用的完整描述文本",
"negative_prompt": "",
"reference_images": [
{"file": "ref_a_v2.png", "weight": 1.0}
],
"resolution": {"width": 768, "height": 1024},
"seed": 123456789,
"random_strength": 0.3,
"steps": 30,
"guidance_scale": 7.0,
"sampler": "默认采样器",
"output_file": "out-001.png",
"notes": "本次为基线快照"
}
字段说明:seed 和 random_strength 若界面不提供,就填 null 并在 notes 里注明“界面未暴露”,不要留空让人误以为已经固定。created_at 建议带时区,跨时区协作时不会对不上。reference_images 记录的是文件名而不是路径,路径可能变,文件名配合版本命名更稳。快照文件不用手写,如果调用的是 HTTP 接口,可以在请求发出前把参数序列化后写一份日志;纯网页操作就复制一份模板改字段,成本也不高。
固定种子只改描述,观察结果变化幅度
有了快照,第一步对照实验是:种子、参考图、分辨率、步数、引导强度全部保持不变,只改描述文本。这一组实验回答的是“描述对结果的影响有多大”,也顺带验证种子是否真的生效——如果种子固定但结果仍然完全跳变,那说明种子没被后端采用,或者随机强度在起作用。
- 用基线快照重跑一次,不改任何字段,确认同一组参数下结果是否接近。
- 在基线快照上复制一份,只替换
prompt中的一两个关键词,其余字段逐字不变。 - 记录输出的
output_file,并在快照里加一条compare_group: "prompt-only"之类的标记,便于事后归类。
变化幅度的描述要落在可观察的维度上,不要写“好了 30%”这种无法核验的说法。可以这样记:构图主体位置是否移动、配色分布是否整体偏移、细节纹理是否从锐利变模糊、是否出现新增或消失的元素。把这些写进快照的 notes,几次之后你就能判断描述改动带来的波动是轻微修饰还是整体重绘。
固定描述只换参考图版本,排查素材侧变化
第二组对照实验处理素材侧:描述、种子、分辨率等全部不动,只替换参考图。这一步的前提是参考图有清晰的版本命名,建议采用“主体_版本_日期”的形式,例如 ref_a_v1.png、ref_a_v2.png,避免出现 ref_final.png、ref_final_new.png 这种无法区分先后的命名。替换时在快照里同时记录新文件名,并注明与上一版的差异点:裁剪范围变了、亮度调过、背景被换了、主体姿势不同。
比对方式建议同时看图和人眼看指标:先把两张参考图并排看尺寸和主体占比,确认不是分辨率被悄悄改了;再比对生成结果的构图是否跟随参考图变化。若换回旧版参考图后结果又回到接近基线的状态,基本可以判断差异来自素材版本,而不是种子或描述。需要提醒的是,参考图权重、裁剪方式这类处理逻辑可能由界面自动完成,替换图后要顺带确认页面上的预览是否与上传文件一致。
用快照重跑一次,确认能否复现
最后一步是把记录变成可验证的能力。挑一份较早的快照,按文件里的字段逐项在界面上还原,生成一张新图,与快照记录的 output_file 对比。验证判据建议分成“算复现成功”和“属正常波动”两档,判断标准提前想清楚,避免事后找理由。
- 算复现成功:主体位置与数量一致,整体构图布局一致,主色调一致,参考图特征方向一致。
- 属正常波动:细节纹理的细微差异、局部笔触走向、轻微噪点分布、次要元素的边缘模糊程度。
- 需要警惕的不一致:主体消失或新增、构图整体翻转、配色完全偏离、参考图特征未被采用——出现这类差异,优先怀疑种子未生效或参考图版本不对。
如果逐项还原后仍出现警惕类差异,按快照里的字段顺序排查:先确认页面回显的种子与快照一致,再确认参考图文件名与版本对应,最后检查分辨率是否被界面按比例改写。需要结合环境确认的是,某些部署方式下后端会使用默认种子而不读取前端传值,这类情况只能通过对比接口返回和页面显示来判断,不能从界面上直接看出。把这些观察补进快照的 notes,下一次排查会更快。