Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
chanjing-ai avatar

Lottie

  • 75 installs
  • Updated July 24, 2026
  • chanjing-ai/framevideo

Embed lottie-web and dotLottie animations into FrameVideo compositions so they seek deterministically to the composition time.

About

Provides Lottie and dotLottie adapter patterns for embedding After Effects JSON animations into FrameVideo compositions. A developer uses it to add deterministic, seekable Lottie animations to a video composition.

  • Embed lottie-web and dotLottie players seekable by FrameVideo
  • Register animations on window.__fvLottie for deterministic seeking

Lottie by the numbers

  • 75 all-time installs (skills.sh)
  • Ranked #835 of 1,335 Generative Media skills by installs in the Skillselion catalog
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/chanjing-ai/framevideo --skill lottie

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs75
Last updatedJuly 24, 2026
Repositorychanjing-ai/framevideo

What it does

Embed lottie-web and dotLottie animations into FrameVideo compositions so they seek deterministically to the composition time.

Files

SKILL.mdMarkdownGitHub ↗

Lottie for FrameVideo

FrameVideo can seek both lottie-web and dotLottie players through its lottie runtime adapter. Lottie is a strong fit because the animation timeline is already encoded in the asset; FrameVideo only needs a player object it can seek.

Contract

  • Load assets from local project files, usually under assets/.
  • Set autoplay: false.
  • Prefer loop: false unless the user explicitly wants a loop.
  • Register every returned animation or player on window.__fvLottie.
  • Keep the Lottie container dimensions stable with CSS.

The adapter seeks lottie-web with goToAndStop(timeMs, false) and dotLottie with frame or percentage APIs depending on player shape.

lottie-web Pattern

<div id="logo-lottie" class="lottie-layer"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bodymovin/5.12.2/lottie.min.js"></script>
<script>
  const anim = lottie.loadAnimation({
    container: document.getElementById("logo-lottie"),
    renderer: "svg",
    loop: false,
    autoplay: false,
    path: "assets/logo-reveal.json",
  });

  window.__fvLottie = window.__fvLottie || [];
  window.__fvLottie.push(anim);
</script>
.lottie-layer {
  width: 100%;
  height: 100%;
}

dotLottie Pattern

<canvas id="product-lottie" class="lottie-canvas"></canvas>
<script src="https://unpkg.com/@lottiefiles/dotlottie-web"></script>
<script>
  const player = new DotLottie({
    canvas: document.getElementById("product-lottie"),
    src: "assets/product-flow.lottie",
    autoplay: false,
    loop: false,
  });

  window.__fvLottie = window.__fvLottie || [];
  window.__fvLottie.push(player);
</script>
.lottie-canvas {
  width: 100%;
  height: 100%;
  display: block;
}

Multiple Animations

Push each player into the same registry:

window.__fvLottie = window.__fvLottie || [];
window.__fvLottie.push(backgroundAnim);
window.__fvLottie.push(iconAnim);
window.__fvLottie.push(confettiAnim);

FrameVideo seeks them all to the same composition time.

Good Uses

  • After Effects exports that are already known to render correctly in lottie-web.
  • Logo reveals, icon loops, decorative accents, and product UI motion.
  • Translating Remotion Lottie usage into plain FrameVideo HTML.

Avoid

  • Relying on remote path URLs at render time.
  • Starting playback with play().
  • Assuming unsupported After Effects effects will survive export. Test the JSON or .lottie file in a browser first.
  • Loading a player asynchronously and registering it after FrameVideo validation has already inspected the page.

Validation

After editing a Lottie composition:

npx framevideo lint
npx framevideo validate

Credits And References

  • FrameVideo adapter source: packages/core/src/runtime/adapters/lottie.ts.
  • lottie-web by Airbnb: https://github.com/airbnb/lottie-web
  • lottie-web loadAnimation options: https://github.com/airbnb/lottie-web/wiki/loadAnimation-options
  • dotLottie web player methods by LottieFiles: https://developers.lottiefiles.com/docs/dotlottie-player/dotlottie-web/methods

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.