Automated face extraction, resizing and alignment suitable to make a selfie timelapse video.
Automated face extraction, resizing and alignment suitable to make a selfie timelapse video.
Generate timelapse videos of your loved ones' portraits from your Immich photo library.
Use Immich's built-in face recognition to find all photos of a person, then runs them through a configurable processing pipeline that crops, aligns, filters, and compiles the results into a smooth timelapse video.
To access your immich library, this project requires an Immich API key.
Follow this guide to create one: https://immich.app/docs/features/command-line-interface#obtain-the-api-key
Here are the features that need to be enabled:
album.readasset.downloadasset.readasset.viewface.readperson.readserver.aboutNote: It is advised to store this API key in a .env file adjacent to your docker-compose.yml rather than in plain text.
Feel free to deploy this container on a more powerfull PC for faster timelapse generation. This is a 'one shot' application, it does not necessarily need to be deployed on a always on server.
services:
immich-selfie-timelapse:
image: arnaudcayrol/immich-selfie-timelapse
container_name: immich-selfie-timelapse
user: 1000:1000
ports:
- "5000:5000"
environment:
- IMMICH_API_KEY=abcdefghijklmnopqrstuvwxyz
- IMMICH_BASE_URL=http://your-immich-host:2283
volumes:
- ./config:/app/config
- ./output:/app/output
restart: unless-stoppeddocker run -d \
--name immich-selfie-timelapse \
-p 5000:5000 \
-e IMMICH_API_KEY=your-api-key-here \
-e IMMICH_BASE_URL=http://your_server:2283 \
-v ./config:/app/config \
-v ./output:/app/output \
arnaudcayrol/immich-selfie-timelapseThen open http://your_server:5000 to access the web interface.
Ensure correct read/write permissions to the config and output folders.
chown -R 1000:1000 ./config ./output| Path | Description |
|---|---|
/app/config |
Persisted configuration file (config.toml) |
/app/output |
Processed images and compiled timelapse video |
The default settings are quite permissive because every human being is unique.
Please adjust image brightness filtering, eye aspect ratio etc. for the person you are processing.
This project is open source and available under the MIT License.
No open issues yet, or sync has not completed.