跳到主内容
快讯直播
AI智模界
教程

用 Sora 2 做出分镜可控的短视频:从提示词到剪辑

先说结果:跟着这篇走完,你会拿到一条 40~60 秒的竖屏短视频——8 个左右的镜头、同一个主角贯穿始终、有对白和环境音、节奏对得上、可以直接发出去。整个流程不依赖任何"灵光一现"的运气,而是一套能重复用的工序:先有分镜表,再有提示词;先定音频骨架,再做画面;一次只让一个镜头动起来。

很多人用视频模型失败,不是因为模型不行,而是因为把"写提示词"当成了第一步。真正可控的做法是反过来的:先决定这条片子有几个镜头、每个镜头发生什么、谁在什么时候说话,最后才逐条去生成。

前置条件清单

  • 账号与入口:能使用 Sora 2 的账号(网页端或 API 均可)。不同套餐对时长、分辨率、并发生成数的限制不一样,具体限额与参数名以官方页面为准
  • 一张分镜表:哪怕只有 8 行,写在文档或表格里都行。这是整条流程的"施工图"。
  • 角色参考素材:主角的正面、侧面、半身照各 1 张,背景越干净越好。有品牌角色/固定人物时这一步是刚需。
  • 剪辑软件:任何一款都行(桌面端、云端剪辑器、手机端 App 都够用)。后面给了一条 ffmpeg 的参考命令,不用也没关系。
  • 命名规范与文件夹:建议从一开始就定好,否则 40 个 take 混在一起,你会找不到哪条能用的。

```

project/

storyboard.md

refs/character_front.jpg

refs/character_side.jpg

shots/s01_prompt.txt # 每个镜头的提示词原文

shots/s01_take1.mp4

shots/s01_take2.mp4

audio/vo.srt

edit/

```

步骤一:先把"想法"拆成分镜表

不要写"一个女孩在雨天便利店门口等车"这种一句话创意,那是主题不是分镜。把它拆成镜头,每行写清楚五件事:景别、主体动作、机位、场景光线、音频

镜号景别/机位主体动作场景与光线音频
S01中景,固定女孩站在便利店门口,抬头看雨夜晚,店内白光外溢,霓虹反光雨声 + 店内收银提示音
S02特写,手持微晃她攥紧手里的塑料袋同上,非光源在画面右侧雨声持续
S03过肩,缓慢推近一辆车从雨里驶来,停住车灯扫过湿地面雨声 + 引擎声由远及近
S04近景,固定她开口说一句台词车窗光打在脸上台词 + 雨声

拆镜头有个硬性原则:一个镜头只安排一个动作。写"S01:她走进便利店、买了伞、又走出来"——模型会给你三段都不像的东西。拆成三个镜头,每个都能一次过。

生成音频的版本尤其要注意:一个镜头内的台词不要超过一句。台词越长,口型、节奏、情绪跑偏的概率越高。

步骤二:把每一行分镜翻译成提示词

提示词不需要华丽,需要结构化。用这个六要素模板,逐格填空:

```text

[主体] 20 岁出头的女孩,短发,米色风衣,右肩挎黑色帆布包

[动作] 站在便利店门口,缓慢抬头看向画面上方

[镜头] 中景,固定机位,微微仰角,画面留出上方空间

[场景与光线] 夜晚街道,便利店白光从画面左侧照出,湿地面反射霓虹

[风格] 写实,电影感,浅景深,轻微颗粒

[音频] 持续雨声,远处车流;无人声

```

一个完整的例子(S03):

```text

中景过肩镜头,女生背对镜头站在便利店门口,一把黑色雨伞靠在腿边。

一辆银灰色轿车从画面深处雨中驶来,减速,停在路边。车头灯扫过湿润的

柏油路面,形成一道反光。夜晚,便利店白光来自画面左侧。写实电影风格,

浅景深,轻微胶片颗粒,手持微晃。

音频:持续雨声,轿车引擎声由远及近,最后两秒出现刹车声,无人声对白。

```

几条实操经验:

  • 用肯定句描述画面。"不要出现路人"模型理解得很差;改成"画面中只有她一个人,街道空旷"。
  • 时间顺序写清楚。"先……随后……最后两秒……"比一堆形容词有用得多。
  • 风格词越靠后越好,把主体和动作放最前面。
  • 提示词原文存盘。同一个镜头要重生成 3 次时,你会庆幸自己存了 s01_prompt.txt

步骤三:锁死角色一致性

这是"分镜可控"和"东拼西凑"的分界线。三个手段叠加使用:

1. 参考图 / 角色功能:上传角色照片,让模型把它当作外观依据。

2. 固定描述串:把角色外观写成一个"常量",每个镜头原样复制,一个词都不改。改一个"短发"变"齐肩发",前后两镜就不是同一个人了。

3. 首帧接力:用上一个镜头的最后一帧,或单独生成的角色定妆图,作为下一镜头的首帧输入。图生视频通常比纯文生视频稳定得多。

用代码管理这个常量会省很多事:

```python

示意代码:批量拼装提示词并保存,具体调用方式以官方文档为准

CHARACTER = "20岁出头的女孩,黑色短发,米色风衣,右肩挎黑色帆布包"

STYLE = "写实电影风格,浅景深,轻微胶片颗粒"

shots = [

{"id": "s01", "action": "站在便利店门口,缓慢抬头看向画面上方",

"camera": "中景,固定机位,微微仰角", "light": "夜晚,便利店白光来自画面左侧",

"audio": "持续雨声,远处车流,无人声"},

{"id": "s02", "action": "低头,手指攥紧手里的塑料袋",

"camera": "特写,手持微晃", "light": "同上,主光源在画面右侧",

"audio": "雨声持续"},

]

for s in shots:

prompt = "\n".join([

f"[主体] {CHARACTER}",

f"[动作] {s['action']}",

f"[镜头] {s['camera']}",

f"[场景与光线] {s['light']}",

f"[风格] {STYLE}",

f"[音频] {s['audio']}",

])

with open(f"shots/{s['id']}_prompt.txt", "w", encoding="utf-8") as f:

f.write(prompt)

print(prompt)

```

步骤四:盯住物理与连续性

模型最容易翻车的地方不是"画得不好看",而是"物理不对":雨往上飘、杯子从桌上滑到手里、车速忽快忽慢、影子方向变了。逐镜头生成时,跨镜头的连续性靠一张检查表来兜底

检查项看什么
光源方向主光在左还是右,前后镜头是否一致
道具位置伞在左手还是右手,包在肩上还是手里
服装状态有没有突然变干、变湿、换颜色
运动速度车、雨、人走路的节奏是否连贯
屏幕方向人物朝左走还是朝右走(决定越轴)

发现某一镜头物理崩了,不要试图用剪辑掩盖,直接重生成。修一个 5 秒镜头的成本,远低于观众看到"杯子穿越"后划走。

步骤五:先定音频骨架,再做画面对齐

如果生成结果带音频,最好把音频当作剪点而不是附属品。做法是:

1. 先写一张台词/音效时间表,明确每句台词落在哪个镜头、大概多长。

2. 让每个镜头只说一句台词,短句优先。

3. 生成后先单独听音频。台词含糊、节奏不对、口型对不上——直接重生成,别浪费时间剪画面。

4. 环境音要跨镜头连续(比如雨声),否则剪出来会有明显的"声音断层"。

台词表用字幕格式存,后面剪辑时可以直接当字幕用:

```srt

1

00:00:06,000 --> 00:00:08,200

车来了。

2

00:00:09,500 --> 00:00:11,800

我等了很久了。

```

步骤六:批量生成与筛选

每个镜头先生成 2~3 个 take,别一条条精雕细琢——先广撒网,再挑,效率高得多。挑片顺序:

1. 物理和手势有没有明显错误 → 有错直接弃

2. 角色像不像 → 不像直接弃

3. 动作和镜头描述是否符合 → 再看

4. 音频能不能用

留下的那条立刻重命名成 s01_final.mp4,把其余挪进 _discard/。文件夹整洁度直接决定你后面还有没有耐心剪完。

步骤七:二次剪辑

剪辑的顺序建议是先音后画

1. 把每个 sNN_final.mp4 拖进时间线,按镜号排好。

2. 先把音频轨拼顺:台词对齐、环境音垫底、加上背景音乐。

3. 再修画面:切掉动作起手的废帧、调整节奏、必要时倒放或变速。

4. 用 J cut / L cut 让转场自然——下一个镜头的声音提前 0.3~0.5 秒进来,是最廉价的"专业感"。

5. 统一调色:跨镜头生成时色温经常会飘,套一个统一的调色预设能救回不少。

6. 加字幕,导出。

如果不想开剪辑软件,纯命令行也能拼一版粗剪:

```bash

1) 统一规格(竖屏 1080x1920、30fps、音视频参数一致)

ffmpeg -i s01_final.mp4 -vf "scale=1080:1920,setsar=1,fps=30" \

-c:v libx264 -crf 18 -pix_fmt yuv420p -c:a aac s01.mp4

对每个镜头重复上面的命令,输出 s01.mp4 s02.mp4 ...

2) 生成拼接清单

printf "file 's01.mp4'\nfile 's02.mp4'\nfile 's03.mp4'\n" > list.txt

3) 无损拼接

ffmpeg -f concat -safe 0 -i list.txt -c copy rough_cut.mp4

```

注意第一步的规格统一是必须的:分辨率、帧率、音轨采样率不一致,concat 出来的文件会花屏或者音画不同步。

常见坑与排错

现象大概率原因怎么办
人物换了张脸角色描述串被改动,或没用参考图把描述串当常量逐字复制;补参考图
动作做一半卡住一个镜头塞了两个以上动作拆镜头,一镜一动作
台词口型对不上台词太长,或音频后生成句子压短,先出音频再定画面
影子方向前后矛盾镜头间的光线描述没统一在提示词里固定"主光来自画面左侧"
拼接后花屏/断续各片段规格不一致先统一转码再 concat
画面像幻灯片模型没动,或动作太含蓄把动作写成"缓慢抬头""手指收紧"这类明确的动态
声音忽大忽小每段环境音独立生成剪辑里统一响度,加一层连续的环境底噪

下一步建议

  • 先跑通一条 4 镜头 15 秒的片子,再扩展到 8~10 个镜头。流程才是难点,时长不是。
  • 建一个自己的"提示词片段库":常用的镜头运动、光线、风格各存几条,下次直接拼。
  • 准备 2~3 个固定角色,做成可以反复使用的角色素材包。系列内容的复用率会非常高。
  • 记录每次重生成的原因。写满一页后你会发现,90% 的失败集中在三四个固定问题上,改掉它们,一次过的比例会明显上升。

模型能力在变,界面和参数也在变,遇到拿不准的地方,以官方页面为准。但上面这套工序——分镜表 → 结构化提示词 → 锁角色 → 查物理 → 定音频 → 批生成 → 精剪——是跟模型迭代无关的部分,换个工具照样能用。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。