
这次我们来看一个很具体的视频制作选题宝可梦学院第三集皮卡丘与伊布初次接近。先说明这篇不是剧情解说也不是教你搬运或剪辑某段动画而是把这一集当成一个完整的短视频制作项目拆解 AI 辅助同人动画的生产流程。核心会覆盖从分镜脚本、角色一致性、批量出图、配音字幕到视频合成与成片输出的全过程同时给出环境准备、资源占用和常见排错思路。如果你正准备做一档系列化的同人动画或者想用 AI 工具批量生成连续剧集内容这篇文章可以直接收藏。文章里不会出现某个固定软件的私人口播也不会替你把素材一键生成而是给出可落地的工作流做什么、用什么做、怎么调、怎么排错。需要明确指出的是宝可梦、皮卡丘、伊布等名称和形象版权归权利方所有。本文只做技术流程演示默认你不会把成品用于商业用途。正式发布前请确认本方是否有合法授权不要把未授权内容用于售卖、引流、广告或任何带有商业性质的活动。这是做同人内容的第一道红线。1. 核心能力速览在开始动手之前先把这一集制作任务的关键信息放在前面方便你判断值不值得做、能不能做。维度说明项目类型同人动画 / 动态漫画系列短视频以“宝可梦学院”第三集为例本期剧情核心皮卡丘与伊布初次接近从陌生到试探再到建立互动关系主要产出物分镜脚本、角色设定、场景图、角色关键帧、配音音频、字幕文件、成片视频核心工作流文案脚本 - 分镜设计 - 角色一致性出图 - 批量关键帧 - 配音音效 - 视频合成 - 字幕封装推荐硬件建议使用独立显卡显存越大越稳纯 CPU 推理速度会明显下降启动方式本地 WebUI / ComfyUI 类工具启动或接入在线图像生成服务是否支持批量任务支持按角色、镜头、情绪批量出图再统一筛选是否支持 API取决于底层工具多数本地出图工具可以启动 API 服务适合场景同人短视频、系列剧集、动态漫画、角色互动向内容创作从表格可以看出这一集的技术难点不是单个画面好不好看而是“皮卡丘和伊布这两只角色在同一个系列里保持形象一致”以及“连续镜头之间不能出现强烈的画风跳变”。后面所有操作都会围绕这两个点展开。2. 使用边界与版权合规这个制作需求比较特殊它使用了既有 IP 角色。技术流程本身是可复用的但角色版权边界必须单独说清楚。宝可梦、皮卡丘、伊布等角色名称、美术形象、世界观设定版权归权利方所有。同人创作在大多数平台属于灰色地带。个人学习、内部测试、不公开发布风险相对较低一旦公开传播、接受赞助、挂链接引流、销售周边风险会迅速上升。不建议直接对官方素材做大幅重绘后声称原创。AI 出图也一样如果模型训练数据包含大量官方角色图生成结果在构成、配色、特征上都很接近原作依然可能涉及侵权。如果你确实想做一个“学院日常”主题的系列视频更稳妥的方式是替换为原创角色设定例如自己设计一只黄色电系兽耳角色和一只棕色狐系角色只保留“初遇”这个剧情框架不直接使用真实 IP 名称和形象。判断标准很简单你的视频能不能换一套名字发布而不影响观众对角色身份的认知如果可以说明你已经做得足够原创如果非皮卡丘和伊布不行那就必须把版权合规问题放在技术问题之前解决。3. 环境准备与目录结构这一集要做的是“连续剧集类短视频”不是单张图片。建议按项目化管理方式准备环境把素材、脚本、中间文件、成片分开存储否则做到第十集的时候目录会非常混乱。3.1 基础环境要求操作系统Windows 10/11、Linux 或 macOS 均可优先选你日常最熟悉的系统。显卡建议 NVIDIA 独立显卡显存 6G 起步8G 以上更舒服。显存不足时可以降低图片分辨率和批量生成数量。CPU/内存CPU 负责预处理和视频合成内存建议 16G 以上。磁盘空间至少预留 30G 到 50G。模型文件、生成图片、配音音频、视频草稿都会占用大量空间。Python 环境如果使用 ComfyUI/Stable Diffusion WebUI 类工具需要对应版本 Python具体版本以项目要求为准。3.2 建议目录结构pokemon-academy/ ├── scripts/ # 分镜脚本、剧情文案 ├── characters/ # 角色设定图、角色描述词 ├── scenes/ # 场景参考图、背景图 ├── keyframes/ # 各镜头关键帧 ├── audio/ # 配音、音效、背景音乐 ├── subtitles/ # 字幕文件 ├── output/ # 成片和中间视频 └── render/ # 视频合成缓存这个结构不是必须的但它能解决的问题是当你批量跑图跑了一晚上第二天还能根据目录名快速找到“第三集第二镜头的备用图”。建议在全局草稿阶段就把这套路径固定下来。4. 分镜脚本与角色一致性设计这一集的剧情核心是“皮卡丘与伊布初次接近”。整集可以是一段 60 到 90 秒的短视频不需要复杂情节重点是角色互动。4.1 剧情分镜表建议先做分镜再出图。这比边画边想效率高很多。下面是一个示例分镜表镜头数量可以根据实际时长调整。镜头景别画面内容情绪 / 氛围参考时长1远景宝可梦学院庭院草地和树木阳光轻松、日常5 秒2中景皮卡丘靠在树下休息耳朵竖起安静、好奇6 秒3近景伊布从树后探出半张脸眼睛注视皮卡丘好奇、试探5 秒4特写两只宝可梦四目相对紧张、停下动作4 秒5中近景伊布慢慢向前迈一步试探、友好6 秒6特写皮卡丘微笑抬起一只手接纳、温和5 秒7中景两只宝可梦并肩站在草地上稳定、互动8 秒8远景太阳西斜学院建筑作为背景温馨、结尾6 秒合计大约 45 秒。如果你想做到 90 秒可以在每个镜头中间插入反应镜头和环境空镜。4.2 角色一致性设计连续剧集最忌角色“每集换一张脸”。在做任何出图之前先确定角色设定描述并把它固定成一份角色卡。以皮卡丘为例角色卡可以包含外观黄色小型兽耳角色红色脸颊长耳朵带黑色耳尖电气袋特征。体型矮小圆润四肢比例偏短。表情友好、好奇、开心。服饰/场景学院草地、树下、阳光。这里必须再次提醒官方角色的名称、形象和特征描述都来自真实 IP。不建议直接用于公开商业项目。示例角色卡只是说明“角色一致性描述怎么写”换到原创角色时同样适用。一份角色卡写好之后尽量每次出图都带上这段描述或者使用参考图模型锁住特征。这样可以减少不同镜头里角色形象漂移的问题。# 角色描述卡示例原创化后的写法 character_pikachu_like { body: small yellow rodent-like creature, ears: long ears with dark tips, cheeks: red circular patches, personality: friendly, curious, pose: [sitting under tree, standing on grass, reaching out hand], }这只是一个提示词组织示例。实际使用时要根据你选用的图像生成模型习惯把描述翻译成模型更容易理解的关键词组合并统一放置到正面提示词的开头。5. 批量出图与关键帧生产分镜确定后进入实际图片生产阶段。这里推荐用批量方式跑图而不是一张张手动点生成。5.1 批量出图思路核心思路是每张图固定角色描述前缀。单独控制镜头、景别、动作、环境光线。每个镜头至少生成 4 到 6 张候选最后人工筛选。用固定种子或 ControlNet 关键姿态来保证画面结构稳定。批量出图并不是简单地“把提示词复制十遍”。更合理的做法是维护一个镜头描述表然后用脚本读取每行配置去调图像生成接口。5.2 批量任务配置文件示例{ project: pokemon_academy_ep03, character_ref: characters/pikachu_style_ref.png, output_dir: keyframes/ep03, batch_size: 1, shots: [ { shot_id: ep03_shot_01, prompt: wide shot, sunny school garden, green grass, peaceful atmosphere, small yellow rodent-like creature resting under a tree, negative_prompt: blurry, low quality, distorted face, extra limbs, size: [1024, 576], seed: 1001 }, { shot_id: ep03_shot_03, prompt: close-up shot, brown fox-like creature peeking from behind tree, curious eyes, soft sunlight, negative_prompt: blurry, low quality, distorted face, size: [1024, 576], seed: 1003 }, { shot_id: ep03_shot_05, prompt: medium shot, brown fox-like creature slowly stepping forward, friendly atmosphere, grass in foreground, negative_prompt: blurry, low quality, extra legs, size: [1024, 576], seed: 1005 } ] }这份配置的意义在于你不需要每次都手动输入一段长提示词只要通过脚本把 JSON 里的shot_id、prompt、seed取出逐个调用图像生成接口即可。批量任务跑完后再按镜头编号人工筛选。5.3 通用批量出图脚本模板下面是一个通用模板适合接入本地 WebUI/ComfyUI 类工具的 API 服务。import json import requests import time API_URL http://127.0.0.1:7860/sdapi/v1/txt2img def load_shots(json_path): with open(json_path, r, encodingutf-8) as f: config json.load(f) return config[shots] def generate_one(shot): payload { prompt: shot[prompt], negative_prompt: shot.get(negative_prompt, ), width: shot[size][0], height: shot[size][1], seed: shot.get(seed, -1), batch_size: 1, } response requests.post(API_URL, jsonpayload, timeout120) response.raise_for_status() result response.json() return result[images][0] if __name__ __main__: shots load_shots(shot_config.json) for s in shots: image_base64 generate_one(s) # 这里需要将 base64 图片内容写入 keyframes 目录按需求实现 print(fdone: {s[shot_id]}) time.sleep(1)这段脚本需要按实际项目的 API 地址和返回字段调整。不同工具的接口参数差异很大例如有的返回images有的返回output。第一次运行前先手动调试单个请求再开批量跑。6. 配音、字幕与视频合成图片全部生成并筛选完成后进入音频和视频合成阶段。6.1 配音处理这一集如果只有少量对白可以用 TTS 工具生成基础语音再把音频导入剪辑软件对齐画面。需要注意三点TTS 语音需要控制语速和情绪建议每个镜头单独生成对白再逐段对齐。如果角色有标志性叫声建议使用有合法授权的音效素材不要直接提取官方动画音频。背景音乐同样要注意授权优先使用无版权或已授权的音乐库。6.2 字幕文件字幕建议单独准备一个 SRT 文件方便后期调整时间轴。1 00:00:02,000 -- 00:00:06,500 学院庭院的午后皮卡丘在树下休息。 2 00:00:07,500 -- 00:00:12,000 伊布从树后悄悄探出头。 3 00:00:13,200 -- 00:00:17,400 一次小心翼翼的接近。字幕里的内容不是官方台词而是原创剧情描述。创作同人内容时尽量用自己的文案避免直接照搬官方台词。6.3 视频合成视频合成有两种路线路线一静态图配合轻微运镜和转场适合动态漫画风格。路线二把关键帧交给图生视频模型生成小段运动视频适合更接近动画片的效果。路线二的硬件门槛更高。图生视频对显存和生成时间的要求远高于单张出图建议先做 2 到 3 秒的短镜头测试确认效果后再批量跑。ffmpeg 合成示例# 将多个图片按顺序合成无声视频每张图持续 3 秒 ffmpeg -framerate 1/3 -i ep03_shot_%02d.png -c:v libx264 -pix_fmt yuv420p ep03_silent.mp4这条命令只是把静态图编码成基础视频。实际项目中还需要调整分辨率和帧率并在剪辑软件中拼接音频、字幕、转场。7. 资源占用与性能观察这一节是很多人最关心的显存要多大生成一集视频要跑多久。先把结论放在前面不存在一个确定数字因为不同模型版本、分辨率、步数、批量数量、视频时长都会直接影响资源占用。但你可以通过下面的方法自己观察。7.1 显存占用观察方式Windows 可以使用任务管理器 - 性能 - GPU 查看专用 GPU 内存。Linux 可以使用nvidia-smi命令查看显存占用。本地图像生成工具的日志通常也会输出当前进程的显存占用。观察要点单张图片生成时显存占用低。开启批量生成后显存占用可能快速上升。图生视频任务通常比文生图更吃显存。如果出现CUDA out of memory最直接的降载方式是把分辨率从 1024x1024 降到 768x768或者关闭批量生成改为单张循环。7.2 性能优化建议第一次跑通流程时用 640x360 或 768x432 的低分辨率图确认流程正常后再提升。出图用到采样步数建议先用 20 步测试速度效果满意后再固定。单张图耗时受显卡型号影响大。如果一张 1024x576 图需要几十秒批量生成 50 张就是几十分钟属于正常量级。不要让出图脚本和视频合成同时运行否则内存和显存会互相抢资源反而拖慢整体速度。7.3 进程与端口管理本地工具启动后通常会占用某个 Web 端口。如果页面打不开先检查端口是否被占用# Windows netstat -ano | findstr 7860 # Linux / macOS lsof -i :7860如果端口被占用更换默认端口重启服务。批量任务跑完后及时关闭后台进程避免残留进程持续占用显存。8. 常见问题与排查方法下面直接给出一套排查清单。遇到问题先对照表格定位不要盲目重装环境。问题现象可能原因排查方式解决方案图片里的角色不像皮卡丘提示词描述不稳定没有角色参考图对比多张生成图查看角色特征是否一致使用角色参考图或固定角色描述前缀前后镜头画风不一致模型版本、种子、采样器不统一查看生成日志里的模型名和参数固定模型、采样器、种子范围生成图片出现多余肢体或五官异常大批量生成时噪声干扰检查负面提示词和模型能力边界增加负面提示词降低批量数量显存不足分辨率太高或批量数量太大nvidia-smi 或任务管理器查看占用降低分辨率减小批量数量服务页面打不开端口被占用或服务未启动查看启动日志检查端口更换端口重启服务API 调用失败接口地址或参数结构不对先手动调用一次接口参考实际工具的 API 文档调整请求视频合成后音频不同步镜头时长和音频素材长度不匹配检查每段剪辑的入点出点在剪辑软件中对齐时间轴批量任务中途卡住一个请求超时或模型加载冲突查看脚本日志定位卡住的镜头增加超时时间跳过失败镜头后继续很多问题不是模型不行而是参数没固定。批量出图的核心原则是先跑通一个小样本再放大批量。每次只改一个变量否则出了问题很难定位是哪一步导致的。9. 最佳实践与后续扩展这集做下来你可以沉淀出一套可复用的制作模板下一集甚至后面十集都能直接套用。固定角色卡和场景描述把“皮卡丘风格”“伊布风格”这类角色设定存成独立文件。每个镜头一个编号文件夹命名与分镜表保持一致。批量出图前先跑 3 张测试确认画风稳定后再放大批量。给每个镜头保留至少 2 张候选图防止合成阶段发现某张图有瑕疵。配音和字幕单独存储方便后期替换语言版本。重要素材做备份硬盘故障或误删是本地创作最常见的翻车点。扩展方向上这集只做了“皮卡丘与伊布初次接近”这个单场景互动。后续可以尝试多场景连续互动比如教室、庭院、食堂、夜晚营地。给角色增加表情变化让情绪递进更明显。给关键镜头使用图生视频生成小段运动让静态动态漫画升级为接近动画的效果。如果要做系列化建议把角色设定、场景、分镜模板全部标准化先用低参数快速走通整集再回头优化质量。关于 IP 合规再强调一次如果保持原作角色只适合个人学习交流如果计划公开传播或商用一定要先解决版权授权问题。合规边界守不住技术做得再好也白搭。这集从分镜到出片核心不是哪一步用了多高级的模型而是你怎么把流程串起来先想清楚角色和镜头再批量生产素材最后合成验证。下一步直接拿分镜表去跑第一批图看看这个流程在你的设备上能不能顺利走通。