AI 短剧制作:从脚本生成到画面渲染的全链路
上周刚结束的AIGC实战营里,一位学员拿着手机给我看:“老师,我花三天用Midjourney生成了200张图,但拼起来根本不像一部剧——角色脸一直在变,场景光线对不上,连台词和画面都各说各话。”这问题太典型了——AI短剧不是“图片+文字”的简单堆砌,而是一条需要精密控制的流水线。今天我们就用两个完整案例,拆解从脚本到成片的每一步操作。
—
一、脚本与角色一致性:AI编剧的“风格锚点”
1.1 用Claude 3.5生成带视觉指令的脚本
传统编剧写的是故事,AI短剧编剧需要写“视觉参数”。打开Claude 3.5(2025年3月版),输入以下结构化提示词:
你是一位AI短剧视觉编剧。请生成一个3分钟短剧脚本,主题为“深夜便利店的神秘顾客”。
要求:
- 每行台词后标注[画面描述],包含:景别、角色表情、关键道具、光线方向
主角“林姐”是30岁女性,穿深蓝色风衣,左眉有痣
环境:24小时便利店,冷白色荧光灯,货架有红色饮料罐
每段对话不超过15秒
输出格式为表格:时间戳 | 台词 | 画面指令 | 情绪关键词
生成后,你会得到类似这样的结构化输出:
| 时间戳 | 台词 | 画面指令 | 情绪关键词 |
|——–|——|———-|————|
| 00:00 | (收银机叮声) | 中景:林姐低头扫码,荧光灯在风衣肩部形成冷白色高光,货架红色罐体反射在收银台表面 | 日常、单调 |
| 00:15 | “今晚的关东煮还有吗?” | 近景:顾客面部半侧光,左脸阴影占70%,瞳孔反射便利店招牌的暖色光 | 神秘、压迫 |
1.2 建立角色视觉数据库(RVD)
这是保证角色不“串脸”的关键。在Midjourney中,用固定种子值+角色描述符生成基准图:
操作步骤:
1. 打开Discord的Midjourney频道,输入:
/imagine prompt: Lin Jie, 30-year-old Chinese woman, dark blue trench coat, mole above left eyebrow, cold fluorescent lighting, hyper-realistic style, shot on ARRI ALEXA 35 --ar 16:9 --s 250 --seed 47832 --v 6.12. 生成后选择最符合的图,右键复制图片链接
3. 用角色参考功能(--cref)锁定特征:
/imagine prompt: Lin Jie drinking coffee, close-up, same lighting as reference, --cref [图片链接] --cw 50 --ar 16:9 --seed 47832
参数说明:
--cw 50:角色特征权重50%,保留发型、眉痣、风衣颜色,但允许表情变化
--seed 47832:固定种子保证光照逻辑一致
--v 6.1:Midjourney最新版本,角色一致性提升40%
—
二、场景与镜头衔接:用ComfyUI构建“视觉语法”
2.1 场景控制工作流搭建
短剧最怕场景跳脱。在ComfyUI中,我们可以用ControlNet的“Shuffle”模型强制保持环境一致性。
工作流配置:
节点1:Load Image(加载第一帧场景图)
节点2:CLIP Text Encode(输入:便利店内部,冷白荧光灯,货架第三排有红色饮料罐,收银台左侧有暖色台灯)
节点3:ControlNet Shuffle(参数:strength=0.8, start_percent=0.0, end_percent=0.4)
节点4:KSampler(steps=30, cfg=7.5, sampler=dpmpp_2m, scheduler=karras)
节点5:VAE Decode
关键参数解释:
2.2 实操案例:从脚本到分镜图
以脚本中“00:15 顾客登场”为例,将Claude生成的画面指令转化为ComfyUI参数:
提示词:Customer enters, medium shot, 70% shadow on left face, warm light reflection in pupils, convenience store background with red cans, cold fluorescent overhead负面提示词:blurry face, inconsistent lighting, extra limbs, text, watermark, deformed hands
ControlNet输入:上一帧(00:00)的场景图
生成后,检查三个一致性指标:
1. 角色特征:左眉痣、风衣颜色是否与RVD一致
2. 环境逻辑:货架红色罐体位置是否与第一帧匹配
3. 光线方向:荧光灯从左上角打光,影子在右下角
—
三、画面渲染与动态化:Runway Gen-3 Alpha的“运动桥接”
3.1 静态图转动态视频
单帧图无法构成短剧,必须让画面“动起来”。推荐使用Runway Gen-3 Alpha(2025年4月更新版),它新增了“Motion Bridge”功能,能理解相邻两帧的运动逻辑。
操作步骤:
1. 上传ComfyUI生成的两张连续帧(Frame_001.png, Frame_002.png)2. 在Runway中设置:
- 模型:Gen-3 Alpha Turbo(速度优化版)
- 运动强度:0.6(过高会导致角色变形)
- 帧间过渡:启用“Motion Bridge”
- 输出时长:每段4秒(约120帧)
3. 高级参数:
- Camera Motion:锁定为“Static with subtle zoom”(静态但微缩放)
- Subject Motion:选择“Dialogue”(对话场景下嘴部运动优先)
- 背景运动:禁用(便利店场景不需要动态背景)
3.2 案例:便利店对话场景的渲染
将“00:00-00:15”的两张图导入Runway后,遇到一个常见问题:角色嘴部运动不自然。解决方案是使用“Lip Sync”插件:
1. 在Runway中点击“Add Layer” -> “Lip Sync”
2. 导入Claude生成的台词音频(用ElevenLabs生成,选择“便利店收银员”音色)
3. 设置:Sync Mode = “Phoneme Matching”,Strength = 0.8
4. 预览时注意:嘴部开合幅度不超过面部宽度的15%
—
四、从单段到全片:时间线编排的“三明治法则”
4.1 视频片段拼接
在剪辑软件(推荐DaVinci Resolve 18.6)中,将Runway输出的多段4秒视频按时间戳排列。但直接拼接会有“跳帧感”,需要做三件事:
第一层:视觉过渡
第二层:音频桥接
第三层:色调统一
4.2 最终输出参数
导出设置:
编码:H.265 (HEVC)
分辨率:1920x1080
帧率:30fps
比特率:15 Mbps(保证细节同时控制文件大小)
音频:AAC 320kbps, 48kHz
—
五、进阶建议与避坑指南
1. 不要依赖单工具:Midjourney负责角色,ComfyUI控制场景,Runway处理运动,ElevenLabs生成语音——每个环节用专业工具,不要试图用“万能工具”解决所有问题
2. 建立版本档案:每生成一个角色图,记录种子值、提示词、参考图链接,否则三天后你连自己怎么生成的脸都找不到
3. 运动强度递减:对话场景运动强度≤0.5,动作场景≤0.8,超过0.8角色会“融化”
4. 测试小样:先做10秒测试片,检查角色一致性、光线逻辑、音频同步,再全片制作
—
常见问题 FAQ
Q1:为什么我的AI短剧角色脸一直在变?
A:最常见的原因是没用固定种子和角色参考(–cref)。建议每个角色创建独立的RVD(角色视觉数据库),包含3-5张不同角度、相同特征的基准图。每次生成前,先加载该角色的种子值。
Q2:Runway生成的视频总有闪烁怎么办?
A:检查两点:1)相邻帧的光线方向是否一致(用ComfyUI的ControlNet Shuffle强制约束);2)运动强度是否超过0.7。如果还闪烁,在DaVinci中加入“DeFlicker”插件,强度设为0.3。
Q3:短剧时长超过3分钟,文件太大怎么办?
A:使用分幕输出。每幕(约30秒)单独导出为H.265,分辨率降到1440×810(2K降级),比特率设为10 Mbps。最终用FFmpeg合并:`ffmpeg -f concat -i filelist.txt -c copy output.mp4`
Q4:AI生成的台词和画面不同步怎么办?
A:用ElevenLabs生成音频时,设置“Pause Sensitivity”为High,并手动调整每句台词的时间戳。在Runway中,确保“Phoneme Matching”模式开启,且音频文件采样率为48kHz。
Q5:我想做古装短剧,参数需要调整吗?
A:需要。古装场景的光线(蜡烛、灯笼)色温在2700-3500K,与便利店冷光不同。在ComfyUI中,将ControlNet的`strength`降到0.6,给AI更多自由发挥空间。角色RVD要增加发髻、服饰纹理等特征描述。

评论(0)