AI 视频的尾帧接首帧:多段生成怎么接成一条完整的片子

做过 AI 视频的人大概都遇过同一件事:单独看每一段都不错,拼起来就是「不对」。

人物长相飘了一点,光的方向跳了一下,上一段往右走、下一段从右边进来——单看每一帧都没毛病,连起来看就是两回事。于是很多人回头去调提示词、加参考图、换模型,越调越玄学。

但真正的问题可能不在「生成得不够好」,而在接缝:这一段的最后一帧,和下一段的第一帧,是不是同一帧。

一、把任务切小:连续性来自接缝被锁住

先看官方给出的一个参数。Seedance 的接口里有 return_last_frame,布尔值,默认 false。置为 true 之后,模型在生成视频的同时会额外回给你一张图——视频的最后一帧。按照火山方舟参数文档的描述,这张图是 jpeg 格式、宽高像素值与生成的视频一致、不含水印。

顺带一句:海外入口(BytePlus)侧把同一个参数描述为返回 PNG。同一个模型、同一个参数名、两个入口、两种格式描述——这也算「写规格必须写明入口」的一个现成例子。

官方对它的用途说明写得也很直白:用上一条视频的最后一帧,作为下一条视频任务的首帧,从而快速生成多条连续的视频。

也就是说,「尾帧接首帧」不是什么民间偏方,它是官方参数的存在理由。

单段时长方面,Seedance 2.0 系列是 4–15 秒,2.5 是 4–30 秒(以页面实时展示为准)。所以「切段」有两个理由:

一是时间上必须切——超过单段上限的内容,只能分段生成;
二是控制上应该切——一段里要做的事情越少,模型的任务就越明确。

后者才是关键。一次生成 30 秒,模型要在这 30 秒里自己决定节奏、决定在哪个时刻发生什么;而切成 5 段、每段 6 秒,模型的任务被压缩成「从这一帧走到下一帧」。任务从「自由发挥」变成了「从 A 走到 B」,可控性才上来。

落地就是三步:

  1. 开:把 return_last_frame 置为 true,让这一段生成完时附带回一张尾帧图。
  2. 取:把那张图下载到本地。这里有一个很容易踩的坑——据托管平台文档,任务完成约 24 小时后,尾帧的下载链接会被清理。图还在,链接没了。所以流程里必须是「落盘」,不能是「存链接」。
  3. 续:把这一帧作为下一段的首帧提交,提示词开头写「直接从参考帧继续」,后面只描述接下来发生什么,不再重新描述整个场景。

二、一条很少有人写的约束:三种场景互斥

如果你打算把这条链一直接下去,下面这条约束会决定你的整个工作流。

火山方舟的文档里写得很清楚:图生视频-首帧、图生视频-首尾帧、全模态参考生视频(包括参考图、视频、音频)为 3 种互斥场景,不可混用。

也就是说,一次请求里你只能选一种:

  • 要「起点和终点锁死」,就给首帧(可选再给尾帧)——但这次请求里不能再挂参考图;
  • 要「角色长相、产品外观、场景、音色锁死」,就挂参考素材(参考图 1–30 张,参考视频与参考音频各不超过 10 段)——但这次请求里没法指定结束在哪一帧。

还有一个容易被忽略的细节:一旦进入首尾帧模式,ratio 必须为自适应,输出宽高比会自动跟随首帧图——你想另设 16:9 或 9:16 是不生效的。

官方也留了一条折中路径:全模态参考生视频可以用提示词指定某张参考图作为首帧或尾帧,间接实现「首尾帧 + 参考素材」的效果。但它同时说明:若需严格保障首尾帧和指定图片一致,优先使用图生视频-首尾帧。

这句话的分量在于——「间接实现」和「严格保障」之间的差距,就是你要做的取舍。 想让接缝稳,就用专门的首尾帧模式;想在一次请求里喂很多参考素材,就得接受接缝松一点。

这条约束的后果链值得单独说一遍:

两者互斥 → 接戏链上挂不了参考图 → 角色身份只能由模型从那一帧重建一次 → 链越长越漂。

这解释了很多人遇到的那个现象:明明每一段都是接着上一段做的,为什么到第五、第六段,脸还是慢慢变了。不是模型不行,是首尾帧这一次请求里,没给它锁身份的入口。

对策也由此而来:不要一路接到底,要定期回锚。 每 3–4 段停下来,另起一次请求——切到参考模式,用角色的参考素材单独生成一段锚定内容,确认身份回到基线,再从这一段的尾帧继续往下接。

这里有一个必须提前说清的前置条件:模型不支持直接上传含有真人人脸的参考图或参考视频。 官方给出的替代路径之一是「已授权真人素材」,落到产品上,通常就是素材先上传素材库、审核通过后从库里调用。所以如果角色是真人,回锚那一步得先把这张参考素材走完入库审核——这一环不打通,回锚就无从执行。

三、接缝的五项核对

知道了机制,接下来就是判定标准。每一个接缝,都该和上一段对一遍下面五项:

  1. 角色身份。挑 2~3 个可核对的固定特征逐段对:发际线、眉形、痣、耳形、手型。不一致的表现是五官逐渐「换人」,越到后面越明显。
  2. 服装与妆造。颜色、材质、领口样式、配饰。最常见的崩法是上一段浅色上衣、下一段深色上衣——观众一眼就看到。
  3. 道具与开合状态。瓶盖是开是合、余量、标签朝向、东西拿在哪只手。这里的写法有个小技巧:写「结束状态」而不是写「动作」。「结尾时杯子是满的、手已经撤出画面」比「她倒了一杯咖啡」有效得多。
  4. 行进方向与画面动线。上一段往哪边出画、主体在画面左还是右。方向反了,观感像被弹回去。
  5. 光源方向与色温。主光来自哪一侧、光比、时段、色彩分级。光「跳」一下,画面立刻有拼接感。

核对的顺序也有讲究:先核光源与方向(这两项错了整段作废),再核身份与服装(需要重新生成),最后核道具状态(可以局部编辑补救)。

最重要的是——核对动作要在接下一段之前做,而不是等全片拼完再回头看。 那时候返工的是整条链。

四、受控改动窗口:尾帧该改什么、不该改什么

这是整件事里最需要手感的一环。

接戏的本质是让模型在两帧之间插值出运动。那么问题是:下一段的首帧,相对上一段的尾帧,允许多大差异?

差异太小,模型没有可插值的变化,画面会「不动」、原地抖动,或者干脆复读上一段。差异太大——换了场景、换了时段、换了姿势体系,或者相机反向——中间那一段就会「融化」:多手多脚、主体变形、身份直接崩。能用的区间在中间,通常叫它「受控改动窗口」。

把窗口两侧写清楚,其实就是三张清单:

必须冻结:角色身份、服装与妆造、道具状态、光位与时段。

允许推进(一次只推进一格):动作上只推进一个主动作,不做第二件事;相机上只做一个方向、速度恒定;情绪上写明从 A 点到 B 点的单步推进——不写「让他笑」,而是写清从哪一刻开始、推进到什么程度。

越界(一改就崩):切场景、换时段、反方向运镜、中途加新主体。

举个示意性的分段(示例为虚构,仅用于说明方法):一条 30 秒的产品短片,拆成 5 段——起手定住主体与光位(6 秒)、产品旋转到位(6 秒)、使用动作推进(6 秒)、镜头横移带出环境(6 秒)、收势定格(6 秒)。每一段只做一件事,接缝处只推进一格。这一段表不是为了好看,是为了让每个接缝都落进受控改动窗口里。

用一句话自检:把相邻两段的提示词并排写出来,看它们在描述同一个场景还是两个场景。 同一场景、同一时段、同一光位、方向不变,改动就落在窗口内;只要有一条不成立,这个接缝就该拆成两段来做。

五、一段只做一个动作、一个运镜动词

复合运镜是接戏链的头号杀手。

把「推 + 摇 + 跟 + 变焦」写进同一段,模型必须在同一段时间里同时决定四件事:相机往哪个方向、以什么速度、主体往哪走、什么时候切换。四件事里错一件,整段不可用。而更麻烦的是,崩掉的那一段会污染它后面的链接——它的尾帧本身就是坏的。

可行的做法是把运动拆成动词链:启动 → 俯冲 → 滑翔 → 横移 → 逼近。每一段只负责一个动词,且写成「单一 + 一个方向 + 速度恒定」。运镜的连续感不由单段提供,而由整条链提供。

判断规则很实用:如果一段的提示词里出现了两个以上的运镜动词,就该拆成两段。 顺带一提,提示词里的「同时」「然后」「接着」这三个词,基本上就是拆段的信号。

还有一条来自平台方教程的实践建议:镜头语言要可量化。 写「在腰部高度向右跟拍」,不要写「富有动感的电影级运镜」。前者是可复核的指令,后者是形容词。

六、接缝失败归因:先看第一秒

大多数接戏失败不是「抽卡没抽好」,而是起点不对,或者锚点没写清。所以排查也应该有固定顺序。

几条最常见的对应关系:

现象 首查项 处置
第一秒就跳变 交接帧本身 往回导出更早的一帧清晰帧;让新段以更缓慢的运动起手
五官逐渐换人 锚点写得太模糊 复述可核对的锚点,而不是「同一个人」这种模糊指代
光「跳」了一下 新提示词改了时段或光源方向 锁定时段、主光方向、光比与色彩分级,逐字复用
相机像被重置 没写上一段的运动方向 写清镜头高度、观感、运动方向、速度、停驻点
每段接头都停住 各段都以完全静止收尾 在受控运动中剪切,或让交接处保留一点持续运动
越接越像复读 每段都在做同一件事 给每段一项新动作 / 新反应 / 新揭示

其中有一条容易被忽略,但价值很高:字面意义上的最后一帧,常常不是最好的交接帧。 它可能是运动模糊的那一帧、半眨眼的那一帧、或者正好停在镜头甩动中的那一帧。正确做法是从结尾倒退着找——找那一帧既是最锐利的,又仍然代表你想要的最终姿态。所以「尾帧」是挑出来的,不是取出来的。

配合这一点还有一个拍摄侧的结论:固定机位的结尾,比运动模糊、面部被遮挡、或者镜头甩动的结尾好接得多。 如果一段内容本来就是为了往下接,结尾最好设计成一个稳定的停顿。

return_last_frame 返回的是视频最后一帧,所以当你发现最后一帧不可用时,回退到前一帧、或者干脆重生成一小段结尾,都是常见做法。

七、链长与误差累积:什么时候该回去重锚

前文说过,接戏能保住姿势、构图、服装、光位、场景结构——这些都是画面上看得见的东西,逐帧传得下去。它保不住的是角色身份:身份只能由模型从那一帧重建一次,而首尾帧模式又不允许同时挂参考图。

这就决定了接戏链的性质:它是一条需要定期回到基线的链,不是接得越长越好。

回锚的具体做法:每 3–4 段停下,用角色的参考图单独生成一段(reference 模式),确认身份回到基线,再从这一段的尾帧继续往下接。多花一次生成的成本,换回后面几段的可控性。

知道什么时候该停一次,比知道怎么接更重要。

八、这套方法对做电商内容的人意味着什么

「多镜头连贯」这件事,在电商内容里出现的频率比想象中高:一条 30 秒的产品短片通常有 4~8 个镜头;多 SKU、多比例、多区域的版本矩阵,往往是从同一批镜头里派生出来的。

把它放回实际生产,这套机制带来三点变化:

第一,脚本要按「段」来写,不是按「条」来写。 一段一个主动作、一个运镜动词、一个明确的结束状态。看起来比写一整条麻烦,但它把不可控的整段,换成了可控的若干个接缝。

第二,参考素材仍然是底座的底座。 接戏链能传下去的是画面,传不下去的是身份;身份要靠参考图单独锚定。所以第一批素材采集得越完整,后面需要回锚的次数就越少。

第三,工程细节值得提前写进流程。 比如尾帧必须落盘(链接会失效)、首帧图的宽高比决定成片比例、每次重试只改一个变量。这些都不是创作问题,但它们每天都在消耗制作时间。

技灵AI 是一站式 AI 电商内容生产平台,可把内容策划、图片与视频生成、素材与资产管理放进同一条工作流。