pixel-art

Convert images into retro pixel art PNGs and animated MP4 or GIF scenes.

Updated Jun 5, 2026
One-click install
npx skills add https://github.com/xu1713/openhorse --skill pixel-art-xu1713
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pixel-art
Source: https://github.com/xu1713/openhorse/tree/main/openhorse/openhorse/skills/creative/pixel-art
Command: npx skills add https://github.com/xu1713/openhorse --skill pixel-art-xu1713

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires Pillow, ffmpeg, and includes scripts (resource) and references (resource) components.

What problem does it solve? Turning ordinary photos or images into era-accurate retro pixel art normally requires manual palette work and frame-by-frame animation; this Skill automates both conversion and animation with hardware-accurate palettes and procedural effects. ## Core Features & Use Cases - Image to Pixel Art: Convert any image to a pixel-art PNG using Floyd-Steinberg dithering with 14 presets (arcade, NES, Game Boy, PICO-8, C64, SNES, and more) and 28 named palettes. - Animated Scenes: Overlay procedural effects like rain, snow, fireflies, embers, and lightning onto the pixel art and encode the result as an MP4 or looping GIF via ffmpeg. - Use Case: A game developer needs a Game Boy-style avatar for a profile page and a short animated night-scene banner for social media; they convert a photo with the gameboy preset, then animate it with the night scene in one workflow. ## Quick Start Convert my photo portrait.jpg into NES-style pixel art and animate it as a 6-second night scene MP4 with a GIF export.

Frequently Asked Questions about pixel-art

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I convert an image to pixel art in Python?

Call pixel_art(input_path, output_path, preset="nes") from the pixel_art.py script, or run it from the CLI with python pixel_art.py in.jpg out.png --preset nes. It enhances contrast, downscales with nearest-neighbor, quantizes with Floyd-Steinberg dithering, and upscales back.

How do I animate a pixel art image into an MP4 or GIF?

Use pixel_art_video(base_image, output_path, scene="night", duration=6, export_gif=True) to overlay procedural effects like stars, rain, or snowflakes and encode via ffmpeg. Setting export_gif=True also writes a looping GIF alongside the MP4.

What retro palettes and presets are available for pixel art conversion?

There are 14 presets including arcade, snes, nes, gameboy, pico8, c64, and mspaint, backed by 28 named palettes such as NES, GAMEBOY_ORIGINAL, PICO_8, and ZX_SPECTRUM. Any preset's palette, block size, or enhancement values can be overridden per call.

Does pixel art video generation require ffmpeg?

Yes, ffmpeg must be on PATH for video encoding; the script raises a RuntimeError if it is missing. Still-image conversion with pixel_art() only needs Pillow and works without ffmpeg.

Why does my pixel art look wrong with very small source images?

Sources under about 100 pixels wide collapse under 8-10px block sizes, destroying detail. Upscale the source image first, or choose a preset with a smaller block size such as snes (4px) or pico8 (6px).