Communitygithub.com

Muse Motion

专业动态图形视频编辑,适用于用户提供的视频。可用于动态排版、标题、下三分之一、动画字幕、标注、Logo动画、转场、数据可视化、UI原型、社交媒体格式、讲解和白板元素、2.5D视差、3D基础、角色基础、产品宣传、歌词视频、片头、片尾和行动号召,采用以指令驱动的Remotion、ffmpeg和Python工作流。

Muse Motion 是什么?

Muse Motion 是一个专注于动态图形视频编辑的专业AI代理技能,专为需要动态排版、标题、下三分之一、动画字幕、标注、Logo动画、转场、数据可视化、UI原型、社交媒体内容、讲解和白板元素、2.5D视差、3D基础、角色基础、产品宣传、歌词视频、片头、片尾和行动号召的用户提供。该技能支持Remotion、ffmpeg和Python技术栈,完全在本地运行,无需依赖Codex、OpenAI或After Effects GUI。其工作流程从文件探查和转录开始,然后生成导演指导和编辑指令JSON,并通过严格的验证关卡确保输出质量。Muse Motion 强调语义驱动动画,保护演讲者区域,使用官方品牌Logo,并遵循一套完整的运动曲线、入场/出场时间、弹簧动画和透明度处理规则。音频处理包括响度标准化(YouTube的-14 LUFS目标)和双遍loudnorm导出。最终交付前会经过严格的验证关卡,包括帧检查、安全区域、字幕质量、响度和真峰值测量,确保每个输出都专业可靠。

兼容平台✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/anisar699/Muse-Motion-Graphics-Skill-Editing/tree/main

在你喜欢的 AI 中提问

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

文档

Muse Motion 是做什么的?

版本 1.3 (2026-11-15)。1.0 版本的变更记录在 CHANGELOG.md 中。

用途与路线选择

  • 凡是需要动态图形、动画文本、图形叠加、转场、字幕、数据动画或全动态主导编辑的任何格式视频编辑任务,均使用本技能。

  • 以 Muse 自身的本地代码栈(Remotion、ffmpeg 和 Python)工作。除非用户明确要求不同的路线,否则不需要 Codex、OpenAI 或 After Effects GUI。

  • 在构建之前,根据持续时间和格式规划任务路线(路线定义见 references/workflow-and-directive.md)。快速片头:时长最多 15 秒的标题或广告插片,通常仅为图形内容。短格式:最多 90 秒的竖屏或方形社交媒体视频。长格式:超过 90 秒,以镜头素材为主导。纯图形:无镜头素材——歌词视频、Logo 动画、静态图像和文字解说类视频;指令来源的类型为“音频”或“无”,并包含 timeline.duration_s。

  • 切勿修改原始素材。将源文件复制到项目文件夹中,保持原始文件不变,所有输出均写入项目编辑文件夹。

  • 在构建时,当涉及 API 细节时,需阅读已安装的 Remotion 版本文档。Remotion v4 变化频繁,因此不要依赖记忆中的 API,而应查阅已安装的包文档。

快速专业工作流程

  • 从文件探查开始。使用 ffprobe 分析每个源文件,记录宽度、高度、精确帧率、时长、编解码器、色彩和音频采样率,并在简报模板中列出交付物、平台、宽高比、字幕需求和截止日期。

  • 在设计之前,先在本地进行转录。使用 ffmpeg 提取 16 kHz 单声道音频,运行 faster-whisper 获取时间戳词级转录,缓存转录 JSON 文件,并标记所有概率低于 0.80 的词汇,供人工核对姓名和数字。

  • 将词汇分组为完整的语义节拍。用且仅用校验角色标记(全部小写)标记每个节拍的角色:hook, context, problem, promise, reveal, definition, process, proof, reassurance, transition, cta。

  • 在任何图形制作之前,先撰写导演指导和编辑指令 JSON。验证分两个阶段:在设计阶段运行 scripts/validate_directive.py 并添加 --draft 参数(仅进行模式检查,草稿 PASS 不代表允许渲染),在渲染前不加 --draft 参数运行(渲染就绪检查:approval.status 必须为 approved 且无歧义;源素材必须存在且探测到的时长与指令匹配;布局必须位于画布内;受保护区域进行碰撞检查(10% 区域、50% 布局或任何关键区域重叠均判定为失败;覆盖需要布尔值 true 加上 overlap_reason 并始终报告);角色、处理和转场标记必须来自 references/workflow-and-directive.md 中的固定集合;reveal_sync 元素必须在 on_screen_copy 中声明)。任何 INVALID 结果都会阻止渲染。

  • 在动画之前先构建样式帧。为标题、典型场景、数据场景、下三分之一和结束卡片分别渲染一张完成的静态帧,并从这些帧中锁定字体、颜色、间距、安全区域和运动标记。

  • 当时间线未锁定时,构建分镜动画。使用样式帧静态图、最终时间线以及草稿或最终音频,以半尺寸渲染真实的合成画面,并在全动画之前通过该文件检查节奏。

  • 分遍进行动画制作。首先阻塞关键姿态,其次添加缓动和弹簧动画,第三添加错开和随动动画,最后在视觉着陆点的一个帧内同步音效打击点。

  • 在字幕之前合成图形。字幕最后添加,以确保它们位于最上层并保持在交付安全区域内。

  • 在交付前验证完成的文件。遵循本技能中的验证关卡,切勿仅凭渲染成功消息就进行交付。

编辑规则

  • 为每个时间线区间精确指定一个主要处理方式,使用校验处理标记:CLEAN_PRESENTER、OVERLAY_CARD、FULLSCREEN_MOTION、PRESENTER_INSET、SELECTIVE_TEXT、TRANSITION、KINETIC_TYPE、DATA_SCENE、CALLOUT、LOWER_THIRD、TITLE、END_CARD。

  • 保护演讲者。保持面部、眼睛、麦克风和主要手势 corridor 清晰,并在实际镜头素材上进行检查,而非空白画布。

  • 让意义引导运动。仅对承载意义的词汇和元素(如名词、动词、数字和对比项)进行动画处理,保持填充词稳定。

  • 每个节拍保持一个主要的动画元素。次要动作可以支持主要动作,但绝不能与之竞争。

  • 每个解析后的图形应保持足够长的停留时间以便阅读。停留时间短于入场时间加出场时间即为缺陷。

  • 仅使用官方品牌 Logo。从每个命名品牌的新闻资料包或品牌页面获取其 Logo,记录来源,切勿绘制、描摹、重新上色或替换 Logo 为文字或通用图标。

  • 屏幕上的文本必须忠实于口头陈述。必要时进行精简,切勿在未告知的情况下重写或编造陈述内容。

  • 在线视频中,不要在钩子内容之前放置任何 Logo 贴片、问候语或缓慢开场。在最初的几秒内,将钩子内容以视觉打断、口头承诺和屏幕文字的形式堆叠出现。

运动默认值

  • 编辑时匹配源帧率。新建的网络和社交媒体动态合成使用 30 fps,仅电影级作品使用 24 fps,仅游戏、体育或快速屏幕录制使用 60 fps。

  • 位置或缩放动画切勿使用线性缓动。入场使用缓出,出场使用缓入,持续存在的运动使用缓入缓出,仅循环动画、进度条和时间驱动值保留线性缓动。

  • 使用运动参考中的室内曲线。主力入场曲线为 cubic bezier 0.16, 1, 0.3, 1;Material 标准曲线为 0.2, 0, 0, 1;过冲曲线为 0.34, 1.56, 0.64, 1,需谨慎使用。

  • 使用弹簧动画实现有机入场和随动效果。流畅无弹跳的稳定效果使用阻尼 200;俏皮的弹跳效果使用阻尼 12 至 15;快速且有弹性的弹出效果使用阻尼 20、刚度 200 和质量 0.8。

  • 标准入场持续时间保持在 250 到 500 毫秒之间。出场持续时间约为入场持续时间的 60% 到 75%。微动保持在 100 到 200 毫秒之间。几乎无界面的运动不应超过 500 毫秒。

  • 添加预期运动,作为大约 5% 到 10% 行程的反向微动,持续 3 到 6 帧(30 fps)。添加随动效果,次要元素在主元素着陆后错开 2 到 4 帧。

  • 当图形需要与真实镜头素材匹配时,使用类似 180 度快门效果的动态模糊作为默认设置。在需要阅读的文本和数据值上禁用模糊模拟。

元素操作指南

  • 按照分类操作指南参考文件,获取每个元素的精确规格。它涵盖了动态排版、标题、下三分之一、字幕、标注、Logo 动画、转场、数据可视化、UI 原型、社交媒体元素、讲解和白板元素、视差、3D、角色基础、产品宣传、歌词视频和结束卡片。

  • 构建下三分之一时,先有重音,其次有名字,最后有角色。入场时长约 15 帧(30 fps),停留至少 3 秒,总时长控制在 3 到 5 秒之间。

  • 将无障碍字幕和动画社交媒体字幕视为不同的产品。无障碍字幕保持忠实,无装饰性动画;社交媒体字幕在与其配对的剪辑相同的 Sequence 内使用词级高亮。

  • 真实地动画化数据。条形图从基线向上增长,折线图按时间顺序绘制,数字以缓出方式计数至精确最终值,切勿过度冲过数据值。

  • 将转场视为标点符号。默认优先使用硬切,时间流逝使用溶解,仅当场景间的关系需要时,才使用擦拭、甩镜头、缩放、变形和匹配剪辑等转场。

  • 从分离的深度平面构建视差。前景移动最快,中景较慢,背景最慢,保持虚拟摄像机角度适中,以免扁平层暴露自身。

代码生产规则

  • 所有动画均基于当前帧推导得出。使用 useCurrentFrame 和 useVideoConfig 进行所有运动,切勿使用 CSS 过渡、CSS 动画、定时器或未指定种子的随机值。

  • 每个 bounded interpolate 调用都应在两侧进行限制。在代码中以秒乘以帧率的方式编写时间,当必须使用裸数字时,在帧号旁用秒注释标明。

  • 优先使用内联 interpolate 配合独立的 scale、translate 和 rotate 属性,而非组合的 transform 字符串。对于节拍精确计时和循环使用 interpolate;当有机感的稳定比精确帧更重要时,使用弹簧动画。

  • 将每个交付物结构化为注册的 Composition,通过 calculateMetadata 实现数据驱动时长(时长来自字幕或节拍网格)。使用 Sequence 或 Series 块构建场景,使用 TransitionSeries 构建转场。

  • 在模块顶层显式加载字体,并使用缩窄的权重范围。使用 Remotion 媒体组件加载媒体,这些组件会在资源就绪前阻止渲染;仅在使用清晰的继续路径时使用 delayRender。

  • 当交付物为叠加层时,通过每个环节保留 Alpha 通道。为编辑器渲染 PNG 帧并最终输出为 ProRes 4444(yuva444p10le);为浏览器输出 VP9 WebM(yuva420p);或输出 PNG 序列作为最便携的格式。切勿在 H.264 MP4 中承诺 Alpha 通道。

  • 牢记从真实生产中总结的 Alpha 通道经验教训。直接的 Remotion 视频渲染可能静默丢弃 Alpha 通道,因此安全路线是先渲染 PNG 序列,然后使用 ffmpeg prores_ks 4444 进行编码,最后通过像素格式检查确认存在 Alpha 平面。

  • 有意识地加快渲染速度。不透明合成使用 JPEG 帧,仅 Alpha 合成使用 PNG;为时间批准进行的草稿采用半尺寸渲染;本地修复后仅重新渲染已修复的帧范围;在实际机器上基准测试并发度。

音频、响度与导出

  • 首先混合人声,在人声下方弱化音乐,在视觉着陆点谨慎放置音效,每个品牌仅使用一种音效系列。对最终混音进行整体归一化,切勿逐片段归一化。

  • YouTube 和社交媒体交付的工作目标为 -14 LUFS 集成响度和最多 -1 dBTP 真峰值。口语播客使用 -16 LUFS,EBU R 128 广播使用 -23 LUFS,ATSC 广播使用 -24 LKFS。

  • 报告时说明响度警告。YouTube 未发布 LUFS 目标,因此 -14 是基于播放器归一化数据推断的工作默认值,而非已发布的平台规则。

  • 对交付物使用双遍 loudnorm 进行归一化。先测量,然后使用测量值和线性真峰值应用归一化;因为单遍 loudnorm 会动态处理,可能导致混音泵动。

  • 长格式导出为 MP4,使用 H.264 High Profile、逐行扫描、4:2:0、VBR 和 48 kHz 的 AAC LC。1080p 30 fps 使用 8 Mbps,60 fps 使用 12 Mbps;1440p 使用 16 和 24 Mbps;4K 30 fps 使用 35 至 45 Mbps。

  • 为 Shorts、Reels 和 TikTok 导出一个竖屏主版本,规格为 1080×1920、9:16、30 fps、10 至 16 Mbps。当安全区域不同时,从同一合成中渲染不同平台的变体。

验证关卡

  • 在钩子内容、每个场景的关键时刻、每个入场和出场点、每个转场以及最终帧处检查帧。将关键帧与已批准的样式帧进行比较。

  • 使用覆盖层检查安全区域。16:9 文本保持在 90% 标题安全区域内;竖屏关键内容远离顶部平台区域、底部字幕区域和右侧操作栏。

  • 通过听觉和视觉检查字幕。确认姓名、数字和低置信度词汇;标准字幕每行不超过 42 个字符,不超过 2 行;成人阅读速度不超过每秒 20 个字符。运行 scripts/check_captions.py 对 SRT 文件进行形式检查(行长度、阅读速度、提示时长、重叠以及指定样式颜色时的 WCAG 对比度);措辞仍然需要人工判断。对于语音源,scripts/transcribe.py 在本地生成带词级时间戳的转录(faster-whisper,PCM 路线),字幕和节拍都基于此计时。

  • 在最终编码文件上(而非项目文件上)测量响度和真峰值。首先在编码文件上运行 scripts/peak_guard.py:AAC 编码可能超出 loudnorm 的真峰值上限(在真实交付中测量到 -0.95 和 -0.7 dBTP,对比 -1.0 上限),该防护措施应用最小足够的增益降低,作为仅重混音频并重新测量。然后在最终文件上运行 scripts/qc_probe.py,附带每个交付物的 --spec 文件,并保存 --report JSON 文件:它强制执行音频存在(缺失音频失败为 AUDIO_STREAM_MISSING,数字静音失败为 AUDIO_SILENT)、响度目标和容差、真峰值上限、尺寸、帧率(容差 0.01,检测 VFR)、编解码器、像素格式、配置、色彩标签、时长、需要 Alpha 时(格式和解码内容——恒定不透明 Alpha 失败)、MP4/MOV 的 moov atom 前置等检查;任何失败都会导致非零退出;spec 键是白名单的,起始 spec 文件位于 templates/ 目录。使用 scripts/sample_frames.py 提取钩子帧、四分之一帧、关键帧、四分之三帧和结束帧,以及接触式印样用于人工视觉检查(使用 --directive 参数还会对每个节拍开始、揭示和结束进行采样)。

  • 应用可访问性硬限制。普通文本对比度保持至少 4.5:1,大文本保持至少 3:1;在任何 1 秒内闪烁次数不超过 3 次。

  • 准确报告已验证和未验证的内容。将渲染成功、帧检查、响度测量以及设备或平台预览分开,作为不同的声明。

  • 切勿声称未经验证的内容。本技能包不包含完整的 Remotion 示例项目,因此不要声称本归档文件本身经过渲染验证;仅声明当前工作区中实际产生的渲染结果。自动化检查永远不会取代人工对叙事真实性、视觉品味、字幕准确性或运动镜头中面部保护的签收。

参考

…

[已截断以进行翻译]

相关技能