在 HiDream-O1-World 里搭场景,最先要定的不是画面好不好看,而是这次跑用哪几路输入模态、一次跑多长、什么时间点插入新条件。这两项一旦定死,后面画面变好或变坏才能归因到内容改动上;否则一边加图一边改节奏,最后既说不清是哪一步起的作用,也没法把有效配置抄到下一次。
适用于需要多次迭代同一场景、并希望配置可复用的搭建流程。操作上先冻结模态组合与时序节奏,再动场景描述、视角和动作;验证方式是同一份参数清单连跑两次,观察输出是否只在被改动的那一项上出现差异。边界在于:当内容本身需要换表现载体(例如从纯文本改成图文)时,冻结会被迫打破,此时按最小改动法留对照记录,而不是推翻全部参数重来。
先决定文本、图像、音频各占哪几路输入
把模态组合当成一次性开关,而不是每轮都能拧的旋钮。可以先按下面几类对照自己的场景:
- 纯文本:适合先确认场景结构、镜头顺序和动作走向,变量最少,改动最快。
- 文本 + 单张参考图:适合需要固定画面风格、角色外观或构图时使用,文本管动作和镜头,图像管外观约束。
- 文本 + 多张图:适合同一场景里有多个需要保持一致的视觉锚点(环境、人物、道具),代价是每张图都会带来新的不一致来源。
- 文本 + 图像 + 音频:适合要卡节奏、口型或音效落点的场景,代价是排查时多了一条时间轴要对照。
切换模态后必须重新记录:本次模态路数与各路承担的角色、每路输入的来源标识(文件名或 ID)、输入顺序,以及切换发生在第几轮。不要拿上一轮的参数清单直接改,容易把上一轮的图像约束误当成文本描述继续用。
再定时序节奏:一次跑多长、什么时候插入新条件
节奏应当是固定项,内容才是变量。建议把节奏拆成可记录的字段:单次运行时长或总帧数;新条件的插入时间点与插入方式(替换、追加、切换);每个条件覆盖的区间长度;是否允许条件重叠以及重叠区间长度。
同一内容在不同节奏下的观察项,主要看三件事:新条件生效的位置是否落在预期区间、条件切换处画面是否出现跳变、同一动作在拉长或压缩节奏后是否仍然完整。这三项都记下来,后面才有对照依据。
把锁定项写成一页参数清单
清单的作用是让下一次实验能直接照抄上次的有效配置。建议字段固定,一页写完,留空位也要显式留出来:
scene_id: # 本次实验编号
modality: # text | text+image | text+image*N | text+image+audio
input_refs: # 每路输入的来源标识,按输入顺序排列
rhythm:
duration: # 单次时长或总帧数
insert_points: [] # 时间点 + 插入方式
overlap: # 是否允许重叠及长度
content:
scene_desc: # 场景描述
camera: # 视角/镜头
action: # 动作
notes: # 本次未改动的项写「未改」,暂时不确定的写 TBD留空位的写法要克制:能确认的填值,暂时不确定的写 TBD 并注明待确认原因,确定不参与本次实验的写「未改」。不要把空字段当成默认值,否则下次照抄时分不清是自己漏填还是本来就该默认。
中途必须改条件时的最小改动法
不得不改时,先停下当前这轮迭代,把改动压到一项。操作顺序建议是:确认当前清单已保存 → 选定唯一要改的字段 → 复制一份新清单并改 scene_id 与说明 → 只改那一项 → 跑一次 → 记录两次输出的差异点。
run_a: {scene_id: S01, modality: text+image, camera: 中景, action: 转身}
run_b: {scene_id: S02, modality: text+image, camera: 中景, action: 抬手}
diff : action 一项变化(S01 -> S02,其余字段未改)如果一轮里既改了模态又改了节奏,输出的差异就失去归因价值,等于把这轮跑废。对照记录里其余字段原样保留,只让被改的那一项不同,才方便下次复用。
前后画面接不上时按清单逐项回退
画面接不上时,不要先去动内容描述,按清单从最后一次改动往前退:
- 回到最近一次有完整清单的运行,把它当作基准,确认基准本身是接得上的;若基准已断,继续往前退一次。
- 把最近一轮的改动项单独还原,其他项保持不动,跑一次。判定标准:断点是否消失。消失则断点由这一项引起,停止回退。
- 若断点仍在,保留已做的还原动作,再还原上一项,重复同样的判定。
- 退到模态或节奏层时停下,先确认这两项是否被无意改动。判定标准是:断点是否从单点扩散成多段,模态与节奏的改动通常影响整段而不是某个位置。
每一步只回退一项、只跑一次、只记录一个判定结果,直到断点消失的那一项被锁定,再把它写进清单的 notes。回退过程中产生的中间清单建议都留着,它们是下一次遇到同类断点时最省事的对照材料。