Real AI agent use cases, with sources and setup prompts
How to organize and search your photo library with AI (Immich, Google Photos, Videre)
Short answer: If your photos are already in Google Photos or iCloud, start there: both search by what's in the picture, and Google's Gemini-powered Ask Photos (mobile app, 18+, select countries) answers questions like 'where did we camp last summer?'. To own the library and stop paying for cloud storage, run Immich: free, open-source software (AGPL-3.0, latest v3.3.5 from Oct 21, 2026) that runs in Docker on a computer with 6-8 GB of RAM, backs up your phone automatically, recognizes faces and lets you search in plain words ('dog on a beach at sunset') with a CLIP model running on your own machine. Move an existing Google Photos or iCloud library into it with the free immich-go tool. On an Apple Silicon Mac, Videre indexes the folders you already have, finds duplicates and has an MCP server so Claude can search and tidy the library for you. Keep a second backup either way.
Real setups: Claude searching and de-duplicating a local library through Videre's MCP server, nine Claude Code agents sorting 14 years of family photos overnight, and an AI search over every photo and video frame on a Mac. 2 matching use cases below, each with a public source.
Command-line importer for Google Takeout ZIPs, iCloud exports and plain folders; keeps dates, albums and GPS from Google's JSON sidecars. Latest v0.32.0.
Prices are from each official page, checked Oct 27, 2026; they exclude tax and can change. Swipe the table sideways on a phone.
Run Immich at home as your private Google Photos
About 30-45 minutes plus import time. Needs Docker and a computer that stays on: Linux is recommended, Docker Desktop on Mac or Windows works. Plan on 6 GB RAM minimum (8 GB recommended) and 2-4 CPU cores.
Download the official files. Use the files from the latest release so the versions match. Put the folder on a disk with room for your whole library plus 10-20% for thumbnails.
Edit .env. UPLOAD_LOCATION is where photos are stored; DB_DATA_LOCATION must be a local disk, not a network share or NTFS. On Windows set DB_DATA_LOCATION=pgdata so Docker keeps the database in a volume. Use docker compose (with a space), not the old docker-compose.
text
# .env (edit these lines, leave the rest)
UPLOAD_LOCATION=./library
DB_DATA_LOCATION=./postgres
TZ=America/New_York
IMMICH_VERSION=v3
# letters and numbers only
DB_PASSWORD=ChangeThisToALongRandomPassword123
Start it and create the admin.
shell
docker compose up -d
# then open http://<this-computer-ip>:2283 and create the admin account
docker compose ps # all containers should say running/healthy
docker compose logs -f immich-server # watch for errors, Ctrl+C to stop
The first sign-up becomes the admin. Under Administration you can add family members as separate users.
Back up your phone. Install the Immich app (iOS or Android), enter the server address http://<computer-ip>:2283 and sign in. Tap the cloud icon, choose which albums to back up (Recents or Camera covers everything) and turn on background backup. The first backup is fastest on Wi-Fi with the phone charging.
Search and name faces. After the background jobs finish (Administration > Jobs shows progress), open People and name each face group. Search accepts plain descriptions plus filters for people, places, dates, camera and text in the image. For better results, Administration > Settings > Machine Learning Settings > Smart Search lets you pick a larger CLIP model; then run Smart Search 'All' on the Jobs page.
Keep it updated. Read the release notes before big updates, then pull the new images.
shell
cd ./immich-app
docker compose pull && docker compose up -d
Move your Google Photos or iCloud library into Immich
For libraries of any size. The import keeps capture dates, albums and locations that a plain ZIP upload would lose.
Export from Google. Go to takeout.google.com, click Deselect all, tick only Google Photos, Next step, choose .zip and 50 GB file size, then Create export. Download every part when the email arrives. For iCloud, request a copy at privacy.apple.com or export originals from the Photos app on a Mac.
Create an API key. In Immich's web app, click your avatar > Account Settings > API Keys > New API Key, give it a name and copy it. Treat it like a password.
Install immich-go. Download the build for your system from the Releases page of github.com/simulot/immich-go, unzip it and put immich-go somewhere on your PATH (or run it from that folder as ./immich-go).
Import the Takeout. Point it at all ZIP parts at once. Stacking keeps RAW+JPEG pairs and burst shots together instead of as duplicates.
shell
# after downloading the immich-go release for your OS from GitHub and unzipping it
immich-go upload from-google-photos \
--server=http://localhost:2283 \
--api-key=YOUR_API_KEY \
--manage-raw-jpeg=StackCoverRaw \
--manage-burst=Stack \
/downloads/takeout-*.zip
Very large libraries. Pausing Immich's background jobs during the upload and continuing past single-file errors keeps a 100,000-photo import from stalling.
shell
# large libraries: slower but steadier
immich-go upload from-google-photos \
--server=http://localhost:2283 --api-key=YOUR_API_KEY \
--concurrent-tasks=4 --client-timeout=60m \
--pause-immich-jobs=true --on-errors=continue \
/downloads/takeout-*.zip
iCloud exports and old drives.
shell
# an iCloud Photos export
immich-go upload from-icloud --server=http://localhost:2283 --api-key=YOUR_API_KEY /downloads/icloud-export
# any folder of photos (old hard drive, phone dump)
immich-go upload from-folder --server=http://localhost:2283 --api-key=YOUR_API_KEY /Volumes/OldDrive/Pictures
When the counts match, spot-check a few albums and dates before you delete anything from the old service.
Let Claude search and tidy a Mac photo folder with Videre
For photos already sitting in folders on an Apple Silicon Mac (Linux works but skips HEIC and video frames). Nothing is uploaded; files are never moved or renamed unless you run a fix command.
Install and scan.
shell
brew install aegea-dev/tap/videre
# or: curl -fsSL https://videre.sh/install | sh
cd ~/Pictures
videre scan # builds ~/Pictures/.videre/hashes.db; does not change photos
Find duplicates safely. Review before removing anything. Trash is undoable; delete is permanent.
shell
videre dedupe # list which copies could go
videre dedupe review # compare them side by side in the browser
videre dedupe trash # move the copies to the Trash (undo: videre dedupe undo)
videre dedupe --kind resized # same photo at another size, e.g. WhatsApp copies
Search by meaning and name faces.
shell
videre embed # one time; downloads about 1.5 GB of model data
videre search "golden gate bridge at sunset"
videre faces # detect and group faces (about 180 MB model)
videre gallery # name the groups at http://127.0.0.1:7878
videre search --person "Alice"
Search runs on your Mac after the one-time model download, so it works offline.
Hand it to Claude. Videre's MCP server lets Claude search and review duplicates for you. Ask it for reports first, then approve any changes.
shell
# let Claude Code use Videre as a tool
claude mcp add videre -- videre --library ~/Pictures mcp
claude # then ask it to search or review duplicates
Copy-paste prompts
Written for this setup. Replace anything in [brackets] before you send it.
1. Plan my move off Google Photos or iCloud
Before exporting anything.
I have about [number] photos and videos ([size] GB) in [Google Photos / iCloud], shared with [family members]. I want to move to Immich on [my computer: model, RAM, free disk space, OS].
Give me a step-by-step plan: what to export and how, how much disk I need including thumbnails, how to keep albums, dates and shared albums, how long the import will take, how to check nothing is missing, and when it's safe to cancel the old plan. Flag anything that won't carry over.
2. Write my immich-go command
You have the Takeout ZIPs and an API key.
Write the immich-go command to import my Google Takeout into Immich. Server: http://[ip]:2283. ZIP files are in [folder]. I shoot [RAW+JPEG / bursts / Live Photos]. The library is about [size] GB on a [Wi-Fi / wired] connection.
Use only flags documented in immich-go's README and docs, explain each one in plain words, and tell me what to check in Immich after it finishes. Put YOUR_API_KEY where the key goes; I'll paste it myself.
3. Find duplicates and clutter with Videre (Claude + MCP)
Claude Code with the Videre MCP server added.
Using the videre tools, give me a report on ~/Pictures: total photos and videos, exact duplicates, resized copies, screenshots, photos with missing or wrong dates, and the 20 largest videos.
Don't trash, delete or change any file. Show me the duplicate groups you're most and least sure about, and wait for me to approve each batch before moving anything to the Trash.
4. Find a photo I half remember
Any AI search: Immich, Videre, Ask Photos.
Help me find a photo: [what you remember, e.g. my daughter holding a crab at a beach, probably summer 2023 or 2024, she was wearing a yellow hat].
Give me 5 short search queries to try in order (each under 8 words), plus the person, place and date filters to add, from most to least specific.
5. Sort a messy folder by date with Claude Code
An old drive or phone dump with mixed file names.
In [folder], plan how to copy (not move) every photo and video into [destination]/YYYY/MM/ using the capture date from EXIF or video metadata, falling back to the file date only when there's none, and list those fallbacks separately.
First write the plan and a dry run that prints what would happen for 20 files. Never overwrite a file with the same name; add -1, -2. Don't delete anything. Wait for my OK before running the real copy.
6. Name people and build family albums
After face grouping finishes in Immich or Videre.
I've named these people in my photo library: [names and relationships]. Suggest albums I should make for [year / a trip / a birthday book] and, for each, the exact search (person, place, date range, descriptive words) to fill it. Then suggest a 40-photo 'best of [year]' selection rule: one per week, favor faces, skip screenshots and blurry shots.
7. Make a 3-2-1 backup plan for my photos
Once the library is in one place.
My photo library is [size] GB in [Immich on a mini PC / Videre on my Mac]. I have [an external drive, a NAS, a cloud account]. Design a 3-2-1 backup: what to copy where, how often, which tool (Time Machine, rsync, Backblaze, etc.), how to back up Immich's database as well as the files, and a 10-minute monthly check that a restore actually works. Include rough monthly costs and say which prices I should double-check.
Safety checklist
Make a second copy before importing, de-duplicating or deleting; don't cancel Google One or iCloud until you've checked counts, albums and dates in the new library.
Don't open Immich's port 2283 to the internet. For access away from home use Tailscale or a reverse proxy with HTTPS, and give every family member their own account.
An Immich API key can upload and read your library; keep it out of screenshots and chats, and delete it in Account Settings after the import.
Face recognition is biometric data. Get consent before naming other adults, and remember that shared links expose photos to anyone with the link.
Back up Immich's database (Immich can make automatic database backups; copy them off the machine too) as well as the photo folder; without it you keep the files but lose albums, faces and edits.
AI search and grouping make mistakes. Review duplicate groups and date fixes before trashing or rewriting anything; Videre's trash can be undone, delete cannot.
Videre is a local-first Rust CLI media library: it finds duplicates, fixes wrong dates, clusters faces and builds a local gallery. It has structured JSON output and a built-in MCP server so agents like Claude can search and manage the library without uploading anything.
While Claude Duet is still a waitlisted research preview, he built his own version from 9 Claude Code agents and left it overnight with 14 years of family photos.