Getting Started
What is DKPhotoSorter?
A Windows desktop application that uses AI (Google Gemini or OpenAI) to automatically sort your photos into organized folders by location, venue, and date. Point it at a folder of unsorted photos, and it creates a clean hierarchy like State / City / Venue / Date.
What operating systems are supported?
Windows 10 and Windows 11. The app runs as a native Windows desktop application — no browser or cloud account needed.
Do I need an API key?
Yes — you bring your own API key from either Google Gemini or OpenAI. Gemini offers a free tier (no credit card required) that can sort about 17 photos per day. For larger collections, enable billing on your Gemini key or use OpenAI (pay-as-you-go).
How do I get a Google Gemini API key?
Go to aistudio.google.com/apikey, sign in with your Google account, and create an API key. Paste it into the app. No credit card is required for the free tier.
How do I get an OpenAI API key?
Go to platform.openai.com/api-keys, create an account, add a payment method, and generate an API key. Paste it into the app.
Pricing & Costs
Is this a subscription?
No. DKPhotoSorter is a one-time purchase on Gumroad. The only ongoing cost is the AI API usage from Google or OpenAI, which you control directly.
How much does sorting cost?
With Gemini Flash (default): about $0.19 per 100 photos. With Flash Lite: about $0.04 per 100 photos. With OpenAI GPT-4.1 Mini: about $0.32 per 100 photos. Re-analyzing cached photos costs $0.00.
What is the Gemini free tier?
Google offers approximately 25 free API calls per day for the Gemini Flash model — enough for about 17 photos. The quota resets at midnight Pacific time. No credit card required. Note: the free tier is not available in the EU/EEA, UK, or Switzerland.
Can I set a spending limit?
Yes. The app includes a built-in cost limit feature. Set your maximum spend and the sort will stop when the limit is reached.
Do re-runs cost money?
No. Results are cached by file content and AI model. Re-analyzing the same photos with the same model costs nothing. This means you can dry-run first, review the results, then do a real run — and the analysis is already paid for.
How It Works
What folder structure does it create?
For trips and travel: State / City / Venue / Date (e.g., Colorado / Denver / Red Rocks / 2025-04-07). For everyday shots: category folders like Home, Family, Holiday, Screenshot. International trips get Country / City prefixes.
Does it move or copy my photos?
Your choice. Move mode (default) relocates files to the sorted folders. Copy mode keeps your originals untouched and creates organized copies.
What if I don't like the results?
Every sort creates a manifest file. Click the Undo button in the app and all photos are moved back to their original locations instantly.
Can I preview before sorting?
Yes. Dry Run mode analyzes and shows you exactly what would happen without actually moving any files. The analysis results are cached, so the subsequent real run doesn't cost anything extra.
What is "trip detection"?
Photos taken more than 80km from your home address automatically get geographic prefixes (State/City for US, Country/City for international). You set your home address once and it just works.
What about non-GPS photos with recognizable locations?
DKPhotoSorter uses AI geo inference to identify locations from folder names. Named landmarks (Statue of Liberty), city skylines (Chicago Skyline), and location-specific venues get State/City hierarchy even without GPS data. Multi-city chains like Olive Garden or McDonald's are correctly skipped.
Privacy & Security
What data is sent to the AI?
Only resized JPEG thumbnails — never your original full-resolution photos. File names and folder paths are never sent.
Are my API keys secure?
Yes. API keys are stored in Windows Credential Manager via the keyring library. Each key is only transmitted to its respective provider (Gemini key to Google, OpenAI key to OpenAI).
Does the developer collect any data?
No. Zero telemetry, no servers, no analytics, no crash reporting. The app communicates only with your chosen AI provider, OpenStreetMap, and Gumroad for license verification.
Is the Gemini free tier private?
On the free tier, Google may use submitted thumbnails and responses to improve products, and human reviewers may view them. On the paid tier, Google does NOT use your data for training. See our Privacy Policy for full details.
What about GDPR (EU/EEA)?
EU/EEA users must use a paid Gemini API key (free tier is not available in those regions). Both Google and OpenAI offer Data Processing Addendums (DPAs). GPS reverse geocoding is performed entirely offline.
Technical
What image formats are supported?
13 image formats: JPG, JPEG, PNG, HEIC, HEIF, WebP, AVIF, TIFF, TIF, BMP, JFIF, JP2, J2K. iPhone HEIC photos work natively — no conversion needed. Non-photo files (videos, audio, documents, spreadsheets, presentations, archives) are automatically sorted into category folders without AI analysis.
What happens to non-photo files?
Non-photo files are automatically detected during the scan and sorted into category folders:
_Video (MP4, MOV, AVI, etc.), _Audio (MP3, WAV, M4A, etc.), _Documents (PDF, DOC, TXT, etc.), _Spreadsheets (XLS, XLSX, CSV, etc.), _Presentations (PPT, PPTX, etc.), and _Archives (ZIP, RAR, 7Z, etc.). No AI analysis is performed — they are organized alongside your sorted photos at zero cost.
How does offline geocoding work?
The app bundles a GeoNames database with 400,000+ places. GPS coordinates from your photos are converted to city/state/country names entirely on your computer — no internet call needed.
What is duplicate detection?
DKPhotoSorter detects exact duplicate photos using SHA-256 hashing during the initial scan, before any AI analysis. It also checks against photos already in the output directory from previous runs, so re-running won't create duplicates even if the cache was deleted. The first occurrence goes to its normal sorted folder; subsequent byte-identical copies are routed to a
_Duplicates folder. Enabled by default ("Skip Duplicates" checkbox in the GUI, --dedup CLI flag).
What is subject normalization?
900+ built-in rules that clean up AI output for consistency. Hotels become "Travel," cruise ships become "Cruise Ship," restaurants get venue name subfolders (e.g. Restaurant/Olive Garden/), vehicles and beverages are auto-detected, Disney parks are grouped under "Disney," beaches and national parks get their own parent folders, various spellings are deduplicated, and screenshots and receipts are automatically grouped. Parent categories include Disney, Concerts, Shows, Kids Activities, Zoo & Aquarium, Amusement Parks, Fairs, Circus, Beaches, National Parks, Races, Museums, Sporting Events, Vehicle, Beverage, Airport, and Restaurant.
How does the cache work?
Each photo is identified by its SHA256 content hash plus the AI model name. If the same file is analyzed again with the same model, the cached result is used instantly at no cost. The cache also tracks keyword and tag city settings — if you change these, affected photos are automatically re-analyzed with the new context.
What are the system requirements?
Windows 10 or 11, an internet connection (for AI analysis and license verification), and a Google Gemini or OpenAI API key. The app itself is lightweight and runs on any modern Windows PC.