arama
Find similar images and videos — entirely on your machine.
Overview
arama is a desktop GUI application that uses offline AI to locate visually or aurally similar media files inside a chosen directory tree. There is no cloud service, no account, and no data leaves your device.
- Images are compared by CLIP visual embeddings (cosine similarity).
- Videos are compared by a weighted combination of CLIP frame embeddings and wav2vec2 audio embeddings.
Embeddings and thumbnails are cached in a local SQLite database so each directory only needs to be indexed once.
Why / When
| You want to… | arama can… |
|---|---|
| Deduplicate a photo library | Surface near-duplicate pairs across a folder |
| Find all shots of the same scene | Browse visually similar images from a gallery click |
| Locate a video by its audio content | Match audio via wav2vec2 embedding similarity |
| Keep AI processing private | Run everything locally — no API key, no upload |
arama works best with a reasonably modern desktop (an Apple Silicon Mac or a multi-core Linux/Windows machine). CPU-only inference is supported; a discrete GPU is not required.
Quick Start
Prerequisites
- Rust toolchain (stable, 2024 edition)
- An internet connection for the one-time model and ffmpeg download (a few hundred MB total)
Build and run
# Extract the source archive
# Build and launch (release mode recommended for AI inference speed)
The first launch opens a setup wizard that downloads:
openai/clip-vit-base-patch32— CLIP model for image similarityfacebook/wav2vec2-base-960h— audio model for video similarityffmpeg— frame / audio extraction for video files
All files are stored alongside the executable under .arama-local/.
Once setup completes, no further network access is required.
Design Notes
- Offline-first. All AI inference runs locally with candle. No telemetry.
- iced GUI. Built on iced 0.14 with the snora shell framework. Side-nav pages: Explorer (directory tree + gallery tiling view), Cache (per-directory cache management), and Settings.
- localcache persistence. Embeddings and thumbnails are stored in a two-namespace SQLite database via localcache, keyed by file path. Re-indexing is triggered automatically when a file changes.
- Similarity threshold. Both image and video similarity default to 0.86 cosine similarity (dot product of unit-norm CLIP vectors).
- Supported formats. Images:
png jpg jpeg webp gif bmp. Videos:mp4.
More Detail
Full documentation lives in docs/src/ and is
structured for mdBook.
| Audience | Start here |
|---|---|
| New users | Installation · First Run · Using arama |
| Contributors | Architecture · Workspace · Workflow |