cd /news/ai-tools/text-to-lottie-generate-lottie-anima… · home topics ai-tools article
[ARTICLE · art-28803] src=github.com ↗ pub= topic=ai-tools verified=true sentiment=↑ positive

Text-to-Lottie: Generate Lottie animations with coding agents

Diffusion Studio released Text-to-Lottie, an open-source framework that enables coding agents like Claude Code or Codex to generate production-ready Lottie animations from text prompts. The tool supports real-time preview, SVG-based animations, and integration with Lottie-web, React Native, and other platforms.

read2 min views1 publishedJun 16, 2026

Text-to-lottie is an open-source framework for generating production ready Lottie animations with claude code/codex or any other coding agent supporting skills.

| |

Install the skill:

npx skills add diffusionstudio/lottie

Then ask your coding agent to generate a Lottie animation using text-to-lottie

.

Example prompt:

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.

The agent sets up the workspace and the included player, where each animation lives as a scene inside a project. Scenes load automatically from public/projects/<project>/<scene>/lottie.json

and live-update in the player as the agent edits them — so you can inspect, scrub, and refine the generated Lottie in real time.

Provide SVGs, real-world data, or screenshots whenever possible. Results are significantly better when the animation is based on concrete assets.

Describe timing and movement using motion design language like ease-in, ease-out, and ease-in-out.

Professional motion graphics often rely on camera movement. Include camera pushes, pans, zooms, and rig-like motion in your prompt. The agent can simulate these through group transforms.

By default, outputs usually only expose a background color control. If you want to customize other properties, explicitly ask the agent to create controls for them.

If your animation requires a specific frame rate or length, include the desired FPS and total frame count in the prompt.

Generated animations can be used directly as Lottie JSON files or imported into After Effects for further refinement.

<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>
python
import LottieView from "lottie-react-native";

export default function () {
  return (
    <LottieView
      source={require("./animation.json")}
      autoPlay
      loop
      style={{ width: 200, height: 200 }}
    />
  );
}

Alternatively, React Native Skia can also render Lottie animations via its Skottie module, including on the web. It lets you customize animation properties, assets, and typographies at runtime, and since Skottie

is a regular Skia drawing, it can be composed into a larger Skia scene alongside shaders, effects, and masks.

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 () {
  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>
  );
}
python
import Lottie

let animationView = LottieAnimationView(name: "animation")
animationView.frame = view.bounds
animationView.contentMode = .scaleAspectFit
animationView.loopMode = .loop
view.addSubview(animationView)
animationView.play()
val view = findViewById<LottieAnimationView>(R.id.animationView)
view.setAnimation(R.raw.animation)
view.loop(true)
view.playAnimation()
dependencies:
  lottie: ^latest
import 'package:lottie/lottie.dart';

Lottie.asset('assets/animation.json')
── more in #ai-tools 4 stories · sorted by recency
── more on @diffusion studio 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/text-to-lottie-gener…] indexed:0 read:2min 2026-06-16 ·