二次元企划技术实战:AI绘画+TTS+视频合成全流程
カミイロアワセ【雾岛学院/反转pa】这个名字看起来像是一个日系二次元企划而不是一个可以直接安装的软件工具。标题里的“反转pa”通常指平行世界、身份反转、关系反转类二创设定“雾岛学院”则是一个典型校园舞台再加上日文标题基本可以判断这是一个偏剧情、角色演出向的内容项目。这类项目要真正落地通常不止是写文案和画立绘还会涉及角色立绘批量生成、台词配音、字幕压制、分镜合成、视频发布等环节。如果每次都用人工去做效率很低而且角色一致性很难保证。这篇文章不讨论企划本身的剧情设定而是从技术实现角度拆解围绕カミイロアワセ这类二创企划如何用本地部署的 AI 绘画、语音合成、视频剪辑工具搭建一条可复用的内容生产管线并且跑通批量任务和接口调用。从实际操作角度看这条管线通常由四块组成角色图像生成、语音合成、视频合成、字幕与压制。下面按顺序展开覆盖环境准备、部署启动、功能测试、API 调用、显存与性能观察、常见问题和最佳实践。如果你正在做类似日系校园、平行世界反转设定的内容企划这篇文章可以直接当作技术落地方案参考。1. 核心能力速览先说结论卡密伊罗阿瓦塞这类企划真正卡脖子的不是“有没有好的想法”而是“角色一致性、语音长文本稳定性、批量渲染效率”这三件事。下表把整套技术链路的能力项列出来方便对照自己的硬件情况。能力项说明项目类型日系二次元同人/二创内容企划属于内容生产项目不是常规开源软件核心生产工具AI 绘画角色立绘/场景、TTS 语音合成、视频剪辑/压制、字幕生成角色一致性方案LoRA 模型训练 固定提示词模板 图生图/局部重绘语音合成方案开源 TTS 模型需准备参考音频支持文本转语音、音色保存视频生产方案图片序列 音频 ffmpeg 合成可批量出片推荐硬件NVIDIA 显卡优先显存 8G 起步比较稳6G 可尝试小分辨率CPU 推理图像生成不建议速度太慢TTS 部分模型可 CPU 运行速度取决于模型启动方式命令行启动或一键脚本启动端口手动指定是否支持 API主流程工具普遍支持 HTTP API可接脚本批量调用是否支持批量任务可以通过shell/Python 脚本批量处理图片、音频和视频合成适合场景二次元角色企划、同人视频、多角色配音短剧、MMD/AMV 辅助生产需要注意显存占用和模型选择强相关。例如 SD1.5 系列的 LoRA 推理6G 显存有机会跑通SDXL 系列建议 8G 以上如果还要训练 LoRA推荐 12G 以上。实际占用需要以本机测试为准不要看别人说“6G 能跑”就直接套用同一个模型不同分辨率、不同步数显存差异很大。2. 适用场景与使用边界这类二创企划适合谁适合已经有故事脚本、需要批量产出视觉/音频素材的内容创作者也适合想做技术验证的 AI 应用开发者。通过这套管线可以把原本分散在绘图、录音、剪辑里的重复劳动整理成几个可重复执行的命令和脚本。具体能解决的问题包括角色立绘风格不统一用同一组提示词模板加 LoRA保证多张立绘风格接近。配音成本高用 TTS 生成台词减少录制成本但需要确认音色授权。视频产出慢把图片、音频、字幕、BGM 组合成视频的操作脚本化批量生成。多角色管理混乱建立素材目录规范每个角色一个目录统一命名。不适合什么场景不适合需要高精度真人演员表演、电影级分镜、复杂 3D 动画的项目。这套方案更适合平面角色演出、图文动画、带台词的幻灯片式剧情、广播剧配图等轻量内容。使用边界必须说清楚如果企划里出现原创角色那角色设计、立绘、语音都有版权归属问题二次创作时要确认原作品版权方的规定如果使用真人声音做训练或克隆必须获得本人明确授权如果使用已有的 BGM、音效、背景素材要确认授权范围。本地部署只是技术手段不改变素材使用的合规义务。3. 本地生产环境准备先看一套比较稳妥的生产环境基准。以 Windows 11 或 Ubuntu 22.04 为例需要准备以下内容。3.1 硬件建议GPUNVIDIA 显卡驱动要新建议显存 8G 起步。训练 LoRA 时 12G 以上更省心。CPU普通 8 核处理器即可瓶颈通常在 GPU 和显存。内存16G 起步32G 更稳批量处理大图时内存占用会明显上升。磁盘预留 50G 以上空间。模型文件很大LoRA、TTS 模型、视频素材都会占空间。系统Windows 11 / 10Ubuntu 20.04 / 22.04macOS 先别折腾很多 AI 绘图和 TTS 工具对 Mac 支持不稳定。3.2 软件依赖Python 3.10 或 3.11虚拟环境用 conda 或 venv。NVIDIA 驱动 CUDA建议先装驱动再按 PyTorch 官方要求安装 CUDA 工具链。Git用于拉取项目代码。FFmpeg用于视频合成和音频抽取。图像生成工具ComfyUI 或 Stable Diffusion WebUI二选一即可。TTS 工具可以选用开源 TTS 项目例如适合中文/日文语音合成的模型具体按项目 README 部署。训练 LoRA 的扩展如果使用 WebUI可以装训练插件如果使用 ComfyUI可以加载 LoRA 文件训练则单独用训练脚本。3.3 目录规划强烈建议项目一开始就建立标准目录不要所有素材堆在一个文件夹里。下面是一个通用模板kamuiiro_project/ ├── scripts/ # 自动化脚本 │ ├── generate_character.py │ ├── tts_batch.py │ └── render_video.sh ├── models/ # 本地模型文件 │ ├── checkpoint/ # sd 大模型 │ ├── lora/ # 角色 LoRA │ └── tts/ # 语音模型 ├── inputs/ │ ├── characters/ # 角色设定图和参考图 │ ├── scripts/ # 台词脚本json/csv │ └── audio_ref/ # 配音参考音频 ├── outputs/ │ ├── images/ # 生成图 │ ├── audio/ # 生成语音 │ ├── videos/ # 合成视频 │ └── logs/ # 运行日志 └── config/ ├── prompt_templates.yaml └── batch_config.json目录规划的价值在批量任务中体现得最明显。批处理时脚本可以按固定路径读取输入、写入输出如果路径混乱排查问题会非常痛苦。4. 基础工具链部署与启动4.1 ComfyUI 部署启动ComfyUI 是目前做角色一致性工作流最灵活的方案之一。部署方式不复杂核心是拉取仓库、安装依赖、下载模型。git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI python -m venv venv source venv/bin/activate # Windows 使用 venv\Scripts\activate pip install -r requirements.txt模型放置位置大模型放在models/checkpointsLoRA 放在models/lorasVAE 放在models/vae。启动命令python main.py --port 8188 --preview-method auto启动后访问http://127.0.0.1:8188即可打开 WebUI。如果显卡显存较小可以通过启动参数降低显存压力python main.py --port 8188 --lowvram --disable-smart-memory--lowvram会让显存和内存之间更频繁交换速度会下降但能降低 OOM 的概率。4.2 TTS 服务部署语音合成工具很多选型时优先考虑三点是否支持日语/中文、是否支持参考音频、是否提供 API 接口。部署时按项目 README 执行即可。通常流程是git clone tts_project_url cd tts_project pip install -r requirements.txt python app.py --port 5000启动后确认接口地址。多数 TTS 工具会提供一个 HTTP 接口例如POST /api/tts接收文本和参考音频路径返回音频文件。没有材料依据的项目不要按照特定文档硬套以实际项目 README 为准。4.3 FFmpeg 安装与验证FFmpeg 用于视频合成和音频转码。安装完成后执行ffmpeg -version看到版本信息就说明安装成功。下面这条命令可以把一张图片和一段音频合成为一个视频ffmpeg -loop 1 -i image.png -i audio.wav -c:v libx264 -tune stillimage -c:a aac -b:a 192k -pix_fmt yuv420p -shortest -y output.mp4这个命令不是万能的但在角色台词视频场景里很常用适合“一张立绘 一段语音”的短视频片段。5. 功能测试与效果验证部署完成后不要直接进入批量生产先跑通三个最小功能角色图生成、语音合成、图片转视频。每个功能都按“输入-操作-预期结果-判断标准-失败排查”的流程验证。5.1 角色立绘生成测试测试目的确认图像生成链路能正常出图且角色基础风格稳定。输入素材一段角色描述文本例如a Japanese high school student girl, school uniform, silver hair, red eyes, standing in classroom, anime style, clean background操作步骤在 ComfyUI 的默认文生图工作流中填入提示词设置分辨率为 512x768采样步数 20 步点击生成。预期结果生成 1 张 512x768 的角色立绘图没有明显畸变风格接近设定要求。判断标准图片能正常保存到ComfyUI/output目录无报错。常见失败原因模型文件缺失提示找不到 checkpoint。显存不足报 CUDA out of memory降低分辨率或启用--lowvram。提示词书写太乱生成图像元素混杂。测试完成后可以继续测试图生图功能。图生图是角色一致性工作流的基础通过它可以把一张草图或参考图重绘成更精细的立绘。5.2 角色 LoRA 与一致性验证如果企划中的角色需要多次出场建议训练一个角色 LoRA或者使用自定义角色 LoRA。测试时在 ComfyUI 工作流里加载 LoRA 节点调整权重到 0.7 至 0.9 之间生成多张不同姿势、不同背景的图片。验证重点多张图片中角色发型、瞳色、校服细节是否一致。换个场景后角色脸部是否崩掉。权重过高时画面是否出现类似过拟合的明显痕迹。如果一致性不达标优先调整 LoRA 权重其次调整提示词中的画风限定词不要每次重新写一套完全不同的提示词。5.3 台词语音合成测试测试目的确认 TTS 服务能正常把文本转为语音且音色可控。输入素材一段短台词例如おはよう、今日も一緒に教室へ行こう。操作步骤调用 TTS 接口传入文本和参考音频生成音频文件。预期结果返回一段可播放的语音语速和情感接近参考音色。判断标准音频清晰、没有明显音爆、断句基本正确。如果听到明显吞字或噪音检查参考音频质量参考音频需要干净、无底噪、时长适中。常见失败原因参考音频过长或过短导致音色特征提取失败。文本中的日文汉字发音错误部分 TTS 需要注音或使用更稳定的分词方式。采样率不匹配生成后变成变速变调可以统一转成 44100Hz 或 48000Hz。如果 TTS 支持多音字/注音控制可以在文本中标注发音。例如某些模型支持[JH:...]或类似语法具体语法查项目文档。没有把握时优先使用短句生成再拼接不要一次生成超长文本长文本容易音色漂移。5.4 图片转视频测试测试目的确认图片和音频可以合成标准视频文件且后续可批量执行。输入素材1 张立绘 PNG1 段 TTS 生成的 WAV。操作步骤使用 ffmpeg 命令合成。ffmpeg -loop 1 -i outputs/images/character_001.png -i outputs/audio/line_001.wav \ -c:v libx264 -tune stillimage -c:a aac -b:a 192k -pix_fmt yuv420p -shortest \ -y outputs/videos/scene_001.mp4预期结果生成 scene_001.mp4视频长度等于音频长度画面静止显示立绘。判断标准用播放器打开音画同步无黑屏编码正常。常见失败原因图片分辨率不是偶数导致编码器报错先统一处理图片尺寸。-shortest位置写错导致视频无限循环音频结束后画面不停止。音频格式不兼容先转成 aac 或 wav 再合成。跑通这一步后批量生产的主链路就已经成型。剩下的工作主要是脚本化。6. 接口 API 与批量任务本地工具部署完成后最有价值的是把它们通过 API 串联起来。ComfyUI 有 API 接口TTS 工具通常也有接口视频合成可以通过 Python 脚本调用 ffmpeg。下面给出一个通用流程和示例脚本。6.1 TTS 接口调用示例假设本地 TTS 服务运行在http://127.0.0.1:5000接口路径需要按实际项目调整。下面是一个通用 Python 调用模板import requests tts_url http://127.0.0.1:5000/api/tts payload { text: おはよう、今日も一緒に教室へ行こう。, ref_audio: inputs/audio_ref/character_a.wav, language: ja, speed: 1.0, } resp requests.post(tts_url, jsonpayload, timeout120) if resp.status_code 200: with open(outputs/audio/line_001.wav, wb) as f: f.write(resp.content) print(TTS success) else: print(TTS failed, resp.status_code, resp.text)这个脚本假设接口返回的是二进制音频流。如果接口返回 JSON 或 base64 字符串需要按实际项目响应格式解析。6.2 ComfyUI API 工作流提交示例ComfyUI 支持把工作流导出为 API JSON 格式然后通过 API 提交任务。通用思路是先在 WebUI 里搭好工作流导出 JSON再用 Python 提交。import json import requests import uuid workflow_path config/comfyui_api_workflow.json with open(workflow_path, r, encodingutf-8) as f: workflow json.load(f) prompt workflow # 实际使用时按工作流节点 id 修改 prompt 文本等字段 client_id str(uuid.uuid4()) url http://127.0.0.1:8188/prompt resp requests.post(url, json{prompt: prompt, client_id: client_id}, timeout60) print(resp.json())提交后可以通过轮询/history/{prompt_id}获取生成结果。示例prompt_id resp.json().get(prompt_id) history_url fhttp://127.0.0.1:8188/history/{prompt_id} for _ in range(60): history requests.get(history_url, timeout30).json() if history.get(prompt_id): print(ComfyUI prompt done) break time.sleep(2)ComfyUI API 的好处是支持并发可以一次提交多个 prompt批量生成角色立绘。但本地 GPU 压力大时不建议无限制并发批量任务要控制并发数。6.3 批量任务脚本示例批量生成可以按“台词列表文件”作为驱动。准备一个 JSON 或 CSV每一行包含角色、台词、表情、场景。脚本读取文件后依次调用 TTS、图像生成、视频合成。{ batch_1: [ { scene_id: scene_001, character: character_a, text: おはよう、今日も一緒に教室へ行こう。, emotion: happy, image_prompt: a high school girl with silver hair, standing in classroom, morning light, output_audio: outputs/audio/scene_001.wav, output_video: outputs/videos/scene_001.mp4 }, { scene_id: scene_002, character: character_b, text: また会えたね。, emotion: calm, image_prompt: a high school boy with black hair, leaning on the window, sunset, output_audio: outputs/audio/scene_002.wav, output_video: outputs/videos/scene_002.mp4 } ] }批量脚本流程import json import time with open(config/batch_config.json, r, encodingutf-8) as f: config json.load(f) for scene in config[batch_1]: print(processing, scene[scene_id]) # 1. 调用 TTS 生成音频 # 2. 调用 ComfyUI API 生成角色图 # 3. 调用 ffmpeg 合成视频 time.sleep(1) # 避免请求过快实际运行时建议每处理一个场景就记录一条日志包括成功或失败原因。批量任务卡住时先看日志停在哪个场景、哪个步骤不要直接重跑全部。6.4 失败重试建议批量任务最容易出现三种问题单个样本参数错误、显存溢出、网络请求超时。建议设计为失败场景写入单独队列不中断整个批次每次失败后间隔几秒再重试连续失败超过 3 次则跳过并标记为待人工检查。7. 资源占用与性能观察资源占用是本地部署绕不开的话题。虽然不同模型差异很大但观察方法是一致的。7.1 显存和内存怎么看Linux 下可以使用nvidia-smi实时查看显存占用watch -n 1 nvidia-smiWindows 下也可以用nvidia-smi或者在任务管理器里看 GPU 专享内存。ComfyUI 运行文生图时显存会在加载模型、编码提示词、采样、解码几个阶段波动。启动阶段显存占用高是因为模型被加载到显存采样阶段持续占用出图完成后显存会释放一部分。TTS 的显存占用相对小有些模型甚至可以用 CPU 跑但 CPU 推理速度明显慢。具体选 CPU 还是 GPU根据实际项目文档和本机测试决定。7.2 哪些因素影响性能分辨率512x768 和 1024x1024 的显存占用差异很大前者通常明显更省显存。采样步数20 步和 30 步生成时间差别明显但显存占用不一定线性增加。批量数一次生成 4 张图比一次生成 1 张图占显存更多生成时间也成倍增加。文本长度TTS 长文本生成时内存和耗时都会上升可能出现音色漂移。视频合成主要消耗 CPU图片尺寸越大、编码越久。7.3 怎么降低显存占用优先用低分辨率测试确认构图和提示词没问题后再提高分辨率开启 ComfyUI 的--lowvram或--medvram减少 batch size一次生成 1 张而不是 4 张避免同时启动多个 AI 服务TTS 和 ComfyUI 同时跑会互相抢显存。如果显存只有 6G推荐先跑 SD1.5 系模型控制分辨率在 512 级别。如果 8G 显存SDXL 可以尝试但需要量化或低分辨率方案。不要盲目追求大模型和高分辨率内容生产的核心是稳定出片不是单张画质拉到最高。7.4 端口冲突与进程残留多个服务同时运行容易端口冲突。建议把端口号固定写进配置文件服务默认端口示例ComfyUI8188TTS 服务5000WebUI7860视频处理脚本不占用端口端口被占用时先确认是不是上次服务没关干净lsof -i :5000在 Windows 上使用netstat -ano | findstr :5000 taskkill /PID 12345 /F进程残留会导致模型仍占显存新任务启动直接 OOM。启动新服务前建议先检查一下显存占用。8. 常见问题与排查方法下面按实际使用频率整理了一张排查表。问题现象可能原因排查方式解决方案ComfyUI 启动后页面打不开端口被占用或服务未启动查看启动日志、检查端口监听更换端口或重启服务生成图片时 CUDA out of memory显存不足分辨率/批次数过高nvidia-smi 查看显存占用降低分辨率、减少 batch size、开启 lowvram模型加载报错checkpoint 或 LoRA 文件缺失检查模型目录路径按项目要求放置模型文件TTS 生成音频出现杂音参考音频不干净试听参考音频、检查底噪使用干净参考音频必要时降噪处理日文文本读法错误TTS 分词/注音不支持查看日志中文本切分结果使用支持日文的模型或手动注音视频合成后无声ffmpeg 音频编码参数问题检查输出文件声道信息指定-c:a aac -b:a 192k批量任务中途卡住网络请求超时或进程阻塞查看运行日志定位卡住场景增加超时时间、记录日志、跳过失败场景同一个角色生成后脸型不一致提示词不稳定或没有 LoRA多张对比提示词输出固定提示词模板、训练角色 LoRA端口被占用但找不到进程服务在 docker 或虚拟环境内运行使用netstat -ano查 PID停掉对应进程或换端口生成速度越来越慢显存碎片、内存不足观察长时间运行后的占用趋势定期重启服务、释放显存排查时记住一个原则先看日志再看资源最后才改参数。很多问题不是代码写错而是模型路径不对、端口冲突、显存不足。9. 最佳实践与使用建议结合二创内容生产的特点给出几条工程化建议。第一第一次跑通时所有参数都往小里设置。分辨率 512步数 15 到 20批量数 1先确认链路通不通再逐步加参数。不要第一次就直接生成 1024 长图问题一旦出现很难判断是模型问题还是参数问题。第二把配置和代码分开。提示词、角色设定、台词文本尽量放在配置文件里不要硬编码在脚本中。比如角色描述统一放config/characters.yaml台词统一放config/script.json脚本只负责读配置。第三素材目录要按角色和场景分层。立绘、表情差分、背景、音频参考、TTS 输出、视频输出分开管理避免后期查找困难。文件名建议用scene_id_role_emotion这种规范不要用“最终版2”这类命名。第四批量任务一定要加日志。建议每个场景处理完打印一行结构化日志例如[OK] scene_001 | image1.2s | tts0.8s | video0.4s | total2.4s失败时记录失败步骤和错误信息方便下一次重试。不要用几十个 print 堆在控制台信息要可检索。第五关于合规使用这里再强调一次。如果企划使用的是既有作品的角色、世界观需要确认原作品和二创规则是否允许如果使用真人声音作为 TTS 参考必须获得本人授权所有生成图片和语音素材在公开发布前要整体复核避免出现与设定不一致或可能引起误解的内容。第六接口服务要注意访问范围。ComfyUI 和 TTS 服务默认监听地址需要按需修改。如果只在本机使用推荐地址写127.0.0.1如果需要局域网访问设置密码或限制 IP 范围不要把裸 HTTP 服务直接暴露到公网。本地部署有一个好处就是数据不出本机适合对素材隐私要求较高的场景。但这不代表没有风险训练 LoRA 使用的参考图、TTS 使用的参考音频都可能有版权问题使用前要保留授权记录。10. 总结与下一步围绕カミイロアワセ【雾岛学院/反转pa】这类二创企划真正值得投入的技术点不在某个单独的 AI 工具而是如何把角色图生成、语音合成、视频合成串成一条可批量执行的流水线。只要这条链路跑通后续做多角色剧情、平行世界反转设定、系列短剧都能复用同一套基础设施。一开始最值得先验证的是用同一个角色 LoRA 生成 3 张不同场景的立绘再看角色一致性是否稳定。这一步决定后面的图像素材能不能批量生产也是整套流程里翻车概率最高的环节。只要角色一致性过关TTS 和视频合成都是相对机械的步骤。最容易踩的坑有两个一是显存不足却硬拉高分辨率二是长文本 TTS 生成后音色漂移。前者通过降低分辨率和批量数解决后者通过分段生成和固定参考音频解决。后续可以考虑向三个方向扩展继续训练和优化角色 LoRA让角色在更多姿势和表情下保持稳定接入自动字幕生成工具把配音转成字幕文件再烧录进视频把批量脚本封装成带简单 Web 界面的任务管理工具让不会写脚本的人也能上传台词、选择角色、输出成片。如果你正在做类似企划建议先把最小链路跑通再逐步加功能。工具是为内容服务的稳定的生产流程比单次高质量输出更有价值。