Communitygithub.com

shaharsha/制作动画剧集

此技能用于制作配有旁白或有声的动画视频——动画、卡通或漫画剧集、群聊短片、关于朋友、家人、班级或团队的故事视频——素材可来自照片、聊天记录、故事创意或脚本,支持任意视觉风格,包括希伯来语/从右到左或英语。同样适用于处理视频中字幕或卡片太快、音乐提前结束、结尾被截断、台词被音乐掩盖、口型不同步、动作先于台词或出现单张面孔等问题。

制作动画剧集 是什么?

此技能提供了一个完整的引擎,用于制作纵向的、带旁白、字幕和动画的剧集视频。它管理从剧本编写、角色库、画面生成、语音合成到剪辑和交片的整个制作流程,所有操作通过一个统一的 `episode.json` 配置文件进行。引擎(`engine/episode.py`)确保时间线、覆盖层、字幕、从右到左文本、混音、持续时间和口型同步都得到正确处理,消除了手动编辑中常见的错误。它支持基于图像生成的角色卡片和面板(通过 `image-generation` 技能)、来自 ElevenLabs 的克隆语音或库语音、以及文本到视频的剪辑和口型同步(通过 `generating-video-clips` 技能)。该工作流程利用人类检查点进行质量保证,在关键阶段(如角色相似度、语音效果、节奏和动画)停止以便审核。引擎内置了针对常见问题的修复方法,例如卡片太快、音乐中断或被截断、口型不同步、文本渲染问题以及被音乐淹没的台词。它适用于任何视觉风格,支持希伯来语(RTL)和英语,并包含一个演示项目用于测试。

兼容平台~Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/shaharsha/claude-skills/tree/HEAD/skills/producing-animated-episodes

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

制作动画剧集 是做什么的?

概述

一个纵向的、有声的、带字幕的动画剧集:角色艺术、画面、克隆或库语音、音乐、图片转视频剪辑和口型同步,由引擎根据真实对话音频进行每镜头的计时。单个 episode.json 文件包含整个项目,engine/episode.py 根据它运行所有阶段。同族的技能负责特定提供商的实现。

使用引擎;不要自己编写编辑脚本。 时间线、覆盖层、字幕、从右到左文本、混音、持续时间和口型同步连接都已存在于 engine/ 中。它已通过重建一个真实的 3.5 分钟剧集得到验证:相同的帧、相同的音频,以及原始版本错过的精确长度。手写编辑会重新发现 references/troubleshooting.md 中的每一个错误。

音频是主导。 镜头长度、字幕时间和口型同步部分都来自完成的对话文件。切勿根据文本估算时间。

你无法观看或收听。 你检查帧、持续时间和数字。人类判断相似度、语音、发音、时间和笑话。规划好他们的检查点并遵循。

需要:

  • 与此技能相邻的这些技能:image-generation、elevenlabs-tts、generating-video-clips。
  • Python 3,带有 pip install -r <此技能目录>/requirements.txt(Pillow 需使用 RAQM 编译,numpy;OpenCV 可选)。
  • ffmpeg 7 或更新版本。
  • 字体:样式和字幕使用字体键(示例中的 bold、hblack、black),fonts 映射到已安装的 .ttf 文件。对于希伯来语和拉丁语,Rubik 和 Heebo(免费,Google Fonts)效果很好;check 会在缺失字体时阻止。
  • 环境变量中的密钥,在运行引擎的每个 shell 中设置:OPENAI_IMAGE_API_KEY、ELEVENLABS_API_KEY、GEMINI_API_KEY、FAL_KEY。

要查看完整流程(无需 API 调用),运行 python3 <此技能目录>/engine/episode.py /tmp demo,然后对创建的演示项目执行 check 和 build。

流程及其检查点

每个检查点都是一个停止点:发送产物,询问,等待。命令格式为 python3 <此技能目录>/engine/episode.py PROJECT <command>。成本按 2026-10 月测算。

#阶段命令检查点(人类)成本
1故事和剧本从 templates/script.template.md 创建 script.md剧本,以及每个敏感话题-
2角色圣经templates/characters.template.md,然后在 episode.json 中设置 characters--
3面孔、卡片、推广chars face、chars card key=face.png、chars final keys相似度,在一张所有卡片的概览页上每个角色约 $0.30
4画面panels draft,然后 panels final ids每个画面,在一张概览页上每个画面约 $0.30
5语音每个语音一个样本(elevenlabs-tts)每个语音,在批量之前,凭耳朵判断美分
6台词lines台词集,凭耳朵判断,带时间戳;名字 A/B 对比美分到几美元
7音乐和音效sound音乐美分
8故事板build(尚无剪辑:静态帧带摄像机移动)节奏和顺序,在任何视频投入之前免费
9动画animate、概览表、使用 animate S --takes 2 + animate pick S K 重拍运动,从概览表每秒钟剪辑每次拍摄约 $0.10
10口型同步lipsync prep、配置中的面部点、lipsync run抽检帧每秒钟约 $0.13
11剪辑和交付build、sheet、deliver人类观看 mp4免费

每个阶段的命令、输入、输出和故障处理:references/pipeline.md。

编写剧本

以下规则经过验证(详细内容和实例:references/script-writing.md):

  • 前 3-4 秒设置钩子(对问题的冷开场),然后显示标题。对于 30 秒以下的视频,将标题和结束卡作为覆盖层放在故事画面上,并跳过蒙太奇。
  • 每个常驻角色至少发言一次。 一个介绍蒙太奇,每个角色用自己的语音说一个词(约每张卡片 1.2-1.5 秒),既便宜又受欢迎。
  • 屏幕文本必须可读: 大约 0.8 秒加上每个字符 0.06 秒;短卡片 1.2-1.5 秒;最终标题文字 4-6 秒。给卡片设置 mindur。
  • 早期埋下线索并在后期揭示。 对群体真实内部笑话的呼应效果最强。
  • 敏感话题由用户决定。 列出你想要使用的每个私人细节(健康、金钱、关系、家庭、争吵),逐个询问,仅使用他们确认的内容。
  • 每句台词不超过 12 个单词,数字用文字表示。 屏幕文本保持正常拼写;发音修正放在 pronounce 中。
  • 音乐和音效,即使有旁白也需要。 至少一个音乐背景和几个效果(切换时的嗖嗖声、揭示时的重击);无声的背景听起来未完成。

episode.json 一屏概览

templates/episode.example.json 是一个完整的小剧集;每个键都在 references/config-schema.md 中。你最常编辑的部分:

  • characters:显示名称、颜色、语音以及来自角色圣经的提示字段。
  • speakers:从不绘制的语音,例如旁白({"display": null, "voice": "<id>"} 提供无名称的字幕)。
  • lines:id、说话者、带音频标签的文本;单词语句的 trim 和 level。
  • shots:图像、台词("[email protected]" 与上一句台词重叠)、填充、mindur、摄像机、特效、音效、覆盖层、剪辑偏移和速度。
  • music_cues:[提示音, 起始镜头, 结束镜头, 音量, 偏移]。当提示音持续时间短于其窗口时,构建会发出警告。
  • lipsync:哪些镜头、要跳过的台词、每个部分的一个面部点。
  • prompts:覆盖 char_style 和 panel_style 以获得不同的外观(3D 卡通、水彩、真实感)。

构建和审阅

  • 批量修复。 一次完整构建需要几分钟。收集审阅轮次中的所有笔记(一段台词的录制、一个填充、一个剪辑偏移),全部应用,然后重新构建一次。
  • 片段被缓存和跟踪。 build 只重新渲染输入发生变化的镜头:新的剪辑或口型同步版本、推广的画面、编辑过的台词、镜头或样式。build --only S05,S06 强制渲染这些镜头;--force 重新渲染所有内容。
  • 口型同步镜头在其剪辑、偏移、速度或台词发生任何更改后需要重做: lipsync prep S05 && lipsync run S05。在此之前,构建会发出警告并提示该口型不同步已过时,并使用原始剪辑。
  • 重新生成现有资源需要 --force(sound theme --force、animate S05 --force);没有它,现有文件将被保留,仅填补空白。
  • 使用概览表进行审阅。 sheet 将每镜头 3 帧放在一页上。当人类按时间提及某个时刻时,提取并阅读那些帧再回答(ffmpeg -ss T -i build/<output>.mp4 -frames:v 1 f.jpg)。
  • 每次构建前执行 check: 检查缺失的资源、密钥、同级技能,以及比帧更宽的覆盖文本。
  • 每次构建结束时验证持续时间。 音频短于视频将导致构建失败,而不是切断结尾。
  • 发送前: references/qa-checklist.md。

与人类协作

  • 使用你的文件发送工具发送每个产物,并主动提供在 Finder 中显示;不要只打印路径。最后一步是 deliver 并发送该文件。
  • 对于音频,说明要听什么以及在哪里听(“在 0:41 处,Dani 的名字听起来对吗?”)。永远不要声称你听到了。
  • 发音和语音选择由他们决定:带时间戳的 A/B 文件(elevenlabs-tts)。
  • 在每个付费阶段之前,给出成本估算;之后,给出累计总额。

当某些东西看起来不对时

症状修复方法
卡片或字幕太快,无法阅读提高 mindur / post:短卡片约 1.2-1.5 秒,最终标题文字 4-6 秒
标题在两边被裁剪check 会警告;降低样式的 size 或添加 wrap
音乐在段落结束前停止构建已警告:提高提示音的 seconds,sound <cue> --force;或将段落拆分为两个提示音
结尾被截断使用引擎无法发生(精确长度的混音,持续时间检查);在手动的复用中,参见 deck-to-video
台词被音乐淹没在该台词上运行 level_clips.py --report,然后换一个更强的录制;降低该提示音的音量
角色在台词前做动作或指着将 clip_off 设置到该点之后,或拆分镜头并使用 clip_cam 裁剪第一部分
嘴巴与单词不匹配口型同步阶段;如果错误的嘴巴在动,修复其面部点
群像中一张脸特别大安装 OpenCV(面孔会被均衡),或者镜像一个其道具覆盖了邻居的卡片
希伯来语渲染成反向或未连接未安装 RAQM 的 Pillow:check 会说明如何修复
名字或借词发音错误添加 pronounce 条目,通过耳朵进行 A/B 对比

更多信息及原因:references/troubleshooting.md。

相关技能

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

shaharsha/deck-to-video

Use when turning a slide deck plus per-slide narration audio into an mp4 video — a self-playing/self-presenting deck video, "slides to video", "presentation to mp4", a shareable WhatsApp/Slack/Drive video of a narrated deck, or when a slide video needs a per-slide progress bar / countdown / slide counter. Also use when a slide video should highlight, glow or spotlight the element being talked about in time with the voice, or when narration and on-screen animation need syncing. Also use when...

shaharsha/generating-video-clips

Use when turning a still image, illustration, comic panel or character art into a short animated clip (image-to-video), choosing a video model or provider (Gemini Omni, Veo, Seedance, Kling, ElevenLabs Flows) or hitting their API gates, lip-syncing a character's mouth to existing dialogue audio (Sync, fal.ai, active speaker), or fixing a generated clip with artifacts - duplicated props, a door or a second figure appearing, hands through bodies, glowing eyes, a gesture repeated at the start,...

shaharsha/image-generation

Generate logos, icons, UI mockups, hero images, product shots, and other design assets using OpenAI GPT Image 2.5 (Sunburst, Flare) or Google Gemini (Nano Banana 2, Nano Banana Pro, Nano Banana 2 Lite). Use whenever the user asks to create, design, generate, mock up, render, or illustrate a visual asset, needs a transparent PNG, or asks for image prompt engineering. Picks the right model and quality for the job, writes a model-specific prompt following the official prompting rules of each...

相关技能