diffusionstudio/lottie · 上手攻略
- 仓库:diffusionstudio/lottie
- 链接:https://github.com/diffusionstudio/lottie
- 分类:multimodal · trending · research
- 作者:Jay
- 更新:2026-07-06
这是什么
lottie 是 Diffusion Studio 出品的开源 Skill(工具包),让 Claude Code 或 Codex 等 Coding Agent 通过自然语言指令直接生成可投产级别的 Lottie 动画 JSON 文件。
它的核心工作流是:你在对话中描述想要的动画效果(基于 SVG、截图或真实数据),Agent 调用 diffusionstudio/lottie skill,自动搭建运行环境,生成 .json 动画文件,你可以在浏览器/App/游戏/网页中直接使用。
简单说:用自然语言让 AI 帮你写 After Effects 级别的 Lottie 动画代码。
解决什么问题
Lottie 动画传统制作流程有三大障碍:1)需要 After Effects + Bodymovin 插件的专业知识;2)动画代码(Lottie JSON 格式)语法复杂,手写门槛极高;3)设计-开发之间的"翻译损耗"——设计师出图,开发再重实现。
lottie 的解法是让 AI agent 直接消费「动画意图」("用 ease-in-out 缓动让路径沿自然方向展开,加一个高级苹果风格渐变"),然后生成符合 Lottie spec 的 JSON。你不需要懂 Lottie 格式规范,只需要描述运动感。
快速安装
前置要求
- Node.js 16+(skill 安装时需要)
- 一个支持 Skills 的 Coding Agent:Claude Code 或 Codex(或其他兼容 Skills API 的 Agent)
安装 skill
# 在终端/Codex/Claude Code 对话中执行
npx skills add diffusionstudio/lottie
安装完成后,在 Agent 对话中直接用自然语言描述你的动画需求即可。
核心用法
基本工作流
Step 1. 安装 skill:
npx skills add diffusionstudio/lottie
Step 2. 在 Agent 对话中用自然语言描述动画,例如:
Create a Lottie animation from the SVG path in
https://github.com/JaceThings/SF-Hello/blob/main/SVG/hello-en.svg.
Reveal the path with an animation that follows the natural path direction.
Apply a premium apple themed gradient to the path.
Use ease-in-out timing, a transparent background, and preserve the original SVG geometry.
Step 3. Agent 会:
1. 解析 SVG 内容
2. 搭建本地 Lottie player 环境(每个项目自动生成 public/projects/<project>/<scene>/lottie.json)
3. 生成 Lottie JSON 文件
4. 实时在 player 中预览,Agent 边改边刷新
Step 4. 完成后导出 lottie.json,集成到你的 App/网页。
生成文件结构
public/projects/<project-name>/
<scene-name>/
lottie.json ← 主要动画文件
player.html ← 本地预览用
支持多种渲染方式
生成的 lottie.json 是标准 Lottie 格式,可用以下方式渲染:
网页(直接用 lottie-web):
<script src="https://unpkg.com/lottie-web/build/player/lottie.min.js"></script>
<div id="anim"></div>
<script>
lottie.loadAnimation({
container: document.getElementById('anim'),
renderer: 'svg',
loop: true,
autoplay: true,
path: '/animations/my-animation.json'
});
</script>
React Native(用 Shopify Skia):
import { Skia, Canvas, Skottie, useClock } from "@shopify/react-native-skia";
import { useDerivedValue } from "react-native-reanimated";
const animation = Skia.Skottie.Make(JSON.stringify(require("./animation.json")));
export default function Loader() {
const clock = useClock();
const frame = useDerivedValue(
() => ((clock.value / 1000) % animation.duration()) * animation.fps()
);
return (
<Canvas style={{ width: 200, height: 200 }}>
<Skottie animation={animation} frame={frame} />
</Canvas>
);
}
iOS(用 lottie-ios):
import Lottie
let animationView = LottieAnimationView(name: "animation")
animationView.frame = view.bounds
animationView.contentMode = .scaleAspectFit
animationView.loopMode = .loop
view.addSubview(animationView)
animationView.play()
Android(用 lottie-android):
// build.gradle
dependencies {
implementation("com.airbnb.android:lottie:latest")
}
// Kotlin
val view = findViewById<LottieAnimationView>(R.id.animationView)
view.setAnimation(R.raw.animation)
view.loop(true)
view.playAnimation()
提示工程技巧(获得更好结果)
官方文档给出了几条让 AI 生成更高质量动画的技巧:
-
提供具体素材,不只描述:"提供 SVG、真实数据或截图"比纯文字描述效果好得多。动画基于具体 asset 时,Agent 输出质量显著更高。
-
用运动设计术语:描述时用
ease-in、ease-out、ease-in-out等专业缓动术语,而非"快开始慢结束"这种模糊描述。 -
加入摄像机语言:专业动态图形往往依赖镜头运动,提示中加入"camera push"、"pan"、"zoom"等术语可以让动画更专业。
-
指定帧率和时长:需要精确控制时,在提示中加入目标 FPS 和总帧数,例如 "60fps, 180 frames total"。
-
显式要求可定制属性:默认输出通常只暴露背景色控制,想要其他可配置项(如颜色、速度)需要在提示中明确要求 Agent 创建对应的控制参数。
-
相机运动:"Include camera pushes, pans, zooms, and rig-like motion" 这类提示对专业感提升显著。
典型适用场景
- App 加载动画 / 空状态动画:设计师出图后,开发用 lottie 直接生成 Lottie JSON,不需要 After Effects。
- 营销页交互动效:让 Claude Code 生成动画 JSON,嵌入到 React/Vue 等前端项目。
- 游戏 UI 动画:Lottie 广泛用于游戏内 icon 动画、特效动画。
- 跨平台动画复用:一次生成,iOS/Android/Web 多端使用。
- 快速原型验证:产品经理描述动画意图,Agent 立即生成可运行的动画 demo。
坑与注意
-
Skill 需要 Node.js 环境:Node.js 16+ 是安装 skill 的前提,服务器环境需确认已安装。
-
Agent 输出质量依赖 prompt 质量:lottie 本身不决定动画好不好看,决定因素是描述是否具体清晰。同样是"做一个动画",详细描述路径展开 + 渐变色 + 缓动参数,比"做一个好看的动画"效果好很多。
-
生成的 JSON 仍需人工 review:AI 生成的 Lottie JSON 可能有微小的不规范之处,生产环境建议在 After Effects 或 LottieLab 等工具中预览后再集成。
-
项目成熟度为 research:README 标注成熟度为 research,不建议在 mission-critical 生产流程中完全依赖其输出,建议保持人工审核环节。
-
预览 player 依赖本地服务:Agent 生成的 player.html 需要本地 HTTP 服务才能预览,文件协议下 lottie-web 可能无法正常加载。
-
复杂交互动画受限:纯展示性动画生成效果好,涉及复杂用户交互(如点击触发、分支动画)的 Lottie 场景仍需要手动编码。
-
SVG 质量决定动画基础:输入 SVG 的 geometry 质量直接影响动画效果,脏乱 SVG 生成的动画通常也不理想。
-
Gradient/Lottie 兼容性:Lottie 对某些复杂渐变和滤镜支持有限,Agent 生成的动画如果用了 Lottie 不支持的特性,可能在特定播放器中显示异常。
与同类对比
| 项目 | 定位 | 交互方式 | 输出格式 | 成熟度 |
|---|---|---|---|---|
| diffusionstudio/lottie | AI Coding Agent 生成 Lottie | 自然语言 prompt | Lottie JSON | research |
| LottieFiles AI | Web AI 生成 Lottie | 图形界面 + AI | Lottie JSON | production |
| SVG + Bodymovin | 传统 After Effects 流程 | 图形界面 | Lottie JSON | production |
| Rive | 运行时交互动画 | 图形界面 | Rive 专有格式 | production |
| CSS Animations | Web 原生动画 | 手写代码 | CSS | production |
| GSAP | JavaScript 动画库 | 代码 | DOM/SVG | production |
结论:diffusionstudio/lottie 的差异化在于Coding Agent 集成——你不需要打开任何图形工具,直接在终端或 IDE 对话中描述需求,动画就生成了。对于已经习惯用 Claude Code/Codex 编程的开发者,这是最高效的路径。缺点是目前 research 阶段,不适合对动画质量有严苛要求的商业项目。
一句话推荐结论
diffusionstudio/lottie 是 AI 编程时代生成 Lottie 动画的新姿势——用自然语言让 Agent 写动画代码,适合已经在用 Claude Code/Codex 的开发者快速出原型,但生产级项目仍建议人工 review 输出质量。