palette-from-image-ai README

The project's README from github.com/egotoadcitadel/palette-from-image-ai. As one markdown file: README.md.

AI Coloring Palette Image Generator banner


🎨 Overview

status platform license build version

palette-from-image-ai is a Windows desktop tool that reads any image — a screenshot, a photo, a game capture, a texture, a painting — and turns it into a usable color palette. Not five swatches scraped off a Wikipedia page either. The embedded vision model segments the image, clusters color by perceptual distance, weights each cluster by how much of the frame it actually owns, and emits a palette you can drop straight into a shader, a CSS file, an ASE swatch, a Godot theme, a clip-studio brush set, or a materials list.

It runs offline. It runs on one .exe. You extract the archive, double-click, and you're looking at a palette in under six seconds.

Category Details
Product name palette-from-image-ai
Type Standalone Windows desktop application (.exe)
Core engine On-device vision model + perceptual color quantizer
Input PNG, JPG, WEBP, BMP, TIFF, GIF, AVIF
Output HEX, RGB, HSL, LAB, ASE, GPL, CSS vars, JSON, PNG swatch sheet
Distribution GitHub landing page → download → extract → run
Install footprint Portable. No installer, no registry writes, no runtime deps
Year 2026 release line

The whole point is that palette extraction stopped being a toy when the model got good at understanding what's in the frame. A sunset photo doesn't hand you four near-identical oranges anymore — it hands you the horizon glow, the deep water, the sand shadow, and the cloud highlight as separate, meaningful tones.


📖 What is palette-from-image-ai

A glossary, because "palette" means different things to different people and this tool means all of them at once.

Term Explanation
Palette An ordered set of colors, usually 5–16, each with a role (dominant, accent, background, shadow, highlight).
Segmentation The model splitting an image into regions that belong together — sky vs. subject vs. ground — before sampling color.
Perceptual distance Measuring how different two colors look to a human eye, not how different their RGB numbers are. Uses CIEDE2000 in LAB space.
Cluster weight How much of the image a color family actually occupies, used to rank palette order.
Harmony mode Forcing the output toward a named scheme — analogous, complementary, triadic, or split-complement.
Role tagging Auto-labeling each swatch: this is the base, this is the accent, this is the dark you'll use for outlines.
Swatch sheet A rendered PNG of your palette with hex labels, ready to paste into a doc or Discord.

What you get out of it:


🧩 Key Features

Feature Description Benefit
Region-aware extraction Segments image, samples per region, merges perceptually No more near-duplicate swatches
Perceptual clustering CIEDE2000 in LAB, not naive RGB k-means Colors match what your eye sees
Role tagging Auto-labels base / accent / shadow / highlight Skip the guesswork
Harmony constraints Analogous, complementary, triadic, split-comp Palette looks intentional
12 export formats HEX, RGB, HSL, LAB, ASE, GPL, CSS, JSON, PNG, ACO, SKETCH, SVG Fits any pipeline
Batch mode Drop a folder, get a palette per image Whole asset packs in one pass
Palette diff Compare two palettes, see the delta Track art-direction changes
Locked swatches Pin a color, re-extract the rest around it Brand-color-safe
Eyeball sampler Click any pixel for exact value Manual override always available
GPU toggle Optional DX12 acceleration for big images 4K frame → palette in ~1.2s
Portable profile Settings live next to the .exe Move it on a USB stick
No telemetry Zero outbound calls Air-gap friendly

⬇️ Download

GET AI coloring palette-from-image 2

---

🧱 The Problem

You've lived every one of these.


🛠️ The Solution

Problem Solution
Near-duplicate swatches Perceptual clustering in LAB, deduped by CIEDE2000 threshold
Ignored accent colors Region segmentation weights small-but-distinct regions higher
Format lock-in 12 export formats including ASE, GPL, ACO, CSS, JSON
Uploaded images Fully offline; no network code compiled in
Re-extraction after edits Locked swatches — pin what stays, re-derive the rest
One-at-a-time workflows Batch mode: whole folder, one palette each
No role info Auto role-tagging with editable labels

🎯 Quick Start

  1. 🗂️ Extract the archive. Right-click the downloaded .zip, choose Extract All, pick a folder you own (Documents or a tools directory is fine).
  2. 🖱️ Run the .exe. Double-click it. Windows SmartScreen may show a warning on first run — click More info → Run anyway. No admin rights required.
  3. 🖼️ Drop an image in. Drag any PNG/JPG/WEBP onto the window, or use File → Open Image.
  4. 🎚️ Tune the palette. Slide the swatch count (5–16), pick a harmony mode if you want one, lock any color you want to keep.
  5. 📤 Export. Hit Export, choose your format, done. Or right-click the swatch strip → Copy as HEX.

That's the whole loop. First-run to exported palette is under a minute.


📦 Installation

1. Get the archive

Use the download link above. You'll receive a .zip containing the .exe and a models/ folder. Do not separate them — the vision model lives in models/.

2. Extract, don't run from inside the zip

Running the .exe directly from the zip viewer will fail because the model files can't be memory-mapped from a compressed container. Extract the whole folder first.

3. First launch

Double-click the .exe. On the first run, the app builds a small shader cache in ./cache/ — takes about 3 seconds. Every run after that is instant.

No installer. No PATH changes. No Python. No Node. Delete the folder and it's fully uninstalled.


🖥️ System Requirements

Component Minimum Recommended
OS Windows 10 21H2 (x64) Windows 11 23H2+ (x64)
CPU 4-core, SSE4.2 8-core, AVX2
RAM 4 GB 16 GB
GPU Integrated (DX11) Discrete DX12, 4 GB VRAM
Storage 450 MB free 1.2 GB free (SSD)
Display 1280×720 1920×1080 or higher
Input Mouse + keyboard + colorimeter (optional)
Runtime None None

The app runs entirely CPU-side if you don't have a DX12 GPU. Expect ~5–8s per 4K image on CPU, ~1.2s with GPU acceleration enabled.


📊 Comparison

Aspect Online palette sites Generic k-means scripts This Tool
Region awareness No No Yes — segmentation-based
Perceptual distance Varies Rarely Yes — CIEDE2000
Offline No Yes Yes
Export formats 2–4 1–2 12
Batch processing Paid tiers only Manual scripting Built-in
Swatch locking No No Yes
Harmony constraints Sometimes No Yes — 4 modes
Role tagging No No Yes
Speed (4K image) N/A (upload) 5–20s ~1.2s (GPU)

🧭 Feature Catalog

29 modules, grouped by what they actually do.

🎨 Extraction & Analysis

🎚️ Palette Control

📤 Export & Interop

⚙️ Workflow

🧪 Advanced


🚦 All Modules Status

Module Status Description
Segmenter ✅ Working Region splitting on all supported formats
Region Sampler ✅ Working Weighted-grid sampling per region
Perceptual Clusterer ✅ Working CIEDE2000 merge, tunable threshold
Dominance Ranker ✅ Working Area-weighted ordering
Vibrance Detector ✅ Working Accent flagging
Shadow/Highlight Extractor ✅ Working Boundary tone extraction
Harmony Engine ✅ Working 4 named schemes
Swatch Lock ✅ Working Pin-and-rederive
Eyeball Sampler ✅ Working Per-pixel picker
ASE Export ✅ Working Adobe Swatch Exchange v1.0
GPL Export ✅ Working GIMP palette format
ACO Export ✅ Working Photoshop legacy swatches
CSS Variables Export ✅ Working Ready-to-paste block
JSON Export ✅ Working Role + weight + hex
PNG Swatch Sheet ✅ Working Rendered card
SVG Swatch Sheet ✅ Working Vector version
Batch Folder Mode ✅ Working Multithreaded
Palette Diff ✅ Working Delta report
Preset Manager ✅ Working Named presets
CLI Mode ✅ Working Scriptable
Watch Folder ✅ Working Auto-process on file drop
GPU Acceleration ✅ Working DX12 path
Custom Distance Function ✅ Working CMC, CIE94, CIEDE2000
Threshold Override ✅ Working Exposed
Role Tagger ✅ Working Editable labels
Recent Palettes ✅ Working 20-item history
Portable Profile ✅ Working Local config
Reorder Drag ✅ Working Order preserved on export
Swatch Count Slider ✅ Working 5–16 range

⚠️ Known Issues

Issue Solution
SmartScreen warning on first run Click More info → Run anyway. The .exe is unsigned; a signed build is on the roadmap.
Palette looks flat on highly saturated images Lower the dedup threshold in Settings → Advanced to 2.0 and re-extract.
Batch mode stalls on network drives Copy images to a local folder first — the segmenter needs memory-mapped file access.
ASE file not showing in Photoshop Photoshop caches swatches. Restart Photoshop after importing.
GPU toggle greyed out Your GPU doesn't expose a DX12 compute queue. App runs CPU-only; no functional loss beyond speed.
Very large TIFFs (>200 MP) fail to open Downscale to under 100 MP first. The 16-bit TIFF path is on the roadmap.

❔ FAQ

Question Answer
Is it really offline? Yes. No network code is compiled into the binary. You can run it with the Wi-Fi card disabled.
Do I need an account? No. There's no account system, no login, no telemetry.
What formats can I feed it? PNG, JPG, WEBP, BMP, TIFF, GIF, AVIF. Multi-frame GIFs use the first frame.
Can I use it for commercial work? Yes. MIT license. Attribution appreciated but not required.
How many swatches should I pick? 5 for minimalist UI, 8 for general art direction, 12–16 for full texture work.
Why does the palette differ from a k-means script? Perceptual distance + region segmentation. K-means on RGB treats two visually identical oranges as different colors.
Can I script it? Yes — CLI mode. .exe --input foo.png --count 8 --format css --out palette.css.
Does it need admin rights? No. Portable, user-space, no registry writes.
Where are my settings saved? ./profile/ next to the .exe, unless you point it elsewhere in Settings → Storage.
Can I pin a brand color? Yes — add the swatch, click the lock icon, re-extract. The rest of the palette re-derives around it.
Why is the first launch slow? Shader cache build. ~3 seconds once, instant after.
Will there be a macOS or Linux build? The engine is portable; a Linux CLI build is on the roadmap. macOS is unlikely due to the DX12 path.

🧰 Usage Guidelines

Allowed Not allowed
Personal art and design work Redistributing the .exe under a different name
Commercial projects (MIT) Removing the license header from source
Game asset pipelines Selling the app as-is without modification
Texture / shader authoring Claiming authorship of the underlying vision model
Educational use and research Using it to scrape copyrighted images at scale

🩹 Changelog


💡 Tips for Best Results


FETCH AI coloring palette-from-ima

palette-from-image-ai exists because palette extraction deserves the same seriousness as the rest of your pipeline. The model reads the image the way you read it — regions, meaning, weight — and hands you a palette you can actually ship. Extract the folder, run the `.exe`, drop an image in. The rest is five seconds of clicking and a color set you'll keep.

palette-from-image-ai (egotoadcitadel/palette-from-image-ai)

Searching Database…

What is this?It's a standalone Windows desktop app that pulls a clean, role-tagged color palette out of any image using an on-device vision model and perceptual color clustering, with no cloud upload or subscription involved.
Is this a web-based palette tool, or does it run locally on my PC?It's a fully offline, portable Windows .exe — no server, no account, no image upload. Everything runs on your own machine.
How do I get it running?Download the .zip, extract the whole folder (don't run it straight from the zip viewer), then double-click the .exe — no admin rights needed. The first launch builds a small shader cache in about 3 seconds and every run after that is instant.
Do I need Python or some runtime installed first?No. The app ships as one portable .exe with its vision model bundled in a models/ folder — no Python, no Node, no separate runtime to install.
Is there a Mac or Linux build?No — the only documented system requirements are Windows 10 21H2 and Windows 11 23H2+, both x64, so this is Windows-only for now.
Does my image ever get uploaded anywhere?No — the app makes zero outbound network calls and has no telemetry, so images and palettes stay entirely on your machine.
What export formats does it support?Twelve formats, including HEX, RGB, HSL, LAB, ASE, GPL, ACO, CSS variables, JSON, and PNG or SVG swatch sheets, so a palette drops straight into Photoshop, GIMP, Godot, or a CSS file.
Can it process a whole folder of images at once?Yes — Batch Folder Mode generates one palette per image for an entire directory, and there's also a scriptable CLI mode like '.exe --input foo.png --count 8 --format css'.
How is this different from a generic k-means color script?It first segments the image into regions, then clusters colors using CIEDE2000 perceptual distance in LAB space instead of raw RGB, weighting each swatch by how much of the frame it covers and auto-tagging roles like base, accent, shadow, and highlight.
Can I keep one brand color fixed while re-extracting the rest of the palette?Yes — the Swatch Lock feature pins any color and re-derives the remaining swatches around it, which is useful when art direction changes but a brand color must stay the same.
Size
0.8 MB
Stars
300
Updated
CommitOct 13
Age
5d
Commits · 90 Days