sprite-animator

Generate animated pixel art sprite GIFs from any image using AI (Gemini). Use when the user wants to create pixel art animations, sprite sheets, animated character GIFs, or convert photos/drawings into retro game-style animated sprites. Supports idle, wave, bounce, and dance animations.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "sprite-animator" with this command: npx skills add olafs-world/sprite-animator/olafs-world-sprite-animator-sprite-animator

Sprite Animator

Turn any image into an animated pixel art sprite GIF. Uses Gemini image generation to create 16-frame sprite sheets, then assembles them into looping GIFs.

Requirements

  • GEMINI_API_KEY or GOOGLE_API_KEY env var must be set
  • Install: uv tool install sprite-animator (or uvx sprite-animator for one-off runs)

Quick Usage

# Best quality for photos — two-step converts to pixel art first, then animates
sprite-animator -i photo.png -o dance.gif -a dance --two-step -s 256 -r 2K

# From drawings or pixel art (single step is fine)
sprite-animator -i drawing.png -o idle.gif -a idle -s 256 -r 2K

Animation Types

  • idle — gentle breathing + blink (default)
  • wave — arm raise → wave → return
  • bounce — crouch → jump → land
  • dance — lean, spin, jump — full party mode

Key Options

FlagDescriptionDefault
-iInput image pathrequired
-oOutput GIF pathrequired
-aAnimation type (idle/wave/bounce/dance)idle
-sOutput sprite size in px128
-rGeneration resolution (1K/2K)1K
-dFrame duration in ms100
--two-stepPixelate first, then animate (better for photos)off
--keep-sheetSave raw sprite sheetoff
--keep-framesSave individual frame PNGsoff

Tips

  • Use --two-step for photos of real people — Gemini loses likeness otherwise
  • Use -r 2K for noticeably better quality
  • Use -d 180 for more natural playback speed (default 100ms is fast)
  • Save good base pixel art sprites and reuse them for different animations
  • On Telegram, send GIFs as documents to avoid MP4 conversion

Python API

from pathlib import Path
from PIL import Image
from sprite_animator.cli import ANIMATION_PRESETS, generate_sprite_sheet, create_gif, call_gemini, get_api_key
from sprite_animator.template import create_template, extract_frames

api_key = get_api_key()
preset = ANIMATION_PRESETS["dance"]

# Create template and generate sprite sheet
template = create_template(cols=4, rows=4, labels=preset["labels"])
template.save("template.png")

generate_sprite_sheet(
    api_key=api_key,
    input_image=Image.open("input.png"),
    template_path=Path("template.png"),
    output_path=Path("sheet.png"),
    prompt=preset["prompt"],
    resolution="2K",
)

# Extract frames and build GIF
frames = extract_frames(Image.open("sheet.png"), cols=4, rows=4)
create_gif(frames, Path("output.gif"), frame_duration=180, size=256)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

flight-search

No summary provided by upstream source.

Repository SourceNeeds Review
General

airbnb-search

No summary provided by upstream source.

Repository SourceNeeds Review
General

51mee Resume Parse

简历解析。触发场景:用户上传简历文件要求解析、提取结构化信息。

Registry SourceRecently Updated
General

51mee Resume Match

人岗匹配。触发场景:用户要求匹配简历和职位;用户问这个候选人适合这个职位吗;用户要筛选最匹配的候选人。

Registry SourceRecently Updated