Documentation

Everything you need to integrate beautifi into your project.

01 Quick Start

CDN (Simplest)

<script 
  src="https://unpkg.com/@beautifi/plugin" 
  data-api-key="YOUR_API_KEY"
></script>

All images matching img or [data-beautifi] will be animated automatically.

NPM / ES Modules

npm install @beautifi/plugin

import { beautifi } from '@beautifi/plugin';

beautifi.init({
  apiKey: 'YOUR_API_KEY',
  intensity: 'subtle',
  type: 'auto',
  mode: 'auto'  // CSS animation + AI video
});

02 Opt-In Mode

For pages with many images, use opt-in mode to only animate specific images:

<!-- Enable opt-in mode via script tag -->
<script 
  src="https://unpkg.com/@beautifi/plugin" 
  data-api-key="YOUR_API_KEY"
  data-opt-in="true"
></script>

<!-- Mark images to animate -->
<img src="hero.jpg" data-beautifi-animate />
<img src="product.jpg" data-beautifi-animate />

Programmatic Opt-In

beautifi.init({
  apiKey: 'YOUR_API_KEY',
  optIn: true  // Only animate [data-beautifi] images
});

03 Configuration

OptionTypeDefaultDescription
apiKeystringYour API key (required)
selectorstringimg, [data-beautifi]CSS selector for target images
intensitystringsubtlesubtle | medium | strong
typestringautoauto | breathing | parallax | sway
modestringautoauto (CSS + video) | css | video
optInbooleanfalseOnly animate [data-beautifi-animate] images
loopbooleantrueLoop animation continuously
debugbooleanfalseEnable console logging

04 Events

Animation Events

// CSS animation lifecycle
document.addEventListener('beautifi:animationStart', (e) => {
  console.log('Animation started:', e.detail.imageId);
});

document.addEventListener('beautifi:animationComplete', (e) => {
  console.log('Animation finished:', e.detail.imageId);
});

document.addEventListener('beautifi:animationError', (e) => {
  console.error('Error:', e.detail.error);
});

Video Events

// AI video generation lifecycle
document.addEventListener('beautifi:videoStart', (e) => {
  console.log('Video generation started:', e.detail.imageId);
});

document.addEventListener('beautifi:videoReady', (e) => {
  console.log('Video ready:', e.detail.videoUrl);
});

document.addEventListener('beautifi:videoError', (e) => {
  console.log('Video failed, CSS continues:', e.detail.imageId);
});

05 Quick Test

Test beautifi on any page — paste this one-liner in your browser's developer console:

(()=>{const s=document.createElement('script');s.src='https://cdn.jsdelivr.net/npm/@beautifi/plugin/dist/beautifi.min.js';s.onload=()=>{(window.beautifi.beautifi||window.beautifi.default).init({apiKey:'demo',endpoint:'https://api.beautifi.uk/animate',debug:true});console.log('beautifAI loaded!')};document.head.appendChild(s)})();

Full API Reference

Explore all methods, types, and advanced configuration options.

View API Reference →