Seedance 2.5 行为规律 v1
数据来源:主体为《1000人后室大逃亡》项目 2026-08-05 ~ 08-08 的实测, 原始记录在
E:\backrooms-1000\production\README.md(第一~第十一条)与production/prompts/。 两条入口都跑过 Seedance 2.5:Flova(自然语言 + 上传参考图)与 Dreamina CLI(multimodal2video)。下文标注了哪些结论是管线特性、哪些是模型特性。2026-08-25 补充来源:65_过风 项目,LibTV CLI 直连
star-video2.5(不经 Flova / 即梦)。 这是本档第一次拿到不经任何编排层的样本,因此也是第一次能把「模型行为」与「管线行为」分开—— 第一节有一条据此作废、两条据此降级。⚠️ 本档案记录的是模型行为。怎么写 prompt 的完整规范在项目仓库,不在这里重复。
一、结构性行为
长视频内部按约 6 秒自动分段 🔴 已作废(2026-08-25)
这条不是 Seedance 2.5 的模型行为,不该留在本档。
原记录(2026-08-08,Flova 侧观察):25 秒长镜切点落在 6.00 / 12.00 / 18.00 秒帧级精确, 判为「模型内部的生成分段,prompt 层完全触及不到」,标 ⭐⭐。 归因越位——Flova_平台档案_编排层不是模型层_v1 第六节当时就把这次观察挂成了 「三臂对照已设计、实际生成 0 次、结论待回填」,归因没做完,结论已经先落进模型层档案。
推翻它的实测(65_过风 项目,2026-08-25):
| 项 | 值 |
|---|---|
| 路线 | LibTV CLI 直连 star-video2.5,不经 Flova |
| 参数 | image2video / 9:16 / 1080p / duration=30 / 单条 |
| 硬切检测 | ffmpeg select='gt(scene,0.3)' → 输出为空,0 处切点 |
| 逐秒亮度 | 143.9 → 117.9,单调平滑,无跳变(下降是推近导致主体占比上升,不是切点) |
→ Seedance 2.5 单条 30 秒不分段。 6 / 12 / 18 / 24s 一个切点都没有。
⚠️ 但 Flova 那次分段的根因仍未定案,本次数据区分不了这两个解释:
- Flova 编排层自己切的(主创当前判断)
- Flova 上游是 Seedance 2.0,而 2.0 系时长上限 4–15s,25 秒的请求必须被拆 —— 这个反解释是 Flova 档第六节自己写下的,并指出它「恰好是判据 1 预测的那种误判」
本次只跑了直连臂(LibTV 代替即梦 CLI),没有回 Flova 重跑,所以两个解释都还站着。 同日的一个旁证偏向要认真对待解释 2:MiniMaxH3_行为规律_v1 §四 新补的实测显示, H3 在 LibTV 上卡 15s 不是平台限速、是 362 帧的训练边界—— 「上限来自模型不来自平台」这件事今天刚独立发生过一次。
当前可用的口径:
- ✅ 可以说:Seedance 2.5 直连单条 30s 不分段,不要再按 6 秒节拍去设计长镜。
- ❌ 不要说:「6 秒分段是 Flova 的问题」——这一半还没测。
- 待补的一臂:在 Flova 上跑一条 15 秒以内的镜头看它切不切。切 → 解释 1;不切 → 解释 2。
内部景别切换:跨度不够大就不切 ⭐⭐ → ⚠️ 降级存疑(2026-08-25)
- ✅ 切成功:微距↔中景、特写→反应镜头→中景(换主体:人↔物、主角↔围观者)
- ❌ 切失败:同场景内的中景→特写,连续两次、反复强调都没切
⚠️ 连带降级:这条与上面那条同一台仪器(Flova)、同一批观察得出。 上面那条已确认不是模型行为,本条的层级归属因此一并存疑—— 观察到的「切/不切」可能同样是编排层的行为。在直连侧复跑之前不要当模型规律用。
反复强调「同机位/保持连贯」会压掉你要的切换 ⭐⭐ → ⚠️ 降级存疑(2026-08-25)
某版 prompt 强调四遍同机位,结果 8 秒全程一个机位没切。 要切换就把段落写简洁、切点写明确,别同时写连贯性要求。
⚠️ 同上,同批仪器,一并存疑。 附一个反向数据点:65_过风 的直连 30s prompt 里 写了「整支片子只有一个镜头」「从头到尾保持同一个速度」这类连贯性要求, 出片确实零切点——但该片本来就不要求任何切换,所以这不构成对本条的检验,只是不矛盾。
二、画面内文字:判据是字号,不是字数 ⭐⭐⭐
原来的口径「AI 生成的文字几乎必崩」和后来的「长中文必崩」都被实测推翻。 把六个样本的笔画外接高度量出来之后,规律是干净的(全部按 1280×720 成片测):
| 字高 | 占画幅高 | 判定 |
|---|---|---|
| ≥45px | ≥6.0% | ✅ 大胆原生出,长中文一样一字不差 |
| 约 20px | 约 2.8% | ⚠️ 临界区,先出一条验 |
| ≤20px | ≤2.8% | 🔴 一律后期叠加,写什么都会崩 |
关键实证:
- 同一行 10 字中文、同一块资产图,只把铭牌在画面里放大约 2.5 倍 → 从错 4 字变成一字不差。 而且放大那一版还多了一个推近运镜,按老规则应该更糟,结果反而对了。
- 广角 + 有纵深 + 同屏七处文字 + 含电话号码
138-8888-8888→ 一处没崩。 - 最小的失败样本:英文 6px(0.83%)、中文 16px(2.22%) → 英文丢字母、中文糊成一团。
推论:字数看起来像原因,是因为铭牌宽度固定——字多了每个字就小。 要问的不是「几个字」,而是「这个字在成片里有多少像素高」。
一次性解错,然后稳定保持那个错误 ⭐⭐
错字在相隔 3.3 秒的两帧之间一模一样、没有变形。 说明它不是逐帧抖动,而是一开始就把字形解错、之后忠实复现。 → 抽两帧对照就能判,不用逐帧看。
原生比后期更协调(反直觉,但有实证)⚠️
原生出来的字自带四件事:半透明(背景从字后透出)、和载体同一种辉光、 跟着载体斜面走透视、载体明暗变化时字跟着亮暗。 这四件后期都能做,但每一件都要单独对齐一次。
一个结构性死局要认出来 ⚠️
如果镜头的运镜是「推到某个 logo 占满画面」,那么等字够大的时候铭牌已经被推出画外—— 不存在「又在画内又够大」的窗口。遇到这种镜头不要反复试,直接做成空白板 + 后期叠字。
三、运镜:要劝退的是性质,不是长度或有无
| 安全 | 劝退 |
|---|---|
| 匀速轨道式跟拍 · 匀速弧线环绕 · 匀速缓推 · 匀速垂直升起 · 穿越机匀速穿行 | 甩镜 · 快推 · 手持抖动 · 中途变速 |
长镜运动的安全区实测至少 25 秒。原来「连续长镜运动劝退」那条太粗。
构图不变量锁得住位置,锁不住幅度 ⭐⭐
写「主体在画框哪个位置」能生效;不约束推进的量。 模型把「匀速推到底」当主目标、不变量当软约束,冲突时先满足前者—— 于是一路推到主体填满画框,位置关系全对、景别全丢。
按起手景别完全分成两组(同批 6 条,无例外):
| 起手景别 | 不变量结果 |
|---|---|
| 全景 / 大远景 | ✅ 全部成立 |
| 中近景 / 近景 | ❌ 全破,主体被切出画框 |
写法:
- 不变量除了「主体在哪」,要写「全程还要看得见什么」,列到边缘物件。
- 给幅度显式上限并明说宁可推少:「如果再推这条就要破了,就在破之前停下。」
⚠️ 三条失败同批次发生,不算独立样本;修复句只验证过一次。
2026-08-25 补第二组数据(65_过风 项目,LibTV 直连 Seedance 2.5,30s / 1080p / 中近景起手): 上面那两条「写法」全部照做了——列了三件必须全程可见的边缘物件(头顶发际线 / 两侧肩线 / 珍珠最下面那串), 也写了「如果再推近就要把头顶或肩线推出画外,就在那之前停下——宁可推得少一点」。结果:
不变量 29s 时 整个头顶发际线 ❌ 已推出画外 两侧肩线 ✅ 守住 珍珠最下面那一串 ✅ 守住 从「全破」改善到「破一项」——写法有效,但锁不死。 中近景起手这一组的判定维持 ❌,不升级。 想彻底守住只有一条路:机位锁死。 同项目的 MiniMax H3 版写「机位从第一帧到最后一帧一模一样」, 15s 全程零位移(逐秒亮度 145.5→142.6 波动 ±2;对照组 Seedance 推近版是 143.9→117.9 单调降)。 → 凡是中近景起手且构图不可牺牲的镜头,不要用「限幅」,直接放弃运镜。
空间关系是一张网 ⚠️
改了主体的运动方向,「谁在谁身后」「摄影机在哪一侧」「威胁从哪来」全都要重算。 实测事故:改了奔跑方向却留着「怪物从画面深处涌出」,变成主体朝威胁来的方向跑。
写法:追逐/进出画/正反打的镜头,**先单写一段【空间关系】**把 摄影机/主体/威胁三者钉死,再写动作。
四、参考图与文字的优先级
参考图里有的东西,prompt 与负面词都压不住 ⭐⭐⭐
模型会忠实复现参考图。对策是换图/裁图/不挂图,不是加负面词。 反过来也成立:图干净了,生成就干净。
但冲突属性上,文字赢过参考图 ⭐⭐
一句全画面级禁令(「画面里不要出现任何文字或商标」) 会把资产图上的贴纸/招牌/标识全铲干净,即使挂的是带标识的原图。
实证:某辆标志性摩托的整套贴纸就是它的辨识度,删掉那句禁令 + 换回带贴纸原图, 一次就对,连中文字都一字不差。
落地:不写全画面级禁令。只针对具体那一处写,且用肯定式描述期望状态。 资产图上本来就有的标识,要在镜头内容里正面点名要求出现, 并注明「字母生成得不精确也没关系,有比准更重要」。
小尺度下的面部重建需要专门的面部锚点 ⭐⭐
上一镜的尾帧管不住脸。尾帧是一张脸高约 250px 的大特写, 下一镜里主体在奔跑、脸小又在动 → 一步崩成另一个人(年龄感差 15 岁), 不是渐进漂移。
落地:凡有锚点角色出镜,角色资产图一律挂上,不管上一镜尾帧多清楚; 同时用文字写死年龄段/脸型/脸颊/下颌线/法令纹有无/眉形/发量, 并补一句动态约束「他在奔跑/大喊/侧身躲闪时也必须还是同一张脸」。
五、否定句的用法(分界线清楚)
| 写法 | 判定 |
|---|---|
| ✅ 肯定式定量 + 站位(「画面里只有两名围观的男大学生并排站着」) | 有效 |
| ✅ 收尾否定但不点名新实体(「除这两人外画面里没有别人」) | 有效 |
| ✅ 对照式反例,用来封住已知的漂移方向(「不要做成方下颌的中年男人」) | 有效 |
| ❌ 列举不想要的元素(「没有标题栏、没有侧栏、没有输入框…」13 个否定) | 五版全崩 |
| 🔴 点名高先验实体去否定它(「不要孙悟空」) | 最糟,等于凭空引入 |
「肯定式锁定句」已三次验证有效 ⭐⭐⭐。要点是给出正面的物理解释—— 「刚拆封、还没进过打印机的空白复印纸」比单说「空白的」有效, 模型需要一个理由去渲染空白。
⚠️ 管线特性(不是模型特性)
Dreamina 的 multimodal2video 没有 negative prompt 通道,
flag 里只有一根 --prompt。所以「加负面词排除 X」落地就是把 X 拼进正向 prompt。
Flova 走自然语言,这条不适用;但 Flova 会自动追加负面提示词,
归档要存追加后的完整原文。
六、控人数与群体
- 必须给具体数字和站位(「左边一个右边一个」「只有三个远小剪影」)。
- 写「密集但看不清脸」这类形容词无效——实测背景冒出几十个人做整齐划一的动作。
- 同框人物 ≤3 且优先剪影/背影/远景/局部。
- 大规模人群可行的唯一写法是重运动模糊 + 高速穿行,让五官根本无法解析。
七、其他实测数据
| 项 | 值 |
|---|---|
| Flova 直出 | CFR 24,1280×720 |
| Dreamina 直出 | VFR(标称 60/1,实际平均 24.03–24.15)→ 进时间线前要转 CFR |
| 积分消耗 | 实测约 59 分/秒,比早期估算的 31 分/秒高近一倍 |
| 中文台词 + audio tags | ✅ 零泄漏(3 音色 × 4 组 = 12 次);stability: creative 下 tag 响应最强 |
| 视频模型自带 TTS | ⚠️ 只当占位。读音错了不要在视频模型里反复调——改一段读音要求会引起画面退化(实测背景人群退化成扁平卡通矢量小人)。台词走 Eleven v3 |
验证等级说明
⭐⭐⭐ = 三次以上跨场景成立,可用于指导决策; ⭐⭐ = 二次验证; ⚠️ = 初次发现,只作为值得继续观察的假设,不能当铁律用。
关联文档
- 2026-08-08_后室大逃亡S45-S48_运镜与跨镜一致性返工复盘 —— 本档案第三、四节的主要来源
- 2026-08-05_后室大逃亡配音工序_四音色定版复盘
- Eleven_v3_行为规律_v1
- 可灵Kling3_0_行为规律
- 图生视频_ForwardOnly原则
- Flova_平台档案_编排层不是模型层_v1 —— 编排层的对应档案。本文只写模型行为,平台能力边界与项目记忆机制看那边
- 2026-08-08_后室大逃亡S43长镜头_归因未遂与生死线次序复盘_v1 —— 同项目、同日;6 秒自动分段这条的原始归因过程在那边
- MiniMaxH3_行为规律_v1 —— 开源权重路线的对应档案。被会员门槛挡住时的另一条路,prompt 规范与本文完全不通用(H3 是六段式结构 +
引用)