SuperAPI AI 工具集

motion-graphics

设计与创作

查看项目

更新于 10-15 13:42

技能介绍

motion-graphics 是一个用于制作短小、以设计为主导、无旁白的动态图形的技能,其核心理念是“动效即信息”(motion is the message),时长约在 10 秒以内,不含配音。

【用途与路由】 该技能用于制作短片式、设计主导的动态图形。若需求是更长、多场景或有旁白的处理,应改用 /general-video;网站旁白视频用 /website-to-video;主题讲解用 /faceless-explainer;产品宣传用 /product-launch-video;为已有素材加字幕用 /embedded-captions。超出范围的情况包括:实时或渲染时数据,以及无法捕获的素材。若不确定应选“动效优先”还是“旁白优先”,先阅读 /hyperframes。

【主要能力与分类】 技能采用“素材优先”策略:先决定素材策略并获取真实素材,再围绕已有素材设计镜头,最后通过复用目录能力进行合成。所有产物写入 PROJECT_DIR = videos/<project-name>/(在 Step 0 创建),后续路径均相对于该目录。

分类按“是否需要搜索”分为两组:

形式类(无需搜索,内容由用户提供):

  • kinetic-type:冲击力强的台词/引语/标题,动效优先的文字,依赖 caption-* 块与动画规则。
  • stat:单个主数字/滚动计数 + 环形,依赖 apple-money-count 与 counting-dynamic-scale、stat-bars-and-fills 规则。
  • charts:来自数据的柱状/折线/饼图/竞速/百分比,依赖 data-chart 块。
  • logo-reveal:Logo 短音效/品牌锁定(用户提供 Logo),依赖 logo-outro 与 svg-path-draw 规则。
  • lower-thirds:姓名/标题条、标注、社交叠加层,依赖 caption-* 与注册表叠加块。

搜索驱动类(先搜索,再按内容类型做动画,即 RWA 路径):

  • 返回网页/链接 → webpage 类,做网页/UI 动画(滚动、揭示、光标、标注)。
  • 返回新闻文章 → news 类,做标题揭示 + 来源卡片 + 关键事实标注。
  • 返回推文 → tweet 类,做动画推文卡片。
  • 返回图片/实体 → asset-fusion 类,素材的几何形状成为图表(RWA 叙事融合)。

【使用方式与流程】 前置条件:macOS Apple Silicon 或 Linux x64;系统工具需 brew install node ffmpeg;执行一次 npx hyperframes doctor;macOS GPU 渲染需 export PRODUCER_BROWSER_GPU_MODE=hardware。可选密钥(未设置时使用本地回退),仅搜索/生成素材的分类需要:GEMINI_API_KEY / GOOGLE_API_KEY 用于图像生成(media-use resolve),回退为跳过生成/仅搜索;asset_scout / 搜索提供方用于 webpage/news/tweet + asset-fusion 的真实素材搜索,回退为无素材降级。

流程步骤:

  • Step 0 初始化:cwd 为 agent 工作区根目录;所有产物写入 PROJECT_DIR = videos/<project-name>/。<project-name> 优先使用用户给出的目录,否则从意图生成简短的 kebab-case 名称(<subject>-motion),不要用工作区基名或时间戳。仅当 $PROJECT_DIR/hyperframes.json 不存在时执行初始化命令。约束:绝不在工作区根目录执行 hyperframes init;绝不在 PROJECT_DIR 内嵌套另一个 hyperframes/;每条 Bash 命令(主流程 + 子代理)都使用 (cd "$PROJECT_DIR" && ...) 子 shell,绝不裸用 cd。
  • Step 1 规划(子代理:Director Part 1):派发一个子代理,prompt = 完整 agents/director.md + 调度上下文。它需决定是否需要搜索(第一个分叉):不需要则选形式类,内容由用户提供,asset_needs 为空;需要则向 asset_needs[] 输出搜索计划(news/web/tweet/image;双极查询),具体搜索驱动分类由 Step 2 返回的内容类型确认,并在 Step 3 最终确定。随后写出草稿 shot-plan.json。
  • Step 2 取材(Bash:media-use,条件执行):若 shot-plan.json.asset_needs 非空,则解析素材(搜索/生成/获取 → 冻结的项目本地路径 + 台账)。若为空则跳到 Step 3。搜索/提供方不可用时优雅降级为无素材,并在 context.log 中记录。
  • Step 3 设计(子代理:Director Part 2):围绕可用素材设计镜头,选择目录块与 hyperframes-animation 规则/蓝图、布局、动效、节拍,以及(asset-fusion 的)element_positions + 吸管调色板,最终确定 shot-plan.json。
  • Step 4 构建(子代理:Builder,复用优先):复用优先,npx hyperframes add <block> 并就地定制;仅对缺口和 asset-fusion 可供性手工编写。输出 compositions/index.html,遵循 HF 契约(window.__timelines 上暂停的 GSAP 时间线、class="clip" + 稳定 id、tl.seek(0)、确定性)。
  • Step 5 渲染(Bash):执行渲染命令输出 MP4,或使用 --format webm/mov 输出透明叠加层变体。
  • Step 6 校验(Bash → 失败时修复子代理):执行 lint 与 inspect;exit 0 即完成;出错则派发修复子代理(快照 QA + 一次就地修复 + 重新渲染),修复中绝不更改固定时长。

【报告与预览】 报告最终输出(renders/video.mp4,或 .webm/.mov 叠加层变体)与时长。运行期间不要打开预览;仅在请求时提供一个,且在渲染后启动以服务于最终文件。

【恢复表】 无 shot-plan.json → 从 Step 1 继续;shot-plan.json 有 asset_needs 但无 assets/ → 从 Step 2 继续;shot-plan.json 已定稿但无 compositions/index.html → 从 Step 3/4 继续;compositions/index.html 存在但无 renders/video.mp4 → 从 Step 5 + Step 6 继续;renders/video.mp4 存在 → 报告并停止。

【目录结构】 videos/<project-name>/ 下包含 hyperframes.json、context.log、shot-plan.json(IR,Director 输出)、assets/ 与 assets/index.md(media-use 输出,若取材)、compositions/index.html(Builder 输出)、renders/video.mp4。

【限制】 不适用于实时或渲染时数据,以及无法捕获的素材;不适用于更长、多场景或带旁白的视频(应改用其他技能)。具体收费、价格、平台支持等事实资料中暂未提供。