公司动态
用MiniMax H3打造短剧样片:从分镜到人设一致的完整工作流
短剧制作圈最近讨论最多的一个方向就是用 MiniMax H3 做“分镜一致、人物不崩”的样片。之前我在做短剧 demo 时反复卡在人物面部漂移和长镜头叙事节奏上网上资料零散很多教程只讲单镜头生成没有把“分镜规划—人脸一致性—提示词模板—长时长拼接”串成完整链路。这篇文章围绕海螺 MiniMax H3 短剧样片制作整理了一套以开源工具为主的实操方案包含分镜工作流设计、提示词模板思路、人脸一致性参考模式的运用方法以及长时长视频的把控策略。无论你是刚接触 AI 视频生成的新手还是想在短剧制作里落地 H3 的开发者都可以按文章顺序复现一遍。1. 背景短剧样片制作的核心痛点与 H3 的切入方式短剧和普通短视频最大的区别在于它需要“连续叙事”。一个 1 到 3 分钟的样片可能包含 8 到 15 个分镜角色需要反复出场情绪和动作需要连续衔接。过去用 AI 生成视频最常见的做法是“每个镜头独立生成”结果就是人物长相飘忽不定上一秒还是甲演员下一秒就像乙演员观感断裂。MiniMax H3 这类视频生成模型出现后情况开始改变。它不再只生成“一段好看画面”而是能结合参考图、参考视频和提示词在生成过程中保持角色特征的相对稳定。配合开源工作流工具我们可以把“单镜头生成”升级为“分镜制作流水线”。1.1 从单镜头生成到分镜叙事传统 AI 视频创作流程大概是写一段提示词等生成满不满意另说不满意就重新生成。这个流程对单条短视频够用但对短剧样片来说效率太低。真正的分镜叙事流程应该是先确定短剧的剧本和分镜表。为每个分镜准备好角色参考图、参考视频片段。为每个分镜编写独立的提示词但保持风格词、角色描述词统一。批量生成再统一筛选。最后做剪辑拼接。H3 的生成能力允许我们在分镜之间复用同一组参考素材这样人物一致性就不再依赖“运气”而是依赖工作流设计。1.2 人脸一致性的技术难点人脸一致性是 AI 视频生成的“老难题”。原因不复杂视频生成模型是在潜在空间里做去噪预测它对“这个角色长什么样”的感知来自文本描述、参考图和参考视频三个信息源。文本描述天然不稳定只描述“长发女性”和“穿红色外套的短发女性”之间的风格偏差就会导致面部特征漂移。参考图能缓解问题但如果构图、角度、光线差异太大模型依然可能把参考人脸“带偏”。参考视频则能提供动态特征比如说话神态、眨眼节奏、侧脸轮廓但参考视频的长度和质量直接影响生成稳定性。所以我们在短剧工作流里不能把“一致性”全部交给模型而是要通过分镜设计、参考素材管理、提示词模板来约束生成过程。1.3 为什么要走开源工作流“除封面全部由开源实现”这个说法是当前很多 AI 创作者追求的目标。开源工作流的好处很明确可控、可复现、可扩展。你可以本地搭建 ComfyUI 工作流可以自由修改节点逻辑也可以把生成的中间帧、参考图、提示词全部保存在本地不依赖某个封闭平台的网页界面。当然开源不等于完全免费也不等于无需显卡。更准确地说开源意味着“工具链可自持流程可编程”。你可以用 ComfyUI 管理生成节点用 Python 脚本批量处理素材用开源模型做超分和插帧只有最终封面可能需要在其他工具里精修。2. 环境准备本地部署与开源工具链动手做短剧样片之前先明确运行环境和工具清单。2.1 硬件需求评估MiniMax H3 的本地部署对显卡要求不低。普通消费级显卡能不能跑答案是可以但需要合理设置分辨率、帧数和步长。从社区反馈来看NVIDIA GeForce RTX 3060 级别的显卡可以尝试跑低分辨率原型但生成速度和稳定性会受限。如果要做 1080p 甚至更高画质的样片建议至少准备 16GB 显存以上的显卡同时保证内存和 SSD 读写速度。如果你没有本地部署条件也可以先用云端 API 跑通工作流再把同样的提示词模板迁移到本地 ComfyUI 节点。这里我的建议是先不纠结“本地还是云端”而是先把工作流设计对再考虑部署环境。2.2 开源工具链清单一套完整的开源短剧制作工作流通常由以下部分组成工具/组件作用是否必须ComfyUI工作流编排串联参考图、提示词和生成模型强烈推荐Python 3批量脚本、素材处理、 API 调用必须FFmpeg视频剪辑、转码、抽帧、拼接必须开源人脸检测模型人脸一致性校验推荐开源超分模型画质增强按需开源插帧模型补帧让动作更流畅按需这里要注意ComfyUI 的工作流是一张节点图它很适合作“生成流水线”。短剧制作不会只有一个生成节点而是会有“加载参考图 → 加载参考视频 → 提示词解析 → 模型生成 → 视频保存 → 抽帧校验”这样的节点链路。2.3 目录结构与素材准备我建议从一开始就按项目划分目录避免生成几十个视频后找不到素材。一个比较合理的结构如下short_drama_project/ ├── assets/ │ ├── reference_faces/ # 角色人脸参考图 │ ├── reference_videos/ # 动作参考视频 │ └── style_images/ # 风格参考图 ├── prompts/ │ ├── character_prompts.md # 角色提示词模板 │ ├── shot_prompts.md # 分镜提示词模板 │ └── negative_prompts.txt # 通用负向提示词 ├── workflows/ │ ├── h3_short_drama.json # ComfyUI 工作流文件 │ └── h3_batch.py # 批量生成脚本 ├── output/ │ ├── raw/ # 原始生成视频 │ ├── checked/ # 通过一致性校验的片段 │ └── final/ # 拼接后的样片 └── logs/ └── generation_log.csv # 生成参数日志这个结构看起来简单但它能让你在几十个镜头里快速定位问题。例如某个镜头人脸不相似你可以马上回头看它的参考图、提示词和生成参数而不需要翻聊天记录。3. 核心原理H3 视频生成与参考模式拆解要做出好的短剧样片不能只停留在“输入提示词等待视频”的黑盒层面。我们至少要理解模型在生成时依赖哪些输入以及这些输入如何影响一致性。3.1 MiniMax H3 视频模型的工作方式H3 是 MiniMax 海螺 AI 产品线中的视频生成模型。从使用层面看它具备文本生成视频、图片生成视频、参考视频生成视频等能力。你可以把它理解为“多模态视频引擎”它接收文本、图片、视频等多种条件来生成目标片段。短剧样片主要用到的能力是“参考图 提示词”和“参考视频 提示词”。前者用于控制角色静态特征后者用于控制动作动态特征。这里注意一个使用差异图片参考更适合正面、侧面、半身等相对稳定的镜头视频参考更适合需要动作连续性、肢体运动的镜头。两组条件可以叠加但需要保证参考素材本身风格统一。3.2 Ref2VA 全能参考模式社区里讨论较多的“Ref2VA”参考模式可以理解为“Reference to Video Actor”的缩写它强调在生成阶段同时参考角色外观和视频动态。相比单纯喂一张人脸图Ref2VA 模式会把人脸特征、服饰特征和动作轨迹一起编码提高跨分镜的一致性。但“全能参考”不意味着“一键解决”。我测试后最大的感受是参考视频的选择非常重要。参考视频不能太短否则动态信息不够也不能太长否则模型可能学到无关动作。通常建议截取 3 到 5 秒的关键动作片段作为参考视频。图片参考方面建议准备多角度人脸图。比如一个角色准备三张图正脸、三分之二侧脸、半身全身照。工作流中根据不同分镜选择最合适的参考图而不是所有镜头都用同一张。3.3 开源工作流如何组织生成链路在 ComfyUI 里一次 H3 视频生成通常需要以下节点加载参考图节点。加载参考视频节点。文本提示词解析节点。参数设置节点分辨率、帧数、步长等。模型加载与推理节点。视频输出节点。工作流文件保存为 JSON 格式方便复用。如果使用社区整合包通常只需要把工作流 JSON 拖进 ComfyUI 界面就能看到完整的节点链路。组合方式上我建议一个分镜对应一个独立的工作流子模块。例如“角色出场”子模块、“战斗动作”子模块、“对话特写”子模块。每个子模块共享角色参考图但提示词和参考视频不同。4. 短剧样片实战从剧本到分镜的完整流程下面我们通过一个短剧样片示例演示从剧本到成品的全过程。假设我们要做一个 30 秒的古风微短剧样片剧情简化如下女主角在竹林出场遇到反派两人对峙女主角施展剑招击退反派转身离去。这个剧情可以拆成 6 个分镜分镜内容景别时长人物01竹林全景风吹竹叶远景3s无02女主角正面出场中景5s女主03反派从树后走出中景4s反派04两人对峙表情特写近景5s女主、反派05女主角施展剑招全景6s女主06反派后退女主转身离去中景5s女主、反派4.1 创建分镜设计文档分镜设计文档是短剧工作流的“源头数据”。每个分镜需要记录以下字段镜头ID: SHOT_01 场景: 竹林 时间: 白天 人物: 无 景别: 远景 运动方式: 缓慢推进 画面内容: 风吹竹叶阳光透过竹叶洒落 音频提示: 风铃声 参考图: assets/reference_faces/empty_scene.png 参考视频: assets/reference_videos/bamboo_wind.mp4 提示词: 竹林全景...这个文档最好用 Markdown 或表格管理。后面写提示词时直接从这个文档复制字段即可不用每次都重新回忆剧情。4.2 准备人脸参考图人物一致性是这个项目的关键。准备参考图时注意三个原则第一背景干净。参考图背景越简单模型越容易聚焦人脸特征。第二表情中立。参考图表情不要过于夸张否则模型会把表情当成固有特征。第三角度多样。每个角色至少准备正脸、侧脸、半身三张图。assets/reference_faces/ ├── heroine_front.png # 女主正脸 ├── heroine_side.png # 女主侧脸 ├── heroine_halfbody.png # 女主半身 ├── villain_front.png # 反派正脸 ├── villain_side.png # 反派侧脸 └── villain_halfbody.png # 反派半身4.3 编写第一批提示词提示词分两类正向提示词和负向提示词。正向提示词用于描述画面内容、风格、角色、运动和光影负向提示词用于排除不想要的效果。第一个分镜是空场景不需要角色参考正向提示词 远景竹林风吹竹叶阳光透过竹叶洒落光影斑驳电影感浅景深缓慢推进镜头8K 画质自然色彩氛围感中国古风 负向提示词 人物文字水印模糊变形低分辨率夸张颜色现代建筑现代服饰第二个分镜是女主出场加入角色参考图正向提示词 中景年轻女子身穿青绿色古装长裙从竹林深处走出长发随风飘动眼神坚定面部清晰电影感柔和光线浅景深缓慢推进镜头8K 画质中国古风 负向提示词 多人文字水印模糊变形低分辨率面部扭曲手部畸形现代服饰欧美面孔这里的关键是负向提示词要包含“面部扭曲”“手部畸形”等常见生成缺陷词同时要包含“多人”来防止模型额外生成路人。4.4 编写批量生成脚本如果分镜很多手动在 ComfyUI 界面里一个镜头一个镜头生成会很累。我们可以写一个 Python 脚本读取分镜表自动调用生成接口。下面是一个示例脚本框架它展示的是“读取分镜 CSV → 循环调用生成函数 → 保存结果”的思路不是某个特定平台的现成代码需要根据你实际使用的 SDK 调整# 文件路径scripts/batch_generate.py import csv import os import json def generate_shot(shot_info: dict, api_client): 根据分镜信息生成视频片段。 示例思路实际调用需要根据 H3 对应 SDK 或 HTTP 接口调整。 prompt shot_info[prompt] negative_prompt shot_info[negative_prompt] reference_face shot_info[reference_face] reference_video shot_info[reference_video] output_path shot_info[output_path] payload { prompt: prompt, negative_prompt: negative_prompt, reference_face: reference_face, reference_video: reference_video, duration_seconds: int(shot_info[duration]), } result api_client.generate(payload) if result.status success: result.video.save(output_path) return True return False def main(): shot_csv ../shots/shot_plan.csv output_root ../output/raw with open(shot_csv, r, encodingutf-8) as f: reader csv.DictReader(f) shots list(reader) # 这里的 api_client 需要替换为实际可用的客户端对象 api_client None for shot in shots: shot_id shot[shot_id] shot[output_path] os.path.join(output_root, f{shot_id}.mp4) success generate_shot(shot, api_client) if success: print(f[OK] {shot_id} generated) else: print(f[FAIL] {shot_id}) if __name__ __main__: main()这个脚本的作用是把分镜执行过程从“手动操作界面”变成“批量执行”。即使你暂时没有可用的api_client这个结构也值得保留后面接入对应 SDK 时只需要替换generate_shot内部实现即可。分镜 CSV 文件样例shot_id,duration,prompt,negative_prompt,reference_face,reference_video SHOT_01,3,远景竹林...,人物文字...,,assets/reference_videos/bamboo_wind.mp4 SHOT_02,5,中景年轻女子...,多人文字...,assets/reference_faces/heroine_front.png, SHOT_03,4,中景反派男子...,多人文字...,assets/reference_faces/villain_front.png, SHOT_04,5,近景两人对峙...,多人文字...,assets/reference_faces/heroine_front.png, SHOT_05,6,全景女子施展剑招...,多人文字...,assets/reference_faces/heroine_halfbody.png, SHOT_06,5,中景反派后退...,多人文字...,assets/reference_faces/villain_front.png,4.5 运行与验证生成完成后不要急着拼接。先抽帧检查每段视频的人脸一致性。抽帧可以用 FFmpeg# 从输出视频中抽取第 1 秒、第 2 秒、第 3 秒的帧便于快速检查 ffmpeg -i output/raw/SHOT_02.mp4 -vf fps1 output/check/SHOT_02_%03d.png抽帧后用图片查看器或开源人脸比对工具检查同一角色在不同镜头里是否相似。如果相似度不够优先调整参考图和提示词而不是反复抽卡。5. 提示词模板库短剧向中文提示词体系提示词模板是这次工作流中最值得积累的部分。好的模板能大幅减少调参时间。下面提供几个短剧场景的模板骨架你可以直接复制修改。5.1 角色出场镜头模板【景别】【角色外貌描述】从【地点】走出【动作】【表情】【服装】【光线】【镜头运动】【画质】【风格】示例中景年轻女子身穿青绿色古装长裙从竹林深处走出长发随风飘动眼神坚定面部清晰电影感柔和光线浅景深缓慢推进镜头8K 画质中国古风5.2 战斗打斗提示词模板战斗场面最怕动作僵硬和人物变形。模板建议把“动作描述”拆成“起手式—中间动作—收招”三个阶段。【角色】【起手式动作】【中间连续动作】【收招动作】镜头【运动方式】动态模糊感动作流畅面部清晰【环境描述】【光影】【风格】示例女主角手持长剑侧身起手随即纵身跃起旋身斩击最后落地收剑镜头跟随运动动态模糊感动作流畅面部清晰竹林背景阳光透过竹叶形成光斑中国古风武侠风格5.3 情绪特写模板特写镜头重点刻画情绪参考图选正脸图提示词强调眼神和微表情。近景特写【角色】【眼神描述】【微表情】【光线】背景虚化面部毛孔清晰电影感【情绪基调】示例近景特写女主角眼神由迷茫转为坚定嘴唇微抿眼角泛红情绪克制柔和侧光背景虚化面部细节清晰电影感悲而不伤的氛围5.4 场景过渡模板过渡镜头用来衔接场景通常不需要人物但风格必须与前后镜头统一。【景别】【环境描述】【天气】【光影】【镜头运动】【风格关键词】空镜示例远景竹林全景风吹竹叶天空多云光线从云层中洒落镜头缓慢上升空镜中国古风电影感5.5 通用负向提示词负向提示词不要每个镜头都写一遍。建议准备一个通用负向提示词文件批量生成时统一加载。文字水印模糊变形低分辨率面部扭曲五官错位手部畸形多余手指肢体不自然现代建筑现代服饰欧美面孔过度饱和曝光过度画面撕裂这里要提醒一点提示词模板不是一成不变的公式。H3 对中文的理解能力较强但不同版本对提示词细节的响应不同。建议先在一个镜头上测试模板效果确认风格稳定后再批量应用。6. 长时长视频的一致性与质量把控短剧样片虽然只有几十秒到几分钟但相比单条短视频已经算得上“长时长视频”。这里的长时长不是指一次性生成几分钟视频而是指由多个片段拼接而成的完整叙事。把控好几个关键点样片质量就能立住。6.1 分镜命名与素材管理规范名称规范直接影响拼接效率。我推荐一种“项目号_场景号_镜头号_版本号”的命名结构h3_demo_01_scene01_shot02_v1.mp4这个命名包含项目名、场景、分镜和版本信息后续拼接时按名称排序即可得到正确顺序。如果某个镜头重新生成多次版本号v1、v2也能帮你快速找回历史结果。6.2 多人脸一致性校验短剧里经常有两个或更多角色同框这时候一致性校验会更复杂。不能只看脸部相似还要看角色之间的相对位置是否稳定。我采用的方法是将每个角色分别与同一场景里的单人参考镜头对比。对比同框镜头中角色 A 和角色 B 的站位、身高比例、服装颜色是否与单人参考镜头一致。如果同框镜头出现角色比例失调优先调整提示词中的“身高差”“站位”描述。示例提示词中景女主角站在画面左侧反派男子站在画面右侧两人身高差明显女主角略矮反派男子身形高大面部清晰目光对视竹林背景电影感6.3 帧率、时长与转场策略AI 生成的视频片段时长有限拼接时要注意帧率统一。如果有的片段是 24fps有的是 30fps拼接后会出现卡顿。建议整个项目统一使用 24fps 或 25fps。拼接前先用 FFmpeg 把所有片段统一帧率# 转码为统一帧率 25fps ffmpeg -i input.mp4 -r 25 -c:v libx264 -crf 18 output.mp4转场方面短剧不适合过度使用花哨转场。“硬切 少许淡入淡出”是常见处理方式因为 AI 生成视频本身就可能存在画面跳动转场太花反而暴露瑕疵。6.4 拼接与后期处理分镜检查通过后按顺序拼接。拼接脚本可以用 FFmpeg concat 实现# 先创建待拼接文件列表 cat filelist.txt EOF file output/checked/SHOT_01.mp4 file output/checked/SHOT_02.mp4 file output/checked/SHOT_03.mp4 file output/checked/SHOT_04.mp4 file output/checked/SHOT_05.mp4 file output/checked/SHOT_06.mp4 EOF # 无损拼接 ffmpeg -f concat -safe 0 -i filelist.txt -c copy output/final/short_drama_sample.mp4拼接后再统一调色、压字幕、配乐。需要说明的是这里的-c copy无损拼接要求所有片段编码参数一致如果出现失败改成重新编码ffmpeg -f concat -safe 0 -i filelist.txt -c:v libx264 -crf 18 -pix_fmt yuv420p output/final/short_drama_sample.mp47. 常见问题与排查思路短剧制作过程中会碰到很多问题下面列出我在实操中遇到的高频问题以及排查方向。问题现象常见原因解决思路同一角色不同镜头人脸不相似参考图角度差异太大提示词角色描述不一致统一角色描述词按景别选择最合适参考图镜头中出现多余人物正向提示词没有强调单人负向提示词缺少“多人”在正负提示词中同步加入“单人”和“多人”同框镜头角色比例失调提示词没有描述角色站位和身高差补充站位、身高差、前后关系描述动作僵硬不连贯参考视频太短或动作不匹配选用 3-5 秒动作参考视频尽量贴近目标动作画面变形模糊分辨率设置过低步长不够负向提示词缺少质量项提高分辨率增加步长补充“模糊、低分辨率”负向词提示词模板在某些镜头失效模板中的描述与参考图冲突优先检查参考图是否存在与描述矛盾的特征本地部署运行缓慢GPU 显存不足工作流节点过多降低分辨率关闭多余节点分模块执行拼接后闪烁感较强各分镜光源、色调不一致增加风格参考图后期统一调色排查时建议遵循“先参考图再提示词最后参数”的顺序。也就是说不要一遇到问题就疯狂改参数先看参考素材有没有问题再看提示词是否准确描述了你想要的画面最后才调整步长、分辨率等生成参数。8. 最佳实践与工程建议短剧样片制作工作流已经有了一定工程复杂度养成好的习惯可以避免反复踩坑。8.1 提示词工程规范不要每段提示词都从零写。先维护一份角色 LUTLook-Up Table把每个角色的固定描述词统一记录下来# 角色词表女主角 角色名: 女主 外貌: 年轻女子长发鹅蛋脸眉清目秀 服装: 青绿色古装长裙白色腰带 气质: 眼神坚定清冷 风格词: 中国古风武侠 # 角色词表反派 角色名: 反派 外貌: 中年男子络腮胡鹰钩鼻面容阴鸷 服装: 深黑色劲装暗红披风 气质: 凶狠阴沉 风格词: 中国古风武侠写分镜提示词时从角色词表里直接复制不能这次写“年轻女子”下次写“女孩”描述不一致正是人脸出现微妙漂移的隐藏原因。8.2 素材版本管理生成的视频和参考素材都要有版本管理意识。建议每次批量生成前记录一个生成清单生成批次: 2025-06-10-batch1 模型: MiniMax H3 本地部署 参考图: v2 版本 提示词版本: v3 参数: 分辨率1080p, 25fps, 步长30 结果: SHOT_01 通过, SHOT_02 不通过(面部变形), SHOT_03 待检查这个清单记在文本文件或 CSV 里都行。它在样片返工时能省下大量时间。8.3 计算资源优化本地部署时批量生成非常吃显卡资源。我的建议是批次不要太大一次生成 5 到 8 个镜头最好。生成时关闭其他占用显存的程序。如果显卡跑不动 1080p先生成 720p 确认分镜逻辑最后再对关键镜头高清化。8.4 合规与版权用开源模型和开源工具制作短剧样片时要留意参考素材的版权问题。参考图、参考视频如果不是你自己拍摄或制作的需要确认是否存在版权风险。尤其涉及真实人物肖像时要获得明确授权。另外本地部署模型和使用云端服务数据安全边界也不同。涉及商业项目时优先与团队确认数据合规要求避免把未公开的剧本、角色设定上传到不受控的第三方平台。8.5 工作流可维护性ComfyUI 工作流文件是 JSON结构复杂以后很难读懂。建议按功能拆分多个工作流小文件而不是把所有节点写进一个大工作流。例如workflows/ ├── face_ref_preprocess.json # 人脸参考图预处理 ├── shot_generate.json # 单镜头生成 ├── batch_check.json # 批量抽帧检查 └── final_concat.json # 最终拼接这样每个工作流只负责一件事排错时能快速定位问题节点。9. 总结与下一步方向这篇教程围绕 MiniMax H3 短剧样片制作梳理了一套以开源工具为基础的制作思路先把短剧拆成分镜再通过“图片参考 视频参考 提示词模板”的组合保证人脸一致性最后用脚本和 FFmpeg 完成批量生成与拼接。整条链路里提示词模板不是固定文案而是可以沉淀、复用、版本化的工程资产。如果你接下来要继续深入可以从这几个方向入手研究更适合自己项目的开源视频生成模型组合尝试在 ComfyUI 中接入不同模型做对比。尝试构建一个更完整的“人脸一致性校验”脚本用开源人脸识别模型自动计算不同镜头的人脸相似度代替人工抽查。把分镜表、提示词模板和生成参数统一管理起来做成一套可复用的“短剧生成模板库”后续新项目直接套用。短剧样片制作并不是把提示词写长就能做好它更依赖流程设计、素材管理和反馈迭代。希望这套基于 H3 的开源工作流能帮你减少返工让人物一致性不再成为样片过审的阻碍。如果这篇文章对你有帮助可以收藏备用。接下来我也会继续分享更多短剧向的生成技巧和优化工作流包括战斗分镜、多人同框、镜头接力等方向的实践方案。