Skip to main content

Turn your Immich photo library into video memory compilations with music and smart cuts

Project description

Immich Memories

CI codecov OpenSSF Scorecard Release Python License Docs

Create beautiful yearly video compilations from your Immich photo library.

Immich Memories connects to your self-hosted Immich server, intelligently selects the best moments from your videos, and compiles them into shareable memory videos — perfect for year-end recaps or celebrating specific people in your life.

Full documentation: sam-dumont.github.io/immich-video-memory-generator


Quick Install

# One-liner (no clone needed)
uvx immich-memories --help

# Or clone and install
git clone https://github.com/sam-dumont/immich-video-memory-generator.git
cd immich-video-memory-generator
uv sync

Quick Start

# 1. Configure
mkdir -p ~/.immich-memories
cat > ~/.immich-memories/config.yaml << EOF
immich:
  url: "https://photos.example.com"
  api_key: "your-api-key-here"
EOF

# 2. Launch the UI
immich-memories ui
# Opens at http://localhost:8080

# 3. Or use the CLI
immich-memories generate --year 2024 --person "John" --output ~/Videos/john_2024.mp4

Key Features

  • Immich Integration — Direct REST API connection with face recognition support
  • Smart Clip Selection — Scene detection, interest scoring, duplicate filtering
  • Face-Aware Cropping — Keeps faces centered when converting aspect ratios
  • Hardware Acceleration — NVIDIA NVENC, Apple VideoToolbox, Intel QSV, AMD VAAPI
  • AI Music Generation — ACE-Step or MusicGen with automatic mood detection
  • Audio Ducking — Music lowers automatically during speech
  • Web UI + CLI — 4-step wizard or headless automation
  • Docker & Kubernetes — Containerized deployment with GPU support

Documentation

See the full documentation for:

Development

make dev      # Install all dependencies
make check    # Run all checks (lint, format, typecheck, tests)
make ci       # Full CI pipeline
make help     # Show all available targets

See CONTRIBUTING.md for guidelines.

Built with AI

This entire codebase was written with AI (Claude) as an experiment in building complex software cleanly with AI assistance. 1,100+ tests, strict quality gates, the works. See DISCLAIMER.md for the full story.

License

MIT License — see LICENSE for details.


Made with ❤️ for the Immich community

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

immich_memories-0.9.1.tar.gz (539.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

immich_memories-0.9.1-py3-none-any.whl (481.4 kB view details)

Uploaded Python 3

File details

Details for the file immich_memories-0.9.1.tar.gz.

File metadata

  • Download URL: immich_memories-0.9.1.tar.gz
  • Upload date:
  • Size: 539.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for immich_memories-0.9.1.tar.gz
Algorithm Hash digest
SHA256 bd666bb52683d5f6828bee1946053ed1b9797397a7122a2f189186a458d80c10
MD5 d0ce427341447e3b90b7de4a97552fd5
BLAKE2b-256 43e7aca5dc0209806e39869f3863f9d48e5fbca65b12172052a95ea0cc55517a

See more details on using hashes here.

Provenance

The following attestation bundles were made for immich_memories-0.9.1.tar.gz:

Publisher: release.yml on sam-dumont/immich-video-memory-generator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file immich_memories-0.9.1-py3-none-any.whl.

File metadata

  • Download URL: immich_memories-0.9.1-py3-none-any.whl
  • Upload date:
  • Size: 481.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for immich_memories-0.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ce59b8de323b9a7fdd4d0badc44a19e3be63a037010e3b1d03f3e3932d9cb3be
MD5 08e6468ad958cf220341e837d4b1e01c
BLAKE2b-256 c2cbe059c91c449ada45d29c32b4a14acdcd1f9fda6f0b4de78308cf29c01d39

See more details on using hashes here.

Provenance

The following attestation bundles were made for immich_memories-0.9.1-py3-none-any.whl:

Publisher: release.yml on sam-dumont/immich-video-memory-generator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page