
What Is palette-from-image-ai?
palette-from-image-ai is a portable Windows desktop application that converts images into usable color palettes. It can analyze screenshots, photographs, game captures, textures, paintings, and other supported image files, then produce an ordered collection of meaningful colors.
Unlike a basic RGB sampling script, the application uses an on-device vision model to segment an image into regions, clusters colors in LAB space with CIEDE2000 perceptual distance, and ranks colors according to how much of the image they represent. The result is designed to preserve meaningful accents, shadows, highlights, and background tones instead of returning several nearly identical swatches.
The application runs offline, requires no account or runtime installation, and stores its profile alongside the executable. It supports Windows 10 and Windows 11 and is distributed as an archive containing an .exe file and a models/ directory.
Key Features
- Region-aware extraction: Segments images before sampling so distinct visual areas remain represented.
- Perceptual clustering: Uses LAB color space and CIEDE2000 rather than relying on naive RGB similarity.
- Role tagging: Labels swatches as base, accent, shadow, highlight, or neutral.
- Harmony modes: Supports analogous, complementary, triadic, and split-complement schemes.
- Palette controls: Choose between 5 and 16 swatches, lock colors, sample individual pixels, and reorder swatches.
- Batch processing: Process a folder of images and create one palette for each file.
- Palette comparison: Use Palette Diff to review how colors changed between two palettes.
- Offline operation: No upload, account, telemetry, or outbound network call is required.
- Optional GPU acceleration: Use the DX12 path for faster processing of large images when supported.
- Flexible exports: Export HEX, RGB, HSL, LAB, ASE, GPL, CSS variables, JSON, PNG, ACO, SKETCH, or SVG output.
System Requirements
The minimum supported operating system is Windows 10 21H2, 64-bit. The recommended environment is Windows 11 23H2 or later with an 8-core AVX2 processor, 16 GB of RAM, a discrete DX12 GPU with 4 GB of VRAM, and an SSD.
The application can also run with an integrated DX11 GPU or entirely on the CPU. The README estimates approximately 5–8 seconds for a 4K image on the CPU and about 1.2 seconds with GPU acceleration enabled. No separate runtime, Python installation, Node.js installation, or administrator privileges are required.
Installation and First Launch
1. Download the archive
Download the Windows archive from the palette-from-image-ai project page. The archive includes the executable and the model files required by the application.
2. Extract the complete folder
Use Windows Explorer's Extract All command and choose a folder you own, such as Documents or a dedicated tools directory. Do not launch the executable from inside the ZIP file. The model files must remain available in the models/ directory, and the application cannot memory-map them correctly from a compressed archive.
3. Start the application
Open the extracted folder and double-click the .exe file. Windows SmartScreen may display a warning because the executable is unsigned. If you trust the download, select More info, then choose Run anyway.
During the first launch, the application creates a small shader cache in ./cache/. This normally takes about three seconds. Later launches use the cache and should start more quickly.
4. Keep the folder structure intact
The application is portable, so there is no installer, registry modification, PATH change, or system-wide runtime. Keep the executable and models/ directory together. To remove the application, close it and delete its extracted folder.
Basic Usage: Create Your First Palette
- Open an image. Drag a PNG, JPG, WEBP, BMP, TIFF, GIF, or AVIF file onto the application window, or choose File > Open Image.
- Choose the swatch count. Use the slider to select between 5 and 16 colors. Five swatches work well for a minimalist interface, eight are suitable for general art direction, and 12–16 can represent detailed textures.
- Select a harmony mode if needed. Choose analogous, complementary, triadic, or split-complement when you want the extracted colors to follow a deliberate color relationship.
- Review the roles. Inspect the automatically assigned base, accent, shadow, highlight, and neutral labels. The labels can be edited when your workflow uses different terminology.
- Lock important colors. If a brand color or required material tone must remain, add or select the swatch and click the lock control before extracting again.
- Refine the result. Drag swatches to reorder them, use the eyeball sampler to select an exact pixel, or adjust the deduplication threshold in the advanced settings.
- Export the palette. Select Export and choose the format required by your workflow. You can also right-click the swatch strip and choose Copy as HEX.
Export Examples
The application can produce formats for design tools, development workflows, documentation, and asset pipelines. For example, CSS variables can be copied into a stylesheet:
--color-1: #xxxxxx;For scripted workflows, JSON preserves more information than a plain list of hexadecimal values, including roles and weights. The command-line interface can write a CSS palette directly:
palette-from-image-ai.exe --input foo.png --count 8 --format css --out palette.cssASE and ACO exports are intended for Adobe workflows, GPL supports GIMP and Inkscape, and PNG or SVG swatch sheets are useful for documents, presentations, and team communication.
Working with Batch Mode
Batch Folder Mode lets you process an entire directory instead of opening images one at a time. Point the application at a folder containing supported files, and it creates one palette per image. Batch processing is multithreaded and works best from a local SSD.
The README notes that network drives can cause batch processing to stall because the segmenter relies on memory-mapped file access. If that happens, copy the image set to a local folder before starting the batch job.
Advanced Palette Controls
Lock swatches before re-extraction
Use locked swatches when a color must survive changes to the source image, swatch count, or other settings. This is useful for brand colors, established UI colors, or a required material tone. After locking a swatch, re-extract the palette and let the application derive the remaining colors around it.
Adjust the deduplication threshold
The threshold controls how aggressively near-duplicate colors are merged. The README recommends lowering it to approximately 2.0 for highly saturated photographic images when the result looks flat. A value around 4.0 is suggested for flat designs or pixel art. The exact setting depends on the source and the amount of variation you want to preserve.
Use custom color distance functions
The default perceptual comparison uses CIEDE2000, but the advanced feature set also supports CMC and CIE94. These alternatives can be useful when a particular production pipeline or comparison method requires them.
Enable GPU acceleration
On compatible systems, enable the DX12 GPU path for faster processing of large images. If the GPU toggle is unavailable, the device does not expose a supported DX12 compute queue. The application remains fully usable in CPU mode.
Use presets and recent palettes
The Preset Manager can save combinations of harmony, swatch count, and threshold settings. Recent Palettes keeps the last 20 palettes available for restoration, which is useful when comparing multiple iterations of an art direction.
Command-Line and Watch-Folder Workflows
CLI Mode makes the portable executable suitable for scripting and build steps. A basic command specifies an input file, swatch count, output format, and destination:
palette-from-image-ai.exe --input foo.png --count 8 --format css --out palette.cssThe CLI also supports the --harmony flag. This allows a script to request a harmony scheme while generating a palette. For automated intake, Watch Folder monitors a directory and processes new images as they appear.
Tips for Better Results
- Use a clean, well-cropped image whenever possible. Clear source images generally produce more useful region segmentation than cluttered screenshots.
- Choose eight swatches and complementary harmony for many UI design tasks; this often produces a practical base, neutral, and accent arrangement.
- Lock essential colors before changing the swatch count or re-extracting.
- Use Palette Diff after an art-direction change to identify which tones moved.
- Export JSON when a build step needs roles, weights, and hexadecimal values rather than colors alone.
- Use the eyeball sampler for manual overrides when an exact pixel value matters.
- Keep batch inputs on a local SSD for better performance.
- Enable color management if you want the eyeball sampler to respect your monitor's ICC profile.
Troubleshooting
- SmartScreen warning: The executable is unsigned. Select More info and then Run anyway if you trust the source.
- Model loading failure: Confirm that the
models/directory is still next to the executable and that the application was extracted from the ZIP. - Flat palette on saturated images: Lower the deduplication threshold to
2.0and extract again. - GPU control is disabled: Use CPU mode when the system lacks a supported DX12 compute queue.
- ASE colors do not appear immediately in Photoshop: Restart Photoshop after importing because it may cache swatches.
- Large TIFF fails to open: Images larger than 200 megapixels may need to be downscaled below 100 megapixels. The 16-bit TIFF path is listed as a roadmap item.
Conclusion
palette-from-image-ai provides an offline, portable way to turn visual references into structured palettes. Its region segmentation, perceptual clustering, role tagging, harmony controls, locked swatches, batch processing, and broad export support make it suitable for web design, game development, illustration, texture work, shaders, and production documentation.
To begin, extract the archive with the models/ folder intact, launch the executable, open an image, tune the swatch count and harmony settings, then export the result in the format your workflow needs.
