前面几篇我们系统学习了 ComfyUI 的安装、基础工作流、角色一致性控制,以及基于 AnimateDiff 的视频生成节点。理论知识已经铺垫得差不多了,从今天开始,我们要进入真正的实战环节。这一篇,我会带你完整地走一遍「用 ComfyUI 制作一个短剧片段」的全过程,从分镜拆解、提示词设计,到工作流搭建、参数调优,再到成片导出,把之前分散的知识点串成一条可以复用的生产流水线。

为什么先从「单片段」开始练手
很多刚接触 AI 短剧的朋友,一上来就想生成一整集 3 分钟的视频,结果要么显存爆掉、要么角色崩坏、要么节奏失控,最后挫败感满满。正确的做法是:先攻克「一个 5 到 15 秒的高质量片段」,把它做到能用的水准,再谈多镜头串联和整片生成。
一个片段之所以适合作为练手单位,有三个原因:
- 资源可控:单段视频对显存的要求低,普通 12G 到 24G 的显卡就能流畅运行 AnimateDiff 的基础模型,方便反复试错。
- 质量易把控:片段越短,越容易保证角色一致性、动作连贯性和画面稳定度,问题定位也更直观。
- 可复用性强:一个成熟的片段工作流,可以保存为模板,稍加改动就能批量生产同类镜头。
实战目标拆解
本次实战,我们设定一个具体的创作目标:生成一个「都市夜景下,女主角站在天桥上回眸」的短剧片段,时长约 8 秒。这个目标看似简单,但涵盖了 AI 视频生成的几个核心挑战——人物特写、镜头运动、光影氛围。
在动手之前,我们先把这个目标拆解成可执行的工作流节点。一个完整的片段工作流通常包含以下模块:
[文本提示词] -> [大模型出图] -> [ControlNet 约束] -> [AnimateDiff 动态生成] -> [放大/插帧] -> [视频输出]
分镜脚本先行
AI 视频不是「拍脑袋」生成的,越是短的内容,越需要先想清楚镜头。我们为这个片段写一个简单的分镜脚本:
shot:
id: 012-01
scene: 都市夜景天桥
subject: 女主角(白衬衫、深色外套)
action: 缓缓转身回眸,头发随风轻扬
camera: 中景,缓慢推近(slow push-in)
duration: 8s
fps: 16
lighting: 冷色调霓虹 + 暖色路灯混合
mood: 落寞、回忆
工作流搭建:从出图到成片
第一步:基础出图节点
我们先用文生图的方式,生成这个片段的「首帧」。这是整个视频的锚点,后面的动态都在这一帧的基础上展开。核心节点配置如下:
{
"CheckpointLoaderSimple": {
"ckpt_name": "sd_xl_base_1.0.safetensors"
},
"CLIPTextEncode": {
"positive": "1girl, white shirt, dark coat, standing on overpass, city night, neon lights, warm street lamp, cinematic, detailed face, looking back over shoulder",
"negative": "lowres, bad anatomy, extra fingers, blurry, watermark, text"
},
"EmptyLatentImage": {
"width": 768,
"height": 512,
"batch_size": 1
},
"KSampler": {
"steps": 28,
"cfg": 7.0,
"sampler_name": "dpmpp_2m",
"scheduler": "karras"
}
}
第二步:ControlNet 锁定构图
为了让回眸这个动作更可控,我强烈建议在出图阶段就接入 ControlNet。这里使用 OpenPose 或者参考图约束,保证人物姿态和构图稳定:
ControlNet 链路:
LoadImage(参考姿态图) -> OpenPose 预处理器 -> ControlNetApply
-> 接入 KSampler 的 conditioning
第三步:AnimateDiff 生成动态
这是片段「动起来」的关键一步。AnimateDiff 通过注入运动模块(Motion Module),把静态的潜空间扩散过程扩展为连续的视频帧序列。关键参数如下:
motion_module = "mm_sd_v15_v2.ckpt" # 运动模块
frames = 128 # 8 秒 * 16 fps
context = {
"motion_scale": 1.0, # 运动幅度
"closed_loop": True # 首尾闭环,方便循环
}
把 AnimateDiff 的 Loader 节点接入 KSampler,采样步数建议保持在 25 到 30 之间,CFG 控制在 6 到 8,避免画面抖动和过饱和。
第四步:放大与插帧
AnimateDiff 直接输出的分辨率往往偏低,需要通过 VAE Decode 后,再经过视频放大和插帧处理,提升清晰度和流畅度:
VAE Decode -> VideoUpscaler(2x) -> RIFE 插帧(16fps -> 32fps) -> SaveVideo
参数调优要点
实战中最容易踩的坑,我把它们整理成一份速查清单:
- 运动幅度过大:人物会出现明显的形变和撕裂。先把 motion_scale 调到 0.8 左右,画面稳了再逐步上调。
- 角色漂移:多人场景或复杂动作容易导致人物脸型变化。建议配合 LoRA 和 ControlNet 双重约束。
- 闪烁问题:画面亮度忽明忽暗,通常是 CFG 过高或采样步数不足导致,优先调低 CFG。
- 显存不足:降低帧数、分辨率,或开启
--lowvram模式,必要时把 batch 拆分处理。
常见问题解答
问:首帧图不满意,能直接换一张再生成动态吗?
可以。首帧质量直接决定成片质量,建议先生成 4 到 8 张候选图,挑一张最满意的再接入 AnimateDiff。切勿「凑合用」,否则后面所有努力都白费。
问:8 秒片段大概要跑多久?
以 4090 显卡为例,768×512 分辨率、128 帧、30 步采样,大约需要 3 到 6 分钟。显存和分辨率不同,耗时差异较大。
问:生成出来的视频有噪点怎么办?
先用带降噪的视频放大模型处理,再考虑加一层轻微的后期锐化,通常能明显改善画质。
总结
今天我们完整走了一遍「用 ComfyUI 制作一个短剧片段」的实战流程:从分镜脚本拆解,到文生图出首帧、ControlNet 锁定构图、AnimateDiff 生成动态,再到放大插帧输出成片。你会发现,真正难的不是某一个节点,而是把这些节点串成一条稳定、可控、可复用的生产流水线。把单片段流程跑熟之后,下一篇我们将正式进入 MiniMax H3 平台的学习——一个号称「全自动导演」的一站式生成平台,看看它如何用「输入剧本」的方式,帮你省掉上面这些繁琐的手动调参。
下期预告:第 13 天《MiniMax H3 平台入门——全自动导演能力与开通流程》,我们将揭开这个近期爆火的全自动生成平台的面纱,敬请期待。
















暂无评论内容