ai-image-editor / README.md
official.ghost.logic
Add AI-enhanced palette swap using K-means as context
da4e826

A newer version of the Gradio SDK is available: 6.8.0

Upgrade
metadata
title: AI Image Editor - Palette Swapper
emoji: 🎨
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: 6.4.0
app_file: app.py
pinned: false

AI Image Editor - Palette Swapper

Upload an image, extract its color palette, then swap colors using color theory harmonies with AI-enhanced recoloring.

Features

  • Color Palette Extraction: K-means clustering extracts dominant colors with proportions
  • Intelligent Palette Transform: Preserves tonal relationships (light/dark, saturated/muted)
  • Color Harmonies: Complementary, Analogous, Triadic, Split-Complementary, Tetradic, Monochromatic
  • AI-Enhanced Recoloring: InstructPix2Pix uses your K-means palette as context to recolor naturally
  • Reference Image: Extract palette from another image to apply
  • Custom Mapping: Dropdown controls to map source colors to target colors

How It Works

  1. Upload an image to extract its color palette (K-means clustering)
  2. Pick a base color - this becomes the new dominant color
  3. Choose a harmony type - determines how other colors branch from the base
  4. Generate the target palette (preserves tonal relationships from source)
  5. Apply the palette swap:
    • Basic mode: Pixel-level color replacement based on K-means distance
    • AI mode: InstructPix2Pix uses your palette mapping as context to recolor while preserving lighting, textures, and natural transitions

The Hybrid Architecture

Your K-means algorithm provides the "what" and "where":

  • Identifies dominant color clusters
  • Generates masks for each color region

The AI provides intelligent application:

  • Understands scene context (sky vs. shirt vs. car)
  • Preserves shadows, highlights, and textures
  • Creates natural color transitions

Tech Stack

  • Gradio: Web interface
  • InstructPix2Pix: AI-enhanced recoloring (via diffusers)
  • scikit-learn: K-means clustering for palette extraction
  • Pillow: Image processing
  • colorsys: HSV color space transformations