Communitygithub.com

sprite-stage

仅需一次设置,即可从角色参考图和参考视频制作原创2D动画短片。

sprite-stage 是什么?

Sprite Stage 是一个 AI 智能体技能,用于从角色设定图和参考视频制作原创的 2D 动画短片。它支持在 OpenCode、Claude、Codex 和 Cursor 等平台上运行,通过自动化流程生成精灵表、编写对话脚本并合成语音。该技能使用 OpenVoice V2 进行语音生成,MeloTTS 进行文本转语音,并且可以通过免费图像工具或 Gemini API 生成精灵表。技能强调原创性,要求用户基于参考视频的设定(地点、动作顺序、感觉)编写全新的脚本,不得直接复制原始标题、角色名称或台词。一个 1 分钟的短片在已有精灵表时需要约 30-50 万输入 tokens 和 6-10 万输出 tokens;若需同时生成精灵表并修改一次,则需约 100-150 万输入 tokens 和 20-30 万输出 tokens。开发者应首先运行 `bash setup.sh` 完成环境配置,然后按照角色图片放置、精灵表生成、语音脚本编写和渲染的步骤操作。

兼容平台✓Claude Code✓Codex CLI✓Cursor✓Gemini CLI✓OpenCode
npx skills add https://github.com/rizwanaabbas/sprite-stage/tree/main/.cursor/skills/sprite-stage

在你喜欢的 AI 中提问

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

文档

Sprite Stage

一个设置命令。然后,从角色参考图和参考视频制作一部原创 2D 动画短片。

第一步

如果缺少 .ready,请运行以下命令,并等待 Sprite Stage is ready. 提示出现。

bash setup.sh

请自行执行该操作。不要向用户提供需要安装的包列表。该脚本可安全重复运行。

图片回放使用系统 Python。新语音使用脚本创建的虚拟环境。

python3 render.py
.venv/bin/python voices.py
python3 render.py

完成的示例文件是 renders/long-slide.mp4。

你需要保留原创内容

参考视频仅提供基本设定:地点、动作顺序和氛围。请使用用户自己的角色名称编写新脚本。不要将源视频的标题、角色名称、标志、歌词或口语台词复制到提示词、屏幕文字或音轨中。

所包含角色的服装和语音锁定信息位于 characters/CAST.md。提示词示例位于 examples/prompts.md。

制作一部新短片

  1. 将每个角色的参考图片放入 characters/ 目录。每个文件对应一个人物。正面视图、全身、纯色背景。
  2. 生成精灵表到 sprites/{name}-{action}.png。示例渲染器使用的动作有:walk、front、talking、back、sitting。精灵表为四格并排,背景为洋红色(#FF00FF)。

免费精灵表

默认使用免费图像工具。这样制作精灵图像的费用为 0 美元。COSTS.md 中的智能体 token 消耗表仍然适用。

python3 scripts/free_sprites.py --provider prompt --name lina --action walk,front,back,talking,sitting

sprites/prompts/ 目录下的每个文件都指定了要附加的两张图片以及要粘贴的提示词。示例提示词位于 examples/prompts.md。将工具生成的图像保存为 sprites/{name}-{action}.png。

仅当环境中已经存在 GEMINI_API_KEY 时才可使用 Gemini。切勿询问密钥、打印密钥或将密钥写入仓库。

python3 scripts/free_sprites.py --provider gemini --name lina --action walk

如果该模型超出了密钥的免费配额,请停止并使用 --provider prompt。

  1. 在 voices.py 中编写原创台词,然后运行 .venv/bin/python voices.py。音调使用文件的真实采样率,然后将每句台词减慢到大约每秒两个单词,以便嘴巴在整个台词期间保持张开。
  2. 将 render.py 中的 NAMES 和 HEIGHT 指向角色列表。构建时间线,确保只有一个人攀爬,只有一个人滑行。运行 python3 render.py。嘴巴在 duration + 0.2s 内保持张开。滑行欢呼在滑行开始时触发。

保持服装完整的精灵表规则

  • 键控仅针对强洋红色:红色 > 200,绿色 < 100,蓝色 > 200。松散的色度键控会在粉色布料上打出孔洞。
  • 不要仅仅因为一个区域是面部就将其删除。保留大约 1800 像素或以上的组成部分。
  • 行走单元格共享一个时序:大步、双脚并拢、反向大步、双脚并拢。
  • 侧面视图朝向右侧。当角色向左走时,在渲染器中将其镜像。
  • 让骑手坐在滑道路径上,并用滑梯近端边缘遮住腿部。不要将身体悬浮在滑道上方。

语音

OpenVoice V2 会转换音调。MeloTTS 使用英式英语基础来朗读文字。儿童声音比成人更高、稍快。为每个人分配不同的目标音调。不要让整个角色组使用同一个音调。

如果一句台词仍然短于它的嘴巴张开窗口,请降低 MeloTTS 速度或使用低于 1 的 atempo 进行拉伸。不要为了填补间隙而加快台词。

成本与机器

一部 1 分钟的短片,在精灵表已存在时,大约需要 30 万至 50 万输入 tokens 和 6 万至 10 万输出 tokens;如果同时制作精灵表并修改一次,则大约需要 100 万至 150 万输入 tokens 和 20 万至 30 万输出 tokens。OpenCode、Claude、Codex 和 Cursor 的具体美元费用,以及 OpenVoice 的 CPU 要求(8 GB RAM、Python 3.11–3.13、无需 GPU),均在 COSTS.md 中说明。

当用户希望制作短片不花费任何费用时,请在 OpenCode 上使用标记为“免费”的模型运行此技能,并使用 --provider prompt 生成精灵表。只要短片保持在每日免费模型配额内,该智能体线路的费用为 0 美元。在同一应用上使用付费模型将按该提供商收费。

致谢

OpenVoice 和 MeloTTS 是 MyShell 的 MIT 开源软件。ffmpeg 绘制帧。PyTorch 运行语音模型。检查点来自公共的 myshell-ai/OpenVoiceV2 模型。完整链接请参阅 README。

相关技能