“一句话的剧本,怎么变成一部能看的 AI 短剧?”这是我最近被问到最多的问题。花了三个晚上,我把整条链路在本地电脑上完整跑通了一遍——剧本扩写、分镜拆解、画面生成、配音配乐、剪辑合成,全程没花一分钱买 API,也没依赖任何网页版限次数平台。看完这篇,你可以直接用同样的思路,在自己电脑上复刻一套“AI 短剧生产线”。

先说结论:本地零元做 AI 短剧,技术上是完全可行的,而且效果足以把过去那种“图片配音乐”的幻灯片式短视频,升级成有剧情、有镜头变化、有人物表演的迷你剧集。区别只是你愿意花多少时间调优。我用一台 16GB 显存的消费级显卡完成了全部测试,如果你的显卡稍弱,文中也有对应的降级方案。

1. 一句话剧本到成片,全链路设计思路

1.1 这个实验解决什么问题

市面上的 AI 短剧工具大多走云端:你把提示词填进去,平台帮你生成视频片段,然后再去剪辑软件里拼。这种方式有两个明显痛点——第一,免费额度少得可怜,生成几条视频就见底了;第二,可定制性差,剧本、人物、风格全都锁死在平台预设里。

本地零元实测想解决的,就是这两件事:不依赖云 API,所有核心环节用开源模型和免费工具完成;同时保证剧本和画面的控制权完全在自己手里。整条链路拆开来看,其实只有五步:写剧本、拆成镜头、生成画面、配上声音、剪成成片。每步都有成熟的开源方案,真正难的不是工具本身,而是怎么把工具串起来。

1.2 工具链选型与“零元”逻辑

“零元”不是指电脑电费不花钱,而是指软件层不付费。我选型的基本原则很简单:优先开源、优先本地、能被 Docker 封装的一律容器化。最终敲定的主力工具是这几款:

  • 剧本与分镜:Ollama(加载本地大模型 IDeepSeek-R1/Qwen2.5)+ Dify(可视化工作流编排)
  • 画面生成:ComfyUI(文生图 + 图生视频),配合开源模型完成出图与运镜
  • 配音配乐:微软 Edge TTS 的免费接口跑对白和旁白,背景音乐用免版权素材库
  • 剪辑合成:剪映个人版 + FFmpeg 兜底处理

这套组合里,最需要配置门槛的是显卡。我的测试机是 RTX 4060 Ti 16GB 版本,生成 720P 短视频片段单条在 3 到 6 分钟不等。如果你只有 8GB 显存,文生图部分还能带得动,视频生成就得靠 CPU 慢跑,或者选择更小的开源视频模型。

1.3 为什么一定要强调本地

把模型部署在本地,最重要的原因是隐私和成本的可控性。短剧剧本属于创意内容,在没成型之前,你未必愿意把它们发给云端平台做训练语料。本地方案所有人机交互都发生在你的电脑里,数据不出口,心理负担小很多。

另一个原因是迭代效率。云端生成的视频如果角色造型不对,你得改提示词重新等五分钟;本地方案里,模型加载和推理都在手边,一次不满意马上调整工作流参数,节奏完全由自己掌控。尤其后面要讲的“角色一致性”优化,需要反复试错,本地环境比云端体验好得多。

2. 剧本端到端:本地大模型与流程编排

2.1 Ollama 本地部署实操

Ollama 是目前把大模型本地化做得最省心的工具,一条命令就能把开源模型跑起来。我建议先安装 Ollama,再用它拉取模型。Windows 和 macOS 都有安装包,Linux 用脚本装:

curl -fsSL https://ollama.com/install.sh | sh

装完就能拉模型。短剧剧本生成对模型能力的要求不算极端,7B 到 14B 参数的量化模型已经能写出结构完整的剧本大纲。我的推荐顺序是:

ollama run qwen2.5:7b
ollama run deepseek-r1:8b

第一次拉取会自动下载,之后启动就在本地了。要验证生效很简单:跑一句“写一个三幕短剧的开头,包含场景描述、人物动作与对白”,看输出是否成段落、有无明显废话。

这里有个细节容易被忽略:Ollama 默认占用内存的量取决于模型大小,7B 量化模型大约会占 6GB 到 8GB 内存。如果机器同时跑 ComfyUI,内存压力会很大。我一般会在跑视频生成前,把 Ollama 服务停掉,为生成画面腾出显存和内存资源,毕竟写剧本和出画面是不同阶段,没必要同时留两个大模型在后台。

2.2 剧本扩写与分镜拆解

拿到一句原始剧本后,我习惯分两步走。第一步让大模型把它扩写成 300 到 500 字的完整短剧脚本,重点是要求它输出明确的场景序号、每场的环境描述、角色动作、对白内容。这一步决定了后面所有画面生成的提示词素材。

第二步是分镜拆解。把完整脚本丢回给模型,要求它输出一个 Markdown 格式的分镜表,每一行代表一个镜头,字段包括:镜头号、景别(远景/中景/近景/特写)、运镜方式、画面主体描述、对白字幕、时长建议。这样生成出来的表格,几乎可以直接变成后面 ComfyUI 的提示词和工作流配置。

实际使用中,我发现 7B 模型的分镜意识已经够用,但偶尔会把运镜写成“镜头移动”这种含糊描述,导致后面出图无法执行。我在提示词里加了一句强约束:运镜只用固定术语,比如推近、拉远、左摇、右摇、跟随、固定。效果立竿见影。

2.3 Dify 编排工作流

Dify 在热搜词里反复出现,确实有它的道理。它是把“提示词、模型、数据处理”封装成可视化流程的工具,本地部署 Dify 也不用折腾,Docker 一键搞定。

docker compose up -d

启动后进入管理后台,配置一个自定义模型。类型选 OpenAI-API-compatible,Base URL 填 Ollama 的地址 http://host.docker.internal:11434/v1 ,模型名填 qwen2.5:7b 这类实际拉取的标签即可。配置完成后,就能在 Dify 里拖拽节点,让“一句话剧本 → 完整剧本 → 分镜表”自动流转。

我的工作流设置了三个节点:第一个节点放“剧本扩写”提示词,第二个节点放“分镜拆解”提示词,第三个节点把输出整理成固定模板。这样每次输入一句话,Dify 会自动吐出一张可以直接用于后续生成的分镜表,省去反复复制粘贴的重复劳动。

3. 画面生成:文生图与图生视频的关键技术

3.1 用 ComfyUI 做可控出图

ComfyUI 是节点式操作,对新手不算友好,但这是目前本地生成画面最灵活的工具。它的核心优势是工作流可以被复用、微调,同一套流程换个提示词就能批量生成镜头,非常适合短剧这种多镜头需求。

我的出图提示词模板大概是这个结构:

主场景描述 + 角色外貌描述 + 景别与构图 + 镜头运动 + 光影风格 + 画质渲染词

比如分镜表里写“近景,女主角在咖啡馆窗边看手机”,我的提示词会拆成:

  • 场景:cozy coffee shop, soft morning light through window
  • 角色:young woman, shoulder-length black hair, beige coat
  • 景别:close-up shot, face and upper body in frame
  • 风格:cinematic lighting, shallow depth of field, photorealistic
  • 画质:8k, detailed skin texture, film grain

提示词写得越具体,画面越接近你要的感觉,但也不是越多越好。我试过把整个场景的每个细节都塞进去,反而出现元素堆砌、画面互相冲突的结果。现在我的策略是“场景和三观写死,装饰和表情留白”,给模型一点发挥空间。

3.2 图生视频与运镜控制

短剧不能每一帧都靠文生图生成——静态图撑不成剧,必须让画面动起来。我的做法是先在 ComfyUI 里用文生图生成每一镜头的关键帧图片,再把关键帧导入图生视频模型,让模型预测并生成几秒钟的动态片段。

开源社区可用的本地图生视频模型,目前在 ComfyUI 里比较顺手的是 AnimateDiff 和类似结构的视频扩散模型。我在测试中用的工作流流程是:加载关键帧 → 图生视频模型 → 设置帧数和步数 → 输出短视频片段。每个镜头生成 3 到 5 秒,帧率 12 到 16 fps,既能保证动作连续性,又不至于让单条生成时间过长。

运镜这块,图生视频模型的提示词也可以控制部分镜头语义,但控制力有限。实际做下来,最稳的方式是前期在分镜表里设计好景别切换,用远景交代环境、中景展示角色动作、近景捕捉情绪,通过剪辑节奏模拟出“镜头感”,而不是硬靠模型生成复杂运镜,后者的失败率高得多。

3.3 角色一致性的三个思路

AI 短剧最容易翻车的地方,是同一个角色在上下两个镜头里长得完全不一样,观众一看就出戏。想要“零元”做,角色一致性有三个层次的做法。

第一个思路是“固定外貌描述”。在每条提示词里反复出现同一段角色外貌词,例如“young woman, shoulder-length black hair, beige coat, gentle smile”。这个方法最简单,但效果不稳定,不同批量生成时,脸型、发型细节仍会有明显差异。

第二个思路是“参考图垫底”。在 ComfyUI 工作流里挂一个参考图节点,把上一镜头的成品图作为角色参考输入,让新镜头在保持角色相貌的基础上做画面变化。这个方案效果比纯文字好很多,能锁住大部分面部特征。

第三个思路是靠 IPAdapter 之类的风格/角色适配插件,把角色特征编码成向量并注入到生成过程中。这是目前开源框架里能做到的接近“角色一致性”的方案,代价是需要多配置一个模型文件和几十 MB 的显存,同时要求所有镜头都挂同一个参考向量。

我实际测试下来,大多数人做 AI 短剧,用“固定描述 + 参考图”组合就足够了。真正的一镜到底、复杂多人互动,现阶段靠零成本方案硬磕,投入产出比不高。

4. 成片阶段:配音、配乐与剪辑合成

4.1 对白与旁白的生成方案

画面出来以后,声音就是决定成片质感的另一半。对白我用的是微软 Edge TTS 的免费接口,它支持中文多种音色,还能调节语速和音调。虽然名义上是“测试接口”,但目前稳定性相当好,批量生成几十条对白没有问题。

调用方式很简单,可以用 Python 脚本直接跑:

import edge_tts
import asyncio

async def gen(text, path):
    tts = edge_tts.Communicate(text, "zh-CN-XiaoxiaoNeural")
    await tts.save(path)

asyncio.run(gen("你终于来了,我等了很久。", "line01.mp3"))

旁白部分我会选稍微低沉一点的中性音色,跟角色对白形成区分度。音色选择上一句话:对白尽量选年轻、情绪起伏大的音色,旁白选稳重、叙述感强的音色,两类音色交替出现,观众的听觉才不会疲劳。

4.2 剪辑合成与字幕

把所有镜头素材和对白文件对齐,是成片阶段最花时间的一步。我的流程是:先把对白音频按分镜表顺序排好 → 在剪映中把每一段匹配的视频片段拖到对应音频上方 → 调整每段视频的时长与音频对齐 → 添加字幕和转场。

字幕我建议直接用剪映的自动识别,识别率在干净背景上很高,但遇到角色说话有背景音乐时可能会出错。稳妥做法是先把对白文案做成字幕文件,再用 FFmpeg 或剪映批量导入,既保证文字准确,又省去逐句校对。

背景音乐的选择上,我常用的免版权素材库是 Pixabay Music。选 BGM 有个思路:不要选铺满全片的旋律,试着用两段,开场安静、剧情冲突时音量增强,给情绪留出变化空间。

4.3 从“能看”到“像样”的细节技巧

第一版成片往往只能算“能看”,距离“像样”还有一段距离。我分享几个亲测有效的小细节。

调色统一:不同镜头生成的画面色调可能有差,进入剪辑后拌统一调一层色温,让所有镜头的光感趋于一致,高级感立刻上来。我在剪映里会统一降低一点高光、稍微提升饱和度,天空和肤色会更耐看。

画面比例:短剧基本用竖屏 9:16 发布,但我在生成阶段故意生成横版素材,再通过剪辑把主体居中放置、上下填充模糊背景,保留原始画质的同时适配平台展示。直接竖屏生成容易跑偏构图,这个反向思路实测好用。

片头片尾:只用黑底白字加一个 1 秒的淡入淡出效果,配合一句文案,比花哨模板更有“剧集感”。零成本特效不等于零审美,克制反而更能体现风格。

5. 常见问题快查表与硬件配置建议

5.1 高频报错与排查思路

本地 AI 部署十个问题里有八个是环境问题,不是模型问题。我整理了这次实测里遇到的典型故障和排查路径,成了一张速查表,以后卡住可以直接对着查。

现象 可能原因 排查与解决
ComfyUI 出图全是黑图 显存不足或采样器参数异常 降低图片分辨率,关闭后台 Ollama 服务,检查步数不低于 20
Ollama 调用时提示连接失败 Base URL 配置错误 确认地址是 http://host.docker.internal:11434/v1 ,不是 localhost
视频生成速度极慢 未利用 GPU 加速 检查驱动与 CUDA 版本,确认 PyTorch 是 CUDA 版本而非 CPU 版本
角色脸部漂移明显 参考图没有锚定角色特征 换用 IPAdapter 方案,或提高参考图在提示词里的权重
对白音频节奏奇怪 分镜时长与音频长度不匹配 先根据音频时长反推视频片段的拉伸比例,再入剪辑

5.2 不同预算的硬件配置推荐

本地跑 AI 短剧,硬件决定了下限。我按预算档位整理了三套方案,覆盖从尝鲜到流畅制作的不同需要。

配置档位 显存要求 推荐显卡 能做哪些环节 局限
入门尝鲜 8GB RTX 3060 / 4060 剧本、分镜、文生图、配音剪辑 视频生成需 CPU 慢跑或降分辨率
标准制作 16GB RTX 4060 Ti / 3080 全部环节,含图生视频 超长镜头或高帧率仍需排队等待
专业高效 24GB+ RTX 4090 / 5090 全部环节,批量渲染高分辨率 成本偏高,适合接单或量产内容

实测下来,16GB 显存是“零元方案”里最舒服的甜点位,基本能在不频繁调参的情况下跑完全流程。如果你的机器只有 8GB,我建议把视频生成部分放到晚上挂机跑,白天只做剧本和素材整理,效率也可接受。

5.3 我踩过的坑与修正路径

第一次跑通全流程,我犯过一个低级错误:在生成视频片段时没有预先统一所有镜头的分辨率和帧率,导致剪辑阶段画面忽大忽小、时间轴对齐困难。后来我强制在出图工作流里定义了统一的输出尺寸和帧率(比如全部 720x1280 竖屏,输出 12fps),问题一次解决。

另一个坑是提示词里堆了太多“电影感、赛博朋克、极致画质”之类的形容词。这些词听起来高大上,但模型把它们当成强特征渲染,结果画面过曝、元素混乱,反而丢失了角色主体。后来我的提示词删掉了所有“高级感”修饰词,只保留场景必要信息和画质基础词,出图的稳定性和一致性反而提高了。

个人体会最深的一点是:AI 短剧的瓶颈不在“生成”,而在“编排”。同一个模型、同一套工具,有人做出来像 PPT 轮播,有人做出来像迷你剧,差别就在脚本结构、镜头逻辑和声音配合上。本地零元方案最大的收获,是让我彻底理解了每一步生成背后的逻辑——下一次哪怕换平台、换模型,思路依然能复用。

Logo

火山引擎视频云技术社区,是面向 AI 音视频开发者的技术交流平台。这里汇聚源自抖音、豆包等亿级 DAU 产品的 RTC、直播、点播、AI 媒体处理、音视频互动技术,提供接入指南、最佳实践、性能调优、场景案例、Demo 代码、开源项目、白皮书和 API 文档。社区汇聚官方工程师与一线开发者,为 AI 视频通话、数字人、AI 视频处理等应用的开发与落地提供技术支持。

更多推荐