从剧本、人物设定、场景空镜、首尾关键帧,到 Seedance 2.0、FCP 和 Suno:这是《没迟到》的完整制作复盘。
最近,我完成了一支 49 秒的 AI 短片,名字叫《没迟到》。故事并不复杂:一个普通上班族醒来,发现自己快赶不上早上 9 点的会议。为了不迟到,他从卧室一路冲出去,滑楼梯扶手、爬上公交车顶、抓住直升机、掉进一个像 1980 年代迈阿密的世界,再跳进海里、抱着火箭升空,最后从写字楼外墙进入会议室,在 08:59:59 坐到自己的位置上,平静地说了一句:“没迟到。”
下一秒,闹钟再次响起。他从床上醒来,看见手机上的日期,才发现这一切只是一场被通勤支配的梦。
短片发到朋友圈后,反馈比我预想得更好。有人觉得好笑,有人注意到里面的游戏和动作电影梗,也有人问我:这样一支看起来像“一镜到底”的 AI 视频,到底是怎么做出来的?
这不是一篇“一句话生成大片”的爽文。这个项目反而让我更明确地意识到:AI 可以降低制作门槛,但它不会自动替你完成导演、美术、摄影和剪辑。真正决定成片质量的,是能不能把一个模糊的想法,拆成一套可检查、可返工、可复用的制作系统。
一、灵感:把最普通的焦虑,一路推到最荒诞
《没迟到》的起点,是一种很多上班族都熟悉的体验:明明是周末,却梦见自己要迟到了。你知道自己在拼命赶路,但目标不断后退;电梯不来、门打不开、时间却越来越少。醒来后发现今天根本不用上班,那种如释重负又有一点荒诞的感觉,很适合做成短片。
最初的想法只是“一个人疯狂赶去公司”。但如果只是从家跑到办公室,画面很快会重复。于是我和 ChatGPT 一起反复推演,把故事定成一条不断升级的动作链:
卧室 → 楼梯间 → 街道 → 公交车顶 → 直升机 → 迈阿密式游戏世界 → 深海 → 火箭 → 高空坠落 → 写字楼外墙 → 会议室 → 梦醒。
这里有一个重要原则:每一个奇观都不是为了展示奇观,而是为了“继续赶路”。直升机、潜水推进器和火箭,都只是主角赶去上班的交通工具。越离谱的世界,配上越平静、越日常的目标,喜剧感就越强。
另一个原则,是每 4 秒至少出现一个新的动作爆点:先建立“要迟到了”,再逐步扩大空间尺度,在火箭和高空坠落处达到顶点,回到会议室突然收住,最后用梦醒完成反转。

虽然场景从现实一路冲到高空,人物始终保持同一条向前的动作线。对我来说,这才是“一镜到底”成立的关键:不是镜头真的一次拍完,而是观众始终相信这个动作没有停下来。
二、先把剧本变成一条生产线
我一开始也很容易有一种冲动:有了点子,马上打开视频模型试一段。但如果人物、衣服、场景和动作都没有确定,视频模型就要在短短几秒里同时设计人物、设计场景、理解动作并完成运镜。只要一项漂移,整段就要重做。
所以我最后采用的工作流不是“剧本 → 视频”,而是:
故事剧本 → 镜头拆分 → 人物母版 → 服装与道具设定 → 场景空镜 → 边界关键帧 → 视频提示词 → 分段生成 → 检查与返工 → FCP 剪辑 → 音乐与声音。

中间最核心的一层,是“边界关键帧”。最终成片使用了 13 张边界图:K00 到 K11,中间增加了一张 K07.5。相邻两张图对应一段约 4 秒的视频。上一段的尾图,必须原封不动地成为下一段的首图,而不是重新生成一张“很像的”图片。
这件事看似机械,却解决了 AI 视频最常见的问题之一:接缝处人物突然换脸、衣服变形、场景跳动。它相当于给每段视频钉上两个固定锚点,视频模型只负责“怎么从这里运动到那里”。
项目最初计划做 11 段、44 秒。实际生成时发现,“抱住火箭升空、换上宇航服、再从高空返回楼顶”全部塞进 4 秒,动作密度实在太高,所以增加 K07.5,把这一段拆成 V08A 和 V08B。最终是 12 段视频,源素材合计约 48 秒;经过剪辑并加入片尾后,成片约 49 秒。
这也是整个项目中很典型的一次调整:不是继续往提示词里塞更多形容词,而是承认一个镜头装不下,重新划分生产边界。
三、图片不是插图,而是整部片子的美术设定
项目最终目录里保留了 28 张正式图片资产,主要分为人物身份母版、服装和载具设定图、没有人物的场景空镜,以及加入人物和动作后的边界关键帧。
先锁定“我是谁”
我先上传自己的正面和背面照片,让 ChatGPT 生成一张人物身份母版 ID-MASTER。这张图不是为了好看,而是为了固定脸型、发型、肩宽、身材比例和背面轮廓。
人物提示词节选: 正面照片用于锁定五官、肤色和正面发型;背面照片只用于后脑发型、肩宽和身体比例。保留真实脸型、眉眼距离、鼻梁、嘴唇、下颌线、发际线和年龄感。禁止瘦脸、大眼、磨皮、年轻化,也不要生成一个“长得很像”的新演员。
AI 默认倾向于把人物变得更标准、更精致,而短片需要的不是一个被美化的演员,而是同一个人在十二段画面里持续出现。
再锁定服装和道具
根据剧情,我一共做了七套服装状态:睡衣、匆忙穿了一半的通勤装、完整西装、迈阿密风格夏威夷装、潜水服、轻型宇航服,以及穿在西装外面的黑色特工服。每套衣服都先做三视图,再拿去生成关键帧。
三视图把“深色西装”这种模糊描述变成确定的结构:翻领有多宽、领带是什么颜色、鞋子是哪一双、背面有没有开衩。否则同一套衣服到了侧面和背面,很容易被模型重新设计。
片中直升机连续出现在多个镜头里。如果每张图都只写“一架武装直升机”,模型很可能每次生成不同型号。所以我单独做了一张 HELICOPTER-MASTER,固定四叶主旋翼、涵道尾桨、机身颜色、传感器、挂架和双滑橇。

人物要抓住直升机滑橇,所以滑橇必须完整、无遮挡,还要有足够的握持空间。道具设定不能只考虑“长什么样”,还要考虑“演员怎么用它”。
先生成空镜,再把人放进去
复杂场景我没有直接让模型一次性生成“人物 + 环境 + 动作”,而是先做没有人物的空镜,确认光线、机位、空间路线和落脚点,再把人物放入场景。

这样,发现问题时就能判断是哪一层出了错:场景方向错了就重做空镜;人物动作错了就重做关键帧;服装漂移了就回到服装参考;道具变形了就加强母版约束。如果所有东西都在一张图里临时生成,返工时只能整张推倒重来。
四、三个镜头,说明图片和视频怎么连起来
案例一:从公交车顶抓住直升机
这一段的首图 K03 让人物在公交车顶保持稳定跑步姿势,并在右前方清楚露出直升机滑橇;尾图 K04 则固定双手抓住同一根滑橇、身体悬空的状态。
K04 图片提示词节选: 机位位于直升机左前下方,与直升机同速。主角穿完整西装,双手分开约肩宽,明确抓住靠镜头一侧的同一根金属滑橇,手指完整环绕圆管;双臂因承重略微弯曲,身体悬挂在直升机下方并向后倾斜。滑橇、双手和身体之间无遮挡。
V04 视频提示词节选: 主角沿公交车顶冲刺,在车头边缘起跳。右手先抓住近侧滑橇,左手立即在肩宽位置抓稳同一根滑橇。直升机因新增重量克制下沉一次,再稳定抬升;镜头从公交车侧面平滑上升到直升机左前下方,不绕圈、不反转方向。

这个案例让我确认了一件事:首尾图负责定义世界,视频提示词负责定义变化。 已经在图片里确定的内容,不需要在视频提示词里重新设计一遍。
案例二:最容易忽略的不是脸,而是方向
从直升机进入迈阿密风格世界的镜头,是整个项目返工最典型的一段。最初画面看起来很炫,但仔细看会发现:车辆前后方向不对,方向盘像被放到了车尾;人物、汽车和直升机的运动轴线也没有统一。
这种错误在单张图里可能只是“小瑕疵”,进入视频后却会被放大。汽车要向前开,人物要落进副驾驶,直升机也要同向飞行。如果首图的空间关系含糊,视频模型只能猜。
所以我回到图片环节,把构图改成明确的“后方跟拍”:摄像机位于敞篷车后方;汽车背对镜头驶向道路远端;金发驾驶员坐在左侧,方向盘位于正前方;主角以背影朝向车辆前进方向;直升机位于人物和汽车正上方,同向飞行。

视频提示词也不再只写“落入汽车”,而是把过程拆成连续动作:穿过云门、完成换装、利用摆荡松手、调整为双腿朝下、落向右侧副驾驶。

这段给我的启发是:AI 生成里的“方向”是一等公民。 人物朝哪儿、车头朝哪儿、镜头从哪儿拍、物体往哪里离开画面,往往比“电影感”“大片感”更重要。
案例三:提示词救不了过载的镜头
原计划里,V08 要在 4 秒内完成:跑向火箭、抱住火箭、火箭升空、潜水服变成宇航服、离开火箭、穿云下降并落到楼顶。故事上很连贯,生成上却明显过载。
最终我增加 K07.5,把它拆成两段:V08A 负责升空和换装,V08B 负责离开火箭、下降并落地。
V08A 提示词节选: 主角放开两只水下推进器,向同一枚白色火箭冲去。双手抓住火箭外侧检修管和固定把手,始终位于火箭外部。火箭点火垂直上升,高空气流和隔热材料沿身体连续展开,把潜水服转换为轻型宇航服。到达高空后,一手仍抓住把手,身体开始向外倾斜,准备跳下。

这里最重要的不是“多生成了一段”,而是把分段当成导演工作的一部分:如果模型总是失败,先检查是不是一个镜头承担了太多任务。很多时候,减少动作比增加提示词更有效。
五、用定时任务循环生成,但不让 AI 自动通过
图片数量不少,如果一直守在电脑前手动生成,很容易疲劳,也容易忘记前面的标准。所以图片阶段我用了 ChatGPT 的定时任务:大约每半小时处理一张,按照预先排好的资产顺序循环执行。
它不是无脑批量出图,而是读取当前资产及参考图、生成候选图、对照验收清单检查身份与构图,通过后写入 accepted 状态再进入下一张;如果不通过,就修改提示词,继续重做当前这一张。
我最终锁定了七套服装和一整条关键帧链。这个 loop 的价值不只是节省等待时间,更重要的是把“我觉得这张还不错”变成明确标准:还是同一个人吗?衣服是否混入前一阶段?手脚有没有真实接触点?下一段动作的空间是否留够?车辆和人物方向是否一致?这张图能否同时作为上一段尾帧和下一段首帧?
AI 可以循环,但审美标准和验收规则仍然需要人来定义。
六、进入 LibTV,开始“开盲盒”
图片锁定后,我让 ChatGPT 为 12 段视频分别生成提示词,再把首图、尾图、参考图和提示词放进 LibTV,使用 Seedance 2.0 生成视频。
我选择的是 720P。项目里的最终分段素材都是 1280 × 720、约 4 秒一段。对这个项目来说,720P 更适合高频试错:先把动作、人物一致性和镜头衔接跑通,再在后期输出 1080P 成片。
不到一半的片段需要不同程度返工。有时是动作没有完成,有时不是视频提示词的问题,而是首尾图埋着错误:人物朝向不对、车辆前后含糊、方向盘位置错误、手没有真正抓住道具、换装出现第三种状态,或者 4 秒内塞了太多动作。
这时正确做法不是只在 LibTV 里继续抽卡,而是回到上游:
视频失败 → 判断是动作问题还是图片问题 → 修改提示词或重做边界图 → 重新生成 → 再次验收。
AI 视频制作不是一条从左到右的直线,更像不断回退和收敛的闭环。最终采用 12 段视频。按每次约 100 积分估算,如果全部一次成功,基础消耗约 1,200 积分;加上失败和重做,总消耗大约 2,000 积分,也就是约 20 次生成,折合人民币一百多元。这个数字是按当时消耗做的近似估算,不是精确账单。
生成成本并不夸张,真正昂贵的是筛选、判断和返工所花的时间。
七、为什么最后还是回到 FCP 和 Photoshop
视频段落生成完成后,我没有使用 LibTV 的在线剪辑工具,而是回到熟悉的 Final Cut Pro。到了成片阶段,我需要更精确地控制字幕、节奏、声音、转场和片尾。AI 适合解决“从无到有”,传统工具更适合解决“从有到准”。
整个后期最麻烦的细节,是画面里的钟表。故事悬念建立在 08:59:59 上,但 AI 很难生成数字准确、位置稳定、还能真正运行的电子时钟。手机锁屏也一样:数字可能变形,中文日期可能乱码,每帧还可能变化。
所以这些必须百分之百准确的内容,我没有继续交给生成模型,而是用 Photoshop 制作画面元素,再在 FCP 里完成合成和时间变化。

这次我得到一个很实用的判断:AI 负责复杂但允许少量随机性的部分;传统工具负责简单但必须完全准确的部分。 人物飞跃城市、抱着火箭升空,可以让 AI 做;08:59:59 这几个数字,反而更适合手动完成。
最后,我用 Suno 为短片生成背景音乐。提示词围绕“紧张追赶 → 荒诞升级 → 突然收住 → 梦醒反转”展开:从时钟滴答开始,进入电子与管弦结合的动作喜剧配乐;随着公交、直升机、海洋和火箭不断升级,保持同一个旋律动机,让它越来越英雄化、越来越荒诞;到会议室突然收住,再回到遥远的滴答声。最终片尾标注了 ChatGPT、LibTV、Seedance 2.0 和 Suno V4.5。
八、做完之后,我对 AI 视频有了三个新认识
1. 一致性不是靠一个神奇提示词,而是靠资产管理。 同一个人、同一套衣服、同一架直升机之所以能跨镜头保持一致,是因为我先做了母版、三视图、空镜和边界图,并让每个镜头引用同一套资产。
2. 提示词的核心不是文采,而是可执行性。 真正能减少返工的,是写清楚谁在做什么,手和脚接触什么,摄像机在哪里,人物和载具朝哪个方向,哪些东西不能变化,最后一帧必须落到哪里。
3. AI 没有消灭传统制作流程,而是重新分配了工作。 过去需要真人拍摄、服装、场景和特效才能实现的画面,现在一个人也有机会做出来。但导演思维、镜头拆分、资产命名、质量检查、剪辑和声音没有消失;因为 AI 带来更多随机性,这些工作反而更重要。
写在最后
《没迟到》不是一支完美的片子。仔细看,仍然能找到 AI 生成的痕迹,也有一些动作受限于 4 秒时长,不可能像真实拍摄那样完全符合物理规律。
但它对我来说是一次完整的实验:我第一次把一个来自日常生活的小念头,从一句话扩展成故事,再把故事拆成资产、镜头和提示词,经历多轮失败与返工,最终做成了一支真正可以分享的短片。
过去,一个人想拍出直升机、深海、火箭和高空坠落,几乎是不可能的。现在,问题已经从“我有没有这样的预算”,逐渐变成了“我能不能把它想清楚、拆清楚,并且耐心做到最后”。
AI 给了普通创作者一间越来越大的虚拟摄影棚。但开机之后,坐在导演椅上的,仍然得是你自己。
项目数据: 成片《没迟到 / On Time》,约 49 秒;28 张正式图片资产;13 张边界关键帧;12 段 720P 视频素材;后期输出 1920 × 1080;使用 ChatGPT、LibTV、Seedance 2.0、Final Cut Pro、Photoshop 和 Suno V4.5;视频生成约消耗 2,000 积分,折合人民币一百多元(估算)。