Agent Skillsyokel1121/muyang-flat-animation › muyang-flat-animation

muyang-flat-animation

GitHub

将口播或概念转为沐阳风格扁平动画。通过三阶段确认方案、静帧与视频,利用Gemini生成带音效的短视频B-roll,严格遵循手绘纸面画风与直观视觉命题规范。

muyang-flat-animation/SKILL.md yokel1121/muyang-flat-animation

Trigger Scenarios

制作知识讲解动画 让静态插画动起来 生成固定镜头B-roll 将抽象概念可视化

Install

npx skills add yokel1121/muyang-flat-animation --skill muyang-flat-animation -g -y
More Options

Non-standard path

npx skills add https://github.com/yokel1121/muyang-flat-animation/tree/main/muyang-flat-animation -g -y

Use without installing

npx skills use yokel1121/muyang-flat-animation@muyang-flat-animation

指定 Agent (Claude Code)

npx skills add yokel1121/muyang-flat-animation --skill muyang-flat-animation -a claude-code -g -y

安装 repo 全部 skill

npx skills add yokel1121/muyang-flat-animation --all -g -y

预览 repo 内 skill

npx skills add yokel1121/muyang-flat-animation --list

SKILL.md

Frontmatter
{
    "name": "muyang-flat-animation",
    "description": "将中文口播、抽象概念或一张静态插画转成可配置的“沐阳扁平动画”:以暖色纸面、自然钢笔线稿、选择性彩铅填色和编辑式图解留白为核心画风,采用适合知识讲解的归类、连接、对比、递进、转化与结果确认动画,配色自由,人物可选;支持自定义画布尺寸和同步动作音效。这里的“生长动画”指元素从固定起点按结构逐步生成或展开,不专指植物。默认音效轻量、干净且服从讲解节奏,禁止笔尖、铅笔、钢笔或马克笔在纸面摩擦和书写的声音,不含人声或配乐;用户可明确要求静音。用户说“沐阳扁平动画”“知识讲解动画”“手绘插画动效”“无人物动画”“纯内容可视化”“素材动画”“让图片动起来”“人物动作”“生长动画”,或希望制作可插入短视频的固定镜头 B-roll 时使用。强制先确认动画方案,再确认完成静帧,最后才调用 Gemini 视频生成并执行逐帧 QA。"
}

沐阳扁平动画

把一句 5–10 秒口播压成一个直接、具体、无需猜谜的视觉命题,再制作固定镜头、局部合理运动的纸上钢笔线稿与彩铅编辑插画 B-roll。优先呈现主题本身会出现的真实场景、工具、物件和结果;隐喻只能辅助说明,不得替代主题。

首次使用

进入 Gate 1 前运行:

python <本skill目录>/scripts/check_setup.py

缺少依赖时只报告缺失项。不要显示 API key。需要 Python 3.10+、google-genai>=2.10.0、ffmpeg、ffprobe 和 GEMINI_API_KEY

需要设计或生成画面时读取 references/style-guide.md。选择配色和尺寸时读取 references/palettes-and-formats.md。使用无人物模式时读取 references/content-only-mode.md。写视频 prompt 时再读取 references/motion-grammar.md。若用户在 assets/references/ 中提供了具有使用授权的 style-reference-*.png,仅把它们作为媒介与画法参考;没有参考图时使用 style guide 中的完整文字规范。

先确定四个可定义项

在 Gate 1 中明确以下值。用户没有指定时采用默认值,不要为了非关键选项阻塞:

  • subject_modecharacter(人物叙事,默认)或 content-only(无人物内容素材)。
  • palettesemantic-auto、可选预设或用户提供的背景色、主色、强调色;默认 semantic-auto,不限制具体色相。
  • canvas:预设名、宽高或比例;默认 vertical-9x16,即 720×1280。
  • sound_modesfx(同步动作音效,默认)或 silent(无声)。配乐和人声只在用户明确要求时加入。

把选择写入 visual spec,并保持同一条素材从静帧到视频一致。

三闸门协议

Gate 1:动画方案确认

只提交方案,不生成图片或视频。每条包含:

  • 核心意思
  • 一句话视觉命题
  • 主题直观度:说明画面中哪一个真实物件或场景直接对应原句主题;若只能靠解释才能看懂,必须重写方案
  • 主体模式:人物 / 无人物
  • 主体和 3–6 个关键物件
  • 初始状态与最终状态
  • 人物动作、物件动作、特效动作
  • 构图、配色方案、尺寸、画幅和安全区
  • 音效计划:动作、出现时机和强弱;静音任务写明 silent
  • 5–8 秒时间轴

动作必须服务语义。一个镜头只保留一个核心转变。提交后停下,等待用户明确确认;批量任务允许部分通过。

视觉命题采用“直观优先”规则:

  • 第一选择是真实场景或主题物件,例如自媒体使用摄像机、麦克风、脚本卡、作品缩略图和发布流程;学习使用书本、笔记、练习页和成果;赚钱使用商品、订单、账本和收入流。
  • 第二选择是具体的流程、归类、对比或结果变化,让观众不读口播也能大致判断主题。
  • 抽象隐喻仅可作为次要辅助元素。禁止用与主题距离过远的石头变水晶、种子长树、灯泡发光、迷宫、齿轮、拼图、火箭、登山等通用隐喻承担整个命题,除非用户明确要求。
  • 提交前做“去文案测试”:遮住原句后,如果画面会被理解成多个无关主题,改用更直接的主题物件和场景。

Gate 2:完成静帧确认

方案通过后:

  1. 写自包含 visual spec。
  2. 使用可用图片生成工具生成“动作完成后的最终静帧”。若存在用户有权使用的 assets/references/style-reference-*.png,选择 2–5 张作为只约束媒介与画法的 style-only references;不得照搬其中人物、构图、物件或配色。没有参考图时直接使用 style-guide.md 的完整提示词。
  3. 逐张检查主体结构、假字、图标可读性、配色、尺寸、主体层级和安全边距,并按 style-guide.md 检查纸面、自然墨线、选择性彩铅颗粒、编辑式留白以及是否过度矢量化。人物模式额外检查脸、手与服装;无人物模式检查图形关系和插入视频后的可读性。
  4. 生成编号 contact sheet 给用户确认。

参考图不仅约束材质,还约束视觉语法:优先采用参考图中的编辑式单场景、真实桌面物件、少量圆形图解/虚线路径、大片上方或侧方留白、黑色线稿与局部彩铅着色。不得只套用“纸纹滤镜”却保留光滑企业矢量、机械信息图或过度抽象的主体。

此阶段禁止调用视频模型。静帧未通过时只重生对应条目,保留旧版本。

Gate 3:Gemini 视频生成

静帧确认后生成视频。默认使用确认静帧作为单张视觉参考,让模型在保持构图和角色一致的前提下制作局部动作。若任务确实需要从空白生长或从简到繁,可额外生成首帧,并用两张关键帧约束。

创建 jobs.json

[
  {
    "prompt": "<完整英文动作提示词>",
    "image": ["<确认静帧路径>"],
    "output": "<输出路径>/final.mp4",
    "aspect_ratio": "9:16",
    "duration": 6
  }
]

运行:

python <本skill目录>/scripts/generate_video.py --batch <jobs.json> --concurrency 2

仓库自带基于 Google GenAI SDK 的 Gemini Omni Flash 适配器。仅在用户明确指定时覆盖默认模型。

Gemini 生成后,按 visual spec 输出目标尺寸并默认保留音效:

python <本skill目录>/scripts/finalize_video.py <raw.mp4> <final.mp4> --width 1080 --height 1920 --fps 24 --fit crop --audio keep

crop 用于满画布 B-roll,pad 用于必须保留完整构图的内容图示。--audio keep 为默认值;只有 sound_mode: silent 时使用 --audio strip。不要把模型原始 720p 冒充原生 1080p;如有放大,应在交付说明中注明。

硬性动作约束

  • 固定机位;禁止切镜、推拉、摇移和景深变化。
  • 人物模式保持人物身份、脸型、服装、桌面与背景布局稳定。
  • 无人物模式保持核心物件的形状、颜色、相对位置和视觉层级稳定;禁止擅自生成手、脸或人物剪影。
  • 每个时刻只突出一个主动作,但允许 1–2 个与之有因果关系的局部响应错峰重叠;人物可保持低幅、连续的自然动作。
  • 动作语言优先服务知识讲解:使用归类、排序、连接、对比、筛选、递进、因果转化和结果确认,让观众无需文字也能理解关系;禁止纯装饰性运动。
  • 默认采用“主动作 + 接力响应 + 生命微动作 + 短暂强调”的分层动效。按动作选择柔和 ease-out、ease-in-out 或稳定路径减速;允许一次 2–4% 的轻微落位回稳,禁止连续弹跳、果冻回弹、突然加速、抖动和逐帧跳跃。
  • 生长动画按对象自身结构从固定起点逐步生成:线条沿路径绘出,图形从轮廓到填色,网络从主节点到分支,建筑从地基到主体,信息图从坐标轴到数据。禁止把完成物整体缩放或淡入冒充生长。植物只是可选对象,使用时才按茎、枝、叶展开。
  • 生长与延伸覆盖目标物的必要结构及静帧已确认的相关分支;可按波次接力生成,但不得越界扩散到无关负空间。
  • 连接线数量服从确认静帧中的语义关系,不设固定全局上限。视频 prompt 必须逐条写明起点、终点和方向;所有线都要连接明确对象,禁止悬空、无端分叉、随机曲线和背景电路线。
  • 图标允许轻弹、翻面、浮起和沿弧线移动;禁止随机漂浮。
  • 特效颜色跟随所选配色;只用于连接、转化、激活,不遮挡主体。人物模式不盖住脸和手。
  • 禁止果冻形变、多余肢体、物体融合、假字、logo、水印与 UI。
  • 默认生成与关键动作同步的知识讲解型轻量音效。只使用柔和纸张滑动、卡片/物件轻触归位、轻木质卡位、克制空气掠过、单个清亮提示和自然物件声;默认禁止人声、旁白、对白和持续配乐。
  • 全面禁止笔尖接触纸面的声音,包括铅笔、钢笔、圆珠笔、马克笔、粉笔的书写、涂画、刮擦、沙沙声和连续摩擦声。画面出现线条或彩铅质感时也只能使用极轻空气掠过或柔和提示音,不得模拟绘画过程。
  • 音效必须服务动作,不得抢占口播空间;避免低频轰鸣、电影预告式冲击、刺耳高频和持续铺底。用户明确要求静音时才移除音轨。

尺寸与规格

  • 画布:接受预设、比例或明确像素;常用预设见 palettes-and-formats.md
  • 模型比例:只传 Gemini 支持的 9:1616:9;其他比例选择最接近者,再用 finalize_video.py 精确适配
  • 默认画幅:9:16,720×1280
  • 时长:6 秒
  • 帧率:24 fps
  • 输出:720×1280 或对应横版尺寸,H.264 + AAC 动作音效;静音模式无音轨
  • 项目目录:outputs/YYYY-MM-DD-muyang-flat-标题/

QA

对每条成片运行:

python <本skill目录>/scripts/inspect_video.py <video.mp4> --reference <确认静帧.png> --output-dir <qa目录>

必须实际查看 contact sheet,而不是只相信命令成功。通过标准:

  • 首、中、尾构图一致,没有镜头漂移
  • 纸面、墨线、彩铅颗粒和选择性留白保持稳定,没有变成光滑矢量、塑料平涂或写实渲染
  • 主动作清楚且符合物理或语义逻辑
  • 主动作、接力响应与生命微动作层级清楚;过渡平滑,没有急停、跳帧、连续回弹或多组动作同权争抢注意力
  • 负空间保持干净;短提示线或状态符号只依附被激活对象并及时收束,没有悬空电路线、随机曲线或无来源轨迹
  • 生长和延伸覆盖必要结构与已确认分支,所有路径的起止对象、方向与确认方案一致
  • 人物脸、手和服装没有明显崩坏
  • 无人物模式没有凭空出现人物、手、脸或无关装饰
  • 目标元素确实按自身结构逐步生长、绘制或生成,不是整体缩放、淡入
  • 无假字、logo、水印、额外物件或画面闪烁
  • 最终状态接近确认静帧
  • 分辨率、时长与帧率符合任务要求
  • 默认模式存在 AAC 音轨,音效与可见动作同步,无人声、对白和明显配乐;静音模式必须无音轨
  • 音轨中没有任何笔尖写字、画线、刮纸或连续纸面摩擦声;声音节奏适合叠加知识口播,短促、克制、不抢语音频段

失败时只重跑对应条目,并在 prompt 中具体修正失败项。不要重跑已通过条目。

测试基准

  • “学会把抽象的概念具体化。”:抽象云团经由人物手势或蓝色轨迹转化为桌面上的清晰实体模型。
  • “用AI解决近在眼前的小事情。”:人物点亮桌面上的几个日常任务卡,AI 光线逐个完成,而不是出现宏大机器人或未来城市。
  • “信息不是越多越好,而是越清楚越好。”,无人物模式:杂乱卡片被漏斗筛选,最终留下三张层级清楚的卡片;不得出现人物或手。

Version History

  • d864f14 Current 2026-07-30 20:29

Metadata

Files
0
Version
d864f14
Hash
470ff105
Indexed
2026-07-30 20:29

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-04 02:53
浙ICP备14020137号-1 $Гость$