motion-anything 是一款 AI 动效引擎,用自然语言描述动画感觉即可生成专业级动效。支持 403 套预设动效、13 种运动动词、弹簧曲线,导出为 CSS/React/Lottie/MP4。本地零依赖、无水印、无渲染费,GitHub 506 Stars。

🎤 引言

做网页动效,你还在跟关键帧搏斗吗?

「让这个按钮悬停时有弹跳的轻盈感」「卡片从右侧滑入同时淡入」「文字逐字浮现」——这些需求扔给设计师,报价单就来了;扔给 GSAP,得写几十行代码。

现在有个新选项:motion-anything。一个本地优先的 AI 动效引擎,你描述"感觉",它出动画。506 Stars,零依赖,导出随便用。


⭐ 核心功能

motion-anything 的定位很清楚:一个能听懂"感觉"的动效生成器

1. 自然语言驱动
不用写代码,直接说:「按钮悬停时有一种弹跳的轻盈感」「导航栏展开时像百叶窗一样层叠出现」。背后是 AI Agent 理解你的描述,匹配 403 套预设动效模板(叫 recipes),生成对应的动画定义。

2. 完整动效控制台
有 web UI——component-motion workbench。可以在上面:

  • 选择 4 种触发器(hover / click / scroll / time)
  • 指定 13 种运动动词(bounce / slide / fade / scale / rotate / flip / morph ...)
  • 弹簧曲线(spring easing),不是死板的 bezier
  • 完整关键帧编辑器逐帧控制

说人话:它把 After Effects 的核心操作搬到了浏览器里,但用自然语言驱动。

3. 多格式导出
做好的动画可以导出为:

  • CSS(直接粘到你的 stylesheet)
  • React(@keyframes + inline style 或 styled-components)
  • Lottie(丢到动画库)
  • JSON(通用格式)
  • MP4 / GIF(直接出视频)
  • Portable Skills(跨项目复用)

一个动画,多种出口,不用重复做。

4. 8 大编码引擎支持
内置对以下 Agent 的深度集成:
Claude Code、Codex(GitHub Copilot)、Cursor、OpenCode、Grok Build、Hermes、Gemini、Open Design Cloud。

意味着你可以在这些编辑器里直接生成动画,motion-anything 作为一个中间层,理解你的自然语言指令,再输出对应格式的代码。

5. Open Design 生态整合
背后连着 59 个设计系统的动效规范(DESIGN.md brand packs)、58 个 HyperFrames 视频模板、112 个 HTML 原型模板、2,680 个图标。简单说:做动画时可以直接引用这些资源,而不是从零开始。

6. 视频生成模式
不只是网页动画,还能生成启动视频(launch videos)——用 HTML 模板直接渲染成 MP4 或 GIF,适合做产品宣传页的动态背景。


📥 安装与使用

项目地址:https://github.com/nexu-io/motion-anything

快速上手(Web UI)

# 克隆项目
git clone https://github.com/nexu-io/motion-anything.git
cd motion-anything

# 进入 app 目录,启动 Web UI
cd app
# 用浏览器打开 index.html,或者启动本地服务
python3 -m http.server 8080

然后访问 http://localhost:8080,就能看到 component-motion workbenchlaunch-video compositor 两个界面。

CLI 模式

cd cli
# 查看帮助
python motion_anything.py --help

自然语言生成动画示例

在 workbench 里输入:

A button that bounces lightly when hovered, with a subtle scale up

输出:

/* Generated CSS */
.btn-hover {
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.btn-hover:hover {
  transform: scale(1.08);
  animation: bounce-light 0.4s ease-out;
}

@keyframes bounce-light {
  0% { transform: scale(1.08); }
  40% { transform: scale(0.95); }
  70% { transform: scale(1.03); }
  100% { transform: scale(1); }
}

或者输出 React 版本、Lottie JSON,点点切换就行。


🎯 适用场景

谁在用 motion-anything?

从 Twitter/X 上的讨论来看,这两类人最感兴趣:

  1. 前端开发者 / 全栈工程师
    不想在动效上花太多时间,但又不想用烂大街的 CSS 动画库。motion-anything 的输出质量比自己写高一个档次,而且直接出 CSS/React 代码,接入成本低。
  2. UI 设计师(不需要懂代码)
    以前做动效原型要依赖 AE 或者 Framer Motion,现在直接说"感觉",就能得到可上线的代码。专业设计师可以用来出关键帧和弹簧曲线,然后交给开发落地。
  3. AI Agent 开发者
    项目本身是做 AI Agent 的,集成了 8 个主流 coding agent。适合拿来研究怎么让 AI 生成更精准的动画代码。
  4. 产品经理 / 创业者快速原型
    想给投资人看带动画的产品 demo?motion-anything 的 launch-video compositor 可以快速出视频,不需要设计师。

🔍 对比与替代方案

工具定位自然语言输出格式依赖
motion-anythingAI 动效引擎CSS/React/Lottie/MP4零依赖
GSAP专业动画库JSTweenMax
Framer MotionReact 动效库部分ReactReact
Lottie动画库格式JSONlottie-web
Animate.css预设动画CSSCSS 文件

motion-anything 的优势:自然语言驱动 + 多格式导出 + 本地运行。对于"不想写代码但需要好动画"的场景,它是目前最低门槛的选择。

弱点(官方也承认):

  • 复杂交互动画(比如骨骼动画、3D 变换)还是得靠 AE 或 GSAP
  • AI 生成的动画质量依赖模型理解能力,不是每次都完美
  • 刚起步(只有 9 次 commit),生态还不算成熟

⚠️ 注意事项

  1. Apple Silicon Mac 友好,但非必须
    项目本身是 Python + Web 技术栈,Apple Silicon Mac 直接跑没问题。没有特殊 GPU 要求,笔记本也能跑。
  2. AI 生成有随机性
    同样的描述两次生成的动画可能不一样。大多数时候是好事,但如果你要精确还原某个特定动效,需要在 editor 里手动微调关键帧。
  3. Lottie 导出有保真度损失
    Lottie 本身对复杂动画的支持有限,如果你的动画涉及大量路径变形,导出的 Lottie 可能需要后期调整。
  4. 目前仅有 9 次 commit
    这个项目相当新,功能迭代快,但也意味着可能存在 bug 和 API 变动。生产环境使用前建议先在 test 环境跑一遍。
  5. 中文文档有限
    官方 README 有简体中文翻译,但深入使用文档和教程主要还是英文。

✅ 总结

motion-anything 解决了一个真实痛点:动效设计和实现之间的鸿沟。以前设计师和开发者之间关于"再柔和一点""弹性不够"的对话,可以用自然语言直接解决。

值得夸的地方:

  • 自然语言生成,不是噱头,是真的能理解"轻盈感""弹跳"这类抽象描述
  • 多格式导出,CSS/React/Lottie 随便挑,不用重复造轮子
  • 零依赖,本地跑,适合在意隐私和成本的项目
  • 整合了 Open Design 生态,2,680 个图标 + 59 个设计系统,拿来就能用

需要磨合的地方:

  • 新项目,生态还在长大,文档不算完善
  • AI 生成有随机性,精确动效还是得手动调
  • 复杂交互动画不是它的长项

推荐指数:⭐⭐⭐⭐(4/5)

适合想快速做出好动画但不想陷入代码细节的前端开发者,以及想自己做动效原型但不会写代码的设计师。GitHub 506 Stars 可以关注,但不建议立刻上生产——先拿来做原型和内部工具,生态成熟了再考虑深度集成。


项目地址https://github.com/nexu-io/motion-anything

Related: