
这次我们来看一个用 AI 生成古风短剧的项目。它不是某个单一的模型或工具而是一套结合了 AI 绘画、AI 配音、AI 剪辑等技术进行原创短剧内容生产的完整流程。项目标题《凤帷医心第十七集》已经点明了其核心产出一部连载的、AI 创作的、古风双女主题材的短剧。对于技术爱好者而言这个项目的价值不在于某个“一键生成短剧”的魔法按钮而在于它提供了一个可复现的、基于现有开源工具的“技术栈组合方案”。它回答了“如何用 AI 低成本、高效率地制作一部有连续剧情、固定人设、风格统一的短剧”这个问题。本文将重点拆解这套方案可能涉及的技术组件、工作流设计、资源门槛以及实际落地时会遇到的挑战。如果你关心的是如何用 Stable Diffusion 保持角色一致性如何用 TTS 合成符合角色设定的语音如何将分镜、配音、字幕、背景音乐自动化合成那么这篇文章会为你梳理出一条清晰的路径。我们将从技术实现的角度探讨从剧本到成片的每一个环节并给出具体的工具选择、操作思路和避坑指南。1. 核心能力速览AI 短剧生产流水线这个项目本质上是一个“内容生产管线”Content Pipeline。下表梳理了其核心环节及对应的技术实现可能性能力项说明与常用工具剧本与分镜使用大语言模型如 ChatGPT、Claude、DeepSeek辅助生成剧本、对话和分镜描述。核心是输出结构化的“场景-画面描述-台词”文本。角色视觉设计使用 Stable Diffusion 系列模型如 SDXL、SD 1.5 的各种古风 LoRA通过 Textual Inversion、LoRA 或 Dreambooth 训练固定两位女主角的面部特征、服饰风格确保剧集间角色一致性。场景图生成基于分镜描述使用 Stable Diffusion配合 ControlNet如 OpenPose、Canny、Depth生成符合剧情、构图、光影要求的背景或角色场景图。批量生成是关键。语音合成 (TTS)使用开源 TTS 模型如 GPT-SoVITS, Bert-VITS2, StyleTTS2为不同角色训练专属音色并根据台词合成带情感语调的语音。支持长文本批量处理。视频合成与剪辑将静态场景图转化为动态视频使用图生视频模型如 Stable Video Diffusion、AnimateDiff或简单运镜工具然后与配音、字幕、背景音乐BGM在剪辑软件如 DaVinci Resolve, Premiere或自动化脚本如 moviepy中合成。字幕生成语音识别ASR或直接基于剧本文本生成字幕文件.srt/.ass。可使用 Whisper 等开源模型进行音频转写校对。流程自动化通过 Python 脚本或 ComfyUI 工作流将以上环节串联实现从文本剧本到粗剪视频的半自动化流水线。硬件门槛主要压力在图像/视频生成阶段。Stable Diffusion 生图建议 8G 以上显存可玩12G 以上显存体验更佳。视频生成显存需求更高12G或依赖 CPU/内存进行低分辨率生成。TTS 训练与推理对显存要求相对较低4G-6G 可运行部分模型支持纯 CPU。适合场景个人或小团队进行 AI 原创内容实验、短视频创作、动画分镜预览、低成本短剧制作。不适合对画面精度、动作流畅度有影视级要求的商业项目。2. 适用场景与使用边界这个项目适合谁AI 技术实践者希望将分散的 AI 能力AIGC, TTS, ASR整合到一个完整项目中进行实战。内容创作者短视频博主、自媒体运营者希望探索 AI 辅助下的高效、低成本内容生产模式。动画/影视爱好者想将自己的故事创意视觉化但缺乏专业绘画、配音、剪辑技能的个人创作者。它能解决什么问题角色一致性难题通过 LoRA 等技术让 AI 在数百张图片中画出同一张脸、同一套服装风格。音画同步生产建立从文字剧本到带配音视频的标准化流程减少跨软件操作的手动成本。创意快速验证在投入大量资源进行真人拍摄或专业动画制作前用 AI 快速生成故事板Storyboard或概念短片。它的边界与限制画面精度与可控性AI 生成的画面在细节如手部、复杂透视、特定道具上仍可能出错需要大量筛选和后期修正。动态生成瓶颈当前开源的图生视频模型在动作连贯性、时长、分辨率上仍有较大限制难以直接生成高质量的复杂长镜头。版权与伦理风险训练数据使用的底模型和 LoRA 必须确认其训练数据来源合法避免侵权。肖像与声音如果角色设计基于特定真人形象或声音必须获得明确授权否则存在法律风险。严禁使用未经授权的公众人物或他人肖像、声音进行 AI 合成与传播。内容合规生成的故事内容需符合平台规范不得涉及违法、不良信息。技术门槛整个流程涉及多个工具链的部署、调试和集成需要一定的技术学习成本和问题排查能力。3. 环境准备与前置条件要搭建这样一条 AI 短剧生产线你需要一个稳定的基础环境。以下是通用性较强的准备清单操作系统Windows 10/11 Linux如 Ubuntu 20.04 macOS部分工具支持但性能可能受限尤其是图像生成。Python 环境推荐使用 Python 3.10与多数 AI 框架兼容性最好。务必使用venv或conda创建独立的虚拟环境避免依赖冲突。版本管理工具Git用于克隆开源项目。硬件检查GPUNVIDIA GPU 是首选CUDA 加速能极大提升图像/视频生成和模型训练效率。确认已安装合适版本的 NVIDIA 显卡驱动。显存这是关键瓶颈。建议至少 8GB 显存。6GB 显存可运行部分轻量级模型但批次大小batch size和分辨率会受限。内存建议 16GB 以上系统内存。视频合成和数据处理会消耗大量内存。存储准备充足的 SSD 空间至少 100GB 以上。用于存放基础模型每个 2-7GB、LoRA 模型、训练数据、生成的中间素材和最终成片。核心软件框架PyTorch深度学习框架基础。需根据 CUDA 版本安装对应的 PyTorch。Stable Diffusion WebUI (Automatic1111) 或 ComfyUI二者选一或都安装。WebUI 交互友好插件丰富ComfyUI 更擅长可视化工作流编排适合自动化流水线。FFmpeg音视频处理的核心命令行工具用于格式转换、剪辑、合成。务必将其添加到系统环境变量 PATH 中。CUDA 和 cuDNN确保版本与 PyTorch 要求匹配。4. 安装部署与核心工具链搭建我们不会部署一个名为“凤帷医心”的现成软件而是搭建实现它所需的技术栈。以下是分步指南4.1 图像生成引擎Stable Diffusion这里以Stable Diffusion WebUI (Automatic1111)为例它生态完善适合初学者。# 1. 克隆仓库 git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git cd stable-diffusion-webui # 2. 运行启动脚本Windows webui-user.bat # 首次运行会自动安装依赖和下载必要模型。请保持网络通畅。启动后在浏览器中访问http://127.0.0.1:7860。你需要下载一个基础模型如sd_xl_base_1.0.safetensors和一个古风风格的 LoRA可在 Civitai 等社区搜索“chinese style”, “ancient china”等关键词并将其放入models/Lora目录。4.2 角色一致性训练LoRA 制作为了固定双女主形象你需要为每个角色训练一个 LoRA。准备数据集收集 20-50 张目标角色的高质量图片最好是同一人、类似妆造、多角度、多表情。图片尺寸建议 512x512 或 768x768。图片预处理使用 WebUI 的“训练”标签页下的“预处理”功能对图片进行打标Tagging。可以自动生成描述词但建议手动精修确保标签准确如fengwei_yixin, long black hair, red hanfu, smiling。配置训练参数使用 Kohya_ss 训练脚本或 WebUI 内置的 LoRA 训练扩展。关键参数包括学习率、训练步数、网络维度network_dim。对于新手可以从社区寻找现成的古风 LoRA 进行微调降低难度。训练与测试开始训练后会生成多个检查点checkpoint。每隔一段时间用生成的 LoRA 文件配合基础模型进行生图测试直到角色特征稳定。4.3 语音合成专属音色生成以GPT-SoVITS为例它是一个支持少量数据、快速克隆音色的优秀开源项目。# 克隆项目 git clone https://github.com/RVC-Boss/GPT-SoVITS.git cd GPT-SoVITS # 安装依赖建议在虚拟环境中进行 pip install -r requirements.txt # 下载预训练模型项目通常会提供下载脚本或指引 # 准备你的语音数据5-10分钟目标角色的干净录音背景无杂音语速均匀。启动 WebUI 服务python webui.py访问其界面流程通常是音频切片 - 语音转录 - 微调训练 - 文本推理合成。训练完成后你可以得到一个模型文件用于将任意文本合成为该角色的声音。4.4 视频合成与剪辑自动化这是最复杂的环节目前没有“一键解决方案”需要组合使用工具。方案A静态图 运镜效果 (简易)使用EbSynth、LeiaPix Converter或DaVinci Resolve 的 Fusion 页面为静态图片添加缓慢的缩放、平移等2D运镜效果模拟动态感。方案B图生视频模型 (进阶)使用Stable Video Diffusion (SVD)或AnimateDiff配合 Stable Diffusion WebUI 扩展或 ComfyUI 工作流。SVD将单张图片生成短视频片段。显存要求高输出时长短通常几秒。AnimateDiff需要搭配 Motion LoRA可以让 SD 生成的图片“动起来”。在 ComfyUI 中已有成熟工作流。剪辑合成 使用moviepyPython 库编写脚本实现自动化。from moviepy.editor import ImageClip, AudioFileClip, concatenate_videoclips, TextClip, CompositeVideoClip # 示例将图片序列和音频合成带字幕的视频伪代码 image_clips [ImageClip(f“scene_{i}.png”).set_duration(3) for i in range(10)] # 每张图3秒 audio AudioFileClip(“dialogue.wav”) video concatenate_videoclips(image_clips).set_audio(audio) # 添加字幕需要预先处理好字幕时间轴 # ... video.write_videofile(“output.mp4”, fps24)5. 功能测试与效果验证从单场景到完整流程搭建好环境后不要急于制作整集应先进行单元测试和集成测试。5.1 角色视觉一致性测试测试目的验证训练好的角色 LoRA 能否在不同场景、姿势、表情下保持稳定。输入一组包含不同描述词的提示词如“[角色名] full body, standing in garden, smiling”, “[角色名] close-up, angry, indoor”。操作在 SD WebUI 中固定种子seed启用 LoRA切换不同提示词生成图片。成功标准生成的多张图片中角色面部核心特征脸型、眼睛、嘴型高度相似服饰风格统一。失败排查如果特征不稳定需检查训练数据是否足够多样、标签是否准确、训练参数是否过拟合/欠拟合。5.2 分镜场景生成测试测试目的验证能否根据剧本描述生成符合构图和氛围要求的场景图。输入一段详细的分镜描述例如“夜晚御花园角落月光洒下女主角A背对镜头仰望天空身影孤寂。”操作将描述转化为提示词加入风格词如“masterpiece, best quality, ancient Chinese painting style”使用 ControlNet如 Depth 或 Canny控制构图进行生成。成功标准生成的图片在构图、光影、时代氛围上符合描述且能与之前测试的角色图在画风上融合。失败排查提示词不够具体需要调整 ControlNet 权重基础模型或 LoRA 不擅长该风格。5.3 语音合成与情感匹配测试测试目的验证 TTS 模型合成的语音是否自然能否体现台词中的情绪。输入一段角色台词如“冷笑你以为这样就能瞒天过海吗”操作在 GPT-SoVITS 等工具的推理界面输入文本选择对应角色模型尝试调整语速、音调或使用“情感参考音频”。成功标准合成语音自然流畅音色与角色匹配能听出“冷笑”的情绪色彩。失败排查训练数据缺乏情感多样性文本前端处理分词、韵律预测不佳可尝试在文本中加入情感标签如[laugh]取决于模型是否支持。5.4 端到端单场景流水线测试测试目的将以上环节串联对一个完整场景画面配音进行生产。流程剧本 - 生成该场景画面。剧本 - 生成该场景角色 A 和 B 的对话音频。使用剪辑脚本将画面与两段音频对齐并添加字幕。成功标准最终输出的短视频片段音画同步字幕准确观感连贯。失败排查时间轴对不齐需精细调整剪辑脚本音频音量不均衡字幕出现时间错位。6. 接口 API 与批量任务自动化对于连载短剧批量处理能力至关重要。核心思想是将手动操作转化为 API 调用和脚本任务。6.1 Stable Diffusion API 批量生图启用 SD WebUI 的--api启动参数即可通过 REST API 调用生图。# 启动 WebUI 时开启 API webui-user.bat --api编写 Python 脚本进行批量生成import requests import json import io from PIL import Image url “http://127.0.0.1:7860/sdapi/v1/txt2img” # 读取分镜描述文件 with open(“scenes.txt”, “r”, encoding“utf-8”) as f: scenes f.readlines() for i, scene_prompt in enumerate(scenes): payload { “prompt”: f“{scene_prompt}, (best quality), ancient Chinese style”, “negative_prompt”: “worst quality, low quality”, “steps”: 20, “width”: 768, “height”: 512, “cfg_scale”: 7, “seed”: -1, # -1 表示随机 “override_settings”: { “sd_model_checkpoint”: “your_model.safetensors”, }, “alwayson_scripts”: { “LoRA”: { “args”: [{“model”: “character_a_lora.safetensors”, “weight”: 0.8}] } } } response requests.post(url, jsonpayload) r response.json() image Image.open(io.BytesIO(base64.b64decode(r[‘images’][0]))) image.save(f“./output/scene_{i:03d}.png”) print(f“场景 {i} 生成完毕。”)6.2 TTS API 批量合成语音同样为 TTS 服务如 GPT-SoVITS配置 API 接口。# 假设 TTS 服务运行在 8000 端口 tts_url “http://127.0.0.1:8000/tts” dialogue_lines [ {“role”: “A”, “text”: “姐姐此事万万不可。”}, {“role”: “B”, “text”: “我意已决不必再劝。”}, ] for line in dialogue_lines: payload { “text”: line[“text”], “model”: f“voice_model_{line[‘role’]}.pth”, # 选择对应角色模型 “language”: “zh”, “speed”: 1.0, } response requests.post(tts_url, jsonpayload) # 假设返回的是音频字节流 with open(f“./audio/{line[‘role’]}_{timestamp}.wav”, “wb”) as f: f.write(response.content)6.3 工作流编排ComfyUI 的优势对于更复杂的流水线例如文生图 - 高清修复 - 人脸修复 - 背景扩展ComfyUI 的节点式工作流可以保存为 JSON 模板。只需通过其 API 传入不同的提示词即可批量执行整个工作流非常适合标准化生产。7. 资源占用与性能观察图像生成阶段显存占用使用 SDXL 模型生成一张 1024x1024 的图片显存占用可能达到 10-12GB。使用 SD 1.5 模型生成 768x768 图片显存占用约为 4-7GB。启用高清修复Hires. fix或 ControlNet 会显著增加显存消耗。优化建议使用--medvram或--lowvram参数启动 SD WebUI牺牲速度换取更低显存占用。降低生图分辨率或批次大小batch size。考虑使用 CPU 模式极慢或 TensorRT 加速需要额外配置。语音合成阶段GPT-SoVITS 训练微调训练时6GB 显存基本够用。推理阶段显存占用更低2-4GB甚至可以在 CPU 上运行。性能观察主要关注合成语音的自然度和推理速度。长文本合成时注意内存使用。视频合成阶段图生视频模型SVD 或 AnimateDiff 对显存需求巨大通常需要 12GB。内存也会被大量占用用于帧序列处理。剪辑合成使用 moviepy 合成视频时如果图片分辨率高、序列长会消耗大量内存和 CPU 资源。建议分段落合成最后再合并。通用监控命令Windows通过任务管理器查看 GPU、内存使用情况。Linux使用nvidia-smi监控 GPU使用htop监控 CPU 和内存。8. 常见问题与排查方法问题现象可能原因排查方式解决方案SD WebUI 启动失败提示 Torch/CUDA 错误CUDA 版本与 PyTorch 版本不匹配显卡驱动过旧。检查python -c “import torch; print(torch.__version__); print(torch.cuda.is_available())”根据 PyTorch 官网指引安装与 CUDA 版本匹配的 PyTorch。更新显卡驱动。生图时显存不足Out of Memory分辨率过高同时启用了过多功能如多个 ControlNet。观察nvidia-smi的显存占用。降低分辨率关闭高清修复逐个启用 ControlNet使用--medvram升级显卡。生成的角色脸崩或不一致LoRA 训练数据质量差或数量不足提示词冲突模型底模不适合。检查训练图片是否清晰、多样测试时固定种子微调 LoRA 权重0.6-0.9。补充高质量训练图精修标签尝试不同的基础模型使用 ADetailer 等人脸修复插件进行后处理。TTS 合成语音不自然有电音或断句错误训练音频质量差有噪音、混响文本前端处理错误模型训练不足。检查原始音频试听合成片段看问题出现在特定字词还是整体。重新录制干净音频在文本中加入韵律标记或调整分词增加训练步数或调整训练参数。视频合成后音画不同步剪辑脚本中图片持续时间与音频长度计算错误视频帧率fps设置不当。用专业播放器如 PotPlayer查看详细时间戳。在脚本中精确计算每个镜头的时长duration确保总时长等于音频长度。统一使用 24 或 30 fps。批量任务中途卡住或报错单任务资源消耗大导致后续任务失败脚本错误处理不完善临时文件占满磁盘。查看任务日志监控系统资源检查磁盘空间。在批量脚本中加入错误捕获和重试机制每完成一个任务后增加短暂延迟time.sleep定期清理临时文件。最终成片画质模糊原始生成分辨率低视频导出码率过低。检查生图时的原始分辨率检查视频导出参数。尽量以高分辨率生成原始素材使用无损或高码率如 10-20 Mbps导出 H.264/HEVC 视频。9. 最佳实践与使用建议项目化管理为你的短剧项目建立清晰的目录结构。/drama_fengwei ├── /scripts # 剧本、分镜文本 ├── /models # 基础模型、LoRA、TTS模型 ├── /training_data # 角色训练图片、语音素材 ├── /workflow # ComfyUI 工作流 JSON ├── /src # 自动化脚本 ├── /temp # 临时生成文件 ├── /output_scenes # 生成的场景图 ├── /output_audio # 合成的音频 └── /output_final # 最终视频成品标准化流程将验证成功的生图参数、TTS 参数、剪辑参数记录成配置文件如config.yaml确保每一集的质量稳定。版本控制对关键脚本、工作流、配置文件使用 Git 进行版本管理。每次生成的结果可以打上时间戳或版本号。版权合规先行只使用明确声明可商用的开源模型和 LoRA。角色设计尽量原创避免与知名作品雷同。背景音乐BGM使用无版权音乐或购买授权。在视频说明中明确标注“AI 生成”。迭代优化第一集可能粗糙但要坚持。每完成一集复盘哪个环节最耗时、效果最差集中精力优化那个环节例如优化提示词模板、升级 TTS 模型、改进剪辑脚本。备份与归档定期备份训练好的 LoRA 和 TTS 模型这是你项目的核心资产。10. 总结与下一步制作《凤帷医心》这样的 AI 原创短剧最大的价值在于实践了一套完整的 AIGC 应用流水线。它证明了个体创作者完全有能力驾驭多种 AI 工具将创意转化为具象的视听内容。对于想要尝试的读者建议按以下路径开始第一步核心先攻克角色一致性LoRA 训练和语音克隆TTS 训练这两个基石。确保你能稳定生成“同一个人”和“同一个声音”。第二步验证制作一个1 分钟左右的单场景短片。包含 3-4 个镜头、几句对话。走通从剧本到成片的完整流程暴露所有问题。第三步优化基于单场景的经验编写自动化脚本将重复劳动如批量生图、批量合成语音交给程序。第四步扩展探索更复杂的动态生成图生视频、更精细的后期调色、音效提升作品质感。最容易踩的坑是“贪多求全”一开始就想做复杂的运镜和特效。正确的做法是“先跑通再优化”用最简单的静态图片配音字幕的形式把第一集故事讲清楚。技术是为故事服务的当你的流水线稳定后就可以将更多精力投入到剧本创作和叙事节奏上这才是 AI 短剧真正吸引人的地方。这套技术栈是开放的、可扩展的。未来随着视频生成模型的进步你可以将静态场景替换为动态片段随着多模态大模型的发展分镜描述甚至可以直接由模型根据剧本生成。保持对工具链的更新和迭代你的“数字制片厂”会越来越高效。建议收藏本文在实践每个环节时回头查阅对应的部署和排错指南。