Generate NES-style pixel art sprites using AI models.
- Generate 8-bit style pixel art with customizable dimensions and color palette
- Multiple AI model support (OpenAI, Claude, Gemini)
- Command-line interface
- Web interface for easy use
- Optimized palette management for true NES aesthetics
# Install from the repository
git clone https://github.com/MatthewPDingle/nes-sprite-generator.git
cd nes-sprite-generator
pip install -e .# Generate a single sprite
nes-sprite-generator single "A warrior with sword and shield" --width 16 --height 24 --colors 32
# Use a different model
nes-sprite-generator single "A ninja character" --model "claude-3-7-sonnet-low"
# List available models
nes-sprite-generator modelsOptions:
--width: Width of sprite in pixels (default: 16)--height: Height of sprite in pixels (default: 16)--colors: Maximum colors in palette (default: 16)--style: Style description (default: "2D pixel art")--model: AI model to use (default: "gemini-2.0-flash-exp")--versions: Number of versions to generate (default: 1)--resize-method: Method for resizing (default: "bilinear")--output: Output filename (default: "pixel_art.png")
# Start the web server
python run_webapp.pyThen open http://localhost:5000 in your browser.
from nes_sprite_generator.api import generate_sprite, list_available_models
# Generate a sprite
result = generate_sprite(
prompt="A ninja character",
width=16,
height=24,
colors=32,
output="ninja.png"
)
# Generate using a different model
result = generate_sprite(
prompt="A spaceship",
width=32,
height=32,
model="claude-3-7-sonnet-low",
output="spaceship.png"
)
# Get available models
models = list_available_models()- OpenAI: GPT-4o, GPT-4o-mini, o3-mini
- Anthropic: Claude 3.7 Sonnet, Claude 3 Opus
- Google: Gemini Pro, Gemini Flash
- gemini-2.0-flash-exp: Uses direct image generation capabilities instead of pixel grid generation, resulting in higher quality sprites. The generated image undergoes a specialized post-processing pipeline to create true NES-style sprites.
- Python 3.8+
- Pillow
- AI API keys for the respective services
Install additional dependencies for enhanced features:
# Install with enhanced color processing capabilities
pip install -e ".[enhanced]"Enhanced features include:
- Perceptually accurate color quantization using K-means clustering in CIELAB color space
- Better preservation of original colors when reducing color palette
- Improved handling of color transitions and subtle hues