fa908730f6430c5058e253b2ffb80f8885715647
Emby Thumbnail Generator
A self-hosted web UI that generates landscape thumbnails from your Emby library posters. Uses AI-powered subject extraction (rembg/U2-Net, runs entirely locally) to isolate characters from poster art, then composites them into widescreen thumbnails with customisable layouts.
What it does
- Connects to your Emby server via API
- Search/browse your movie and TV library
- Pulls the poster for a selected item
- Extracts the subject (person/character) using rembg (offline, no external API)
- Generates a landscape thumbnail with the subject positioned to one side and the title on the other
- Optionally pushes the generated thumbnail back to Emby as a custom Thumb image
Templates
- Subject Left, Text Right — character on the left, title text on the right
- Subject Right, Text Left — character on the right, title text on the left
- Subject Center, Text Overlay — character centered with title overlaid
Background Modes
- Auto Gradient — samples dominant colours from the poster and creates a dark gradient
- Blurred Poster — darkened, heavily blurred version of the original poster
- Solid Colour — pick your own background colour
Setup
Docker (recommended)
-
Edit
docker-compose.ymlwith your Emby details:environment: - EMBY_URL=http://192.168.1.x:8096 - EMBY_API_KEY=your-api-key -
Build and run:
docker compose up -d --build -
Open
http://localhost:8500
Manual
-
Install dependencies:
pip install -r requirements.txt -
Set environment variables:
export EMBY_URL=http://192.168.1.x:8096 export EMBY_API_KEY=your-api-key -
Run:
python app.py -
Open
http://localhost:8500
Getting your Emby API Key
- Open Emby Dashboard → Advanced → API Keys
- Click "New API Key"
- Give it a name (e.g. "Thumb Generator")
- Copy the key
Notes
- First generation will be slower as rembg downloads the U2-Net model (~170MB)
- The model runs entirely offline after first download — no data leaves your network
- Generated thumbnails are cached in the
cache/directory - Works with both movies and TV series
- The "Apply to Emby" button sets the generated image as the item's Thumb image type
Tech Stack
- Backend: Python, FastAPI, Pillow, rembg (U2-Net)
- Frontend: Vanilla HTML/CSS/JS
- Deployment: Docker
Description
Languages
HTML
64.8%
Python
35%
Dockerfile
0.2%