Video Dashboard

Monitor your video library and downloads

TMDB Enrichment
Status: Idle
No active matches
Progress: 0 / 0
TVDB Enrichment
Status: Idle
No active matches
Progress: 0 / 0
OMDb Ratings
Status: Idle
No active matches
Progress: 0 / 0
YouTube Dates
Status: Idle
No channels queued
Progress: 0 / 0
fanart.tv Artwork
Status: Idle
No active matches
Progress: 0 / 0
OpenSubtitles
Status: Idle
No active matches
Progress: 0 / 0
YouTube Votes
Status: Idle
No active matches
Progress: 0 / 0
SponsorBlock
Status: Idle
No active matches
Progress: 0 / 0
DeArrow
Status: Idle
No active matches
Progress: 0 / 0
Trakt
Status: Idle
No active matches
Progress: 0 / 0
TVmaze
Status: Idle
No active matches
Progress: 0 / 0
AniList
Status: Idle
No active matches
Progress: 0 / 0
Wikidata
Status: Idle
No active matches
Progress: 0 / 0

Recently Added

The newest movies & shows in your library.

Loading…

System Stats

Live performance metrics.

Active Downloads

0

Currently downloading

Finished Downloads

0

Completed this session

Download Speed

0 KB/s

Combined speed

Disk Usage

--

Video library size

System Uptime

0m

Application runtime

Memory Usage

--

Current usage

Library

Your collection at a glance.

Library

Movies, shows & episodes

0 Movies
0 Shows
0 Episodes
-- Disk Size

Quick Actions

Jump straight into the video side.

Studios

Poster overlays & smart collections — built from your library's metadata.

Search

Find artists, albums, and tracks from any metadata source

Settings

API Configuration

Metadata Source

i

Spotify

Current Redirect URI:
http://127.0.0.1:8888/callback
Add this URL to your Spotify app's 'Redirect URIs' in the Spotify Developer Dashboard
i

iTunes / Apple Music

Sets the primary Apple Music storefront. Region-specific albums are auto-searched across other storefronts as fallback.

Deezer (Favorites & Playlists)

Current Redirect URI:
http://127.0.0.1:8008/deezer/callback
Add this URL to your Deezer app at developers.deezer.com
Or use an ARL token for playlist access and downloads (no OAuth app needed):
Log into deezer.com → DevTools (F12) → Application → Cookies → copy the arl value. Provides playlist access + downloads.

Discogs

Get your free token from Discogs Developer Settings
Click "Generate new token" — no app registration needed. Provides 60 req/min and cover art in search results.

Tidal (Playlists & Metadata)

Current Redirect URI:
http://127.0.0.1:8889/tidal/callback
Add this URL to your Tidal app configuration

Qobuz (Metadata & Enrichment)

Connects Qobuz for metadata enrichment (ISRC, labels, copyright). Also used for downloads if Qobuz is your download source.
Alternative: Auth Token — If email/password login fails (CAPTCHA), paste your token directly:
To get your token: log into play.qobuz.com → DevTools (F12) → Network tab → find any request to www.qobuz.com/api.json → look in the request headers for X-User-Auth-Token → copy that value.

Last.fm

Get your API key and secret from Last.fm API Account
API key: used for metadata enrichment. API secret: required for scrobbling.

Genius

Get your token from Genius API Clients
Generate a "Client Access Token" — no OAuth flow needed.

AcoustID Verification

Verifies downloaded audio matches expected track using fingerprints
Get your free API key from AcoustID Applications
The fpcalc fingerprint tool is automatically downloaded if needed. Failed verifications move files to Quarantine folder.

ListenBrainz

Get your token from ListenBrainz Settings
Self-hosted? Enter your server URL (e.g. http://localhost:8093)

Hydrabase

P2P metadata network. When enabled and connected, replaces Spotify/iTunes as the primary metadata source for searches.

API Configuration

TMDB & TVDB are required. The video side matches, enriches and automates everything from these — library matching, artwork, airing shows, collections — so nothing works until both keys are set. Both are free. OMDb and fanart.tv below are optional extras.

TMDB

Required
Get your free key from TMDB API Settings
Required. Primary movie & TV metadata source — nothing on the video side works without it.

TVDB

Required
Get your key from TheTVDB API
Required. TV series metadata — episodes & air dates the airing automations rely on.

OMDb (Ratings)

Get a free key from OMDb API
IMDb / Rotten Tomatoes / Metacritic ratings.

fanart.tv (Artwork)

Get a free key from fanart.tv
Clear logos, clearart, banners, posters & backgrounds (gap-fills missing art).

OpenSubtitles (Subtitles)

Get a free key from OpenSubtitles (register a consumer)
Records which subtitle languages exist per title.

Trakt (Audience Rating)

Create a free API app at trakt.tv and paste its Client ID.
Adds Trakt's community audience score (and vote count) to movies & shows — and lets the Collection Studio build collections from public Trakt lists.

MDBList (List Collections)

Free key from mdblist.com (Preferences → API Access).
Lets the Collection Studio build collections from MDBList lists — the real IMDb Top 250, award lists (Oscar winners), and thousands of community lists.

Community Data (No Key)

Free community APIs — no key needed. Gap-fill extra data on your library in the background.

YouTube Extras (No Key)

Free community APIs — no key needed. Enrich cached YouTube videos in the background.

Server Connection

Pick the server the video side uses. Fields are pre-filled from your Music settings — edit them to point video at a different server without touching Music.

Which libraries the video side scans.

📁 Library Organization

Variables: $title, $titlefirst, $year, $quality (e.g. Bluray-1080p), $resolution, $source, $codec, $edition, $tmdbid, $imdbid. Folders split on "/", the last segment is the filename. Example:
Variables: $series, $season (01), $seasonraw (1), $episode (01), $episodetitle, $year, $quality, $resolution, $source, $codec, $tvdbid. Example:
Followed YouTube channels organize as a TV show. Variables: $channel, $year, $sxe (s2024e0315 — lets Plex/Jellyfin index episodes without an online agent), $date (2024-03-15), $month (03), $day (15), $title, $videoid. Plex tip: set the YouTube library's agent to Personal Media Shows — episode titles then come straight from the filename, and the channel folder gets its poster/fanart automatically. Example:
Following a channel backfills its most recent N videos, then watches for anything new posted after you follow. This is also the rolling "keep the last N current" net the channel scan uses. 0 = don't backfill anything, only grab new uploads going forward. It never pulls the whole back catalog.
How a finished download moves from the download folder into your library.
Tag by the file's real resolution and reject corrupt / sample files. Needs ffmpeg; falls back to the release name when absent.
Deletes the old file when an upgrade lands.
Bring sibling .srt / .ass files alongside the video, renamed to match.
Download the full artwork set — poster.jpg, fanart.jpg, clearlogo.png (plus season posters for shows) — next to the movie / into the show folder. Off by default; Plex/Jellyfin usually fetch their own once the folder is named cleanly. Turn on to pin specific art or for offline/local-assets setups.
Write Kodi/Jellyfin-style movie.nfo / tvshow.nfo (title, plot, rating, genres, cast, ids) so the library is fully portable. Off by default — Plex ignores these, but Jellyfin/Kodi/Emby use them.
Fetch external .srt files from OpenSubtitles next to the video (uses your OpenSubtitles API key on the enrichment settings). Off by default — the free tier is daily-quota-limited, and most releases already carry embedded subs.
Comma-separated language codes to fetch, in priority order (e.g. en,es). One .srt per language is written as <video>.<lang>.srt.
Upgrade-replaced copies, retention-cleaned YouTube episodes and dismissed imports move into an ss_recycle folder inside the library instead of being deleted — a safety net if something gets replaced by mistake.
Recycled files older than this are removed for good (cleaned automatically as new files are recycled).
Set a single folder to collect everything (keep it on the same drive as your libraries so moves are instant). Blank = an ss_recycle folder per library.
New grabs are refused (and the wishlist drains pause) when the target drive has less free space than this — so a download can never fill the disk. 0 disables the check.
Uses the community SponsorBlock database at download time. Mark adds skippable chapters (sponsor, self-promo, intro, outro); Cut removes sponsor/self-promo/interaction segments from the file entirely.
Embeds YouTube's subtitles (your Subtitle Languages above) into the downloaded file so Plex/Jellyfin offer them without sidecar files.
Restores the Radarr/Sonarr standard layout.

Video Preferences

Detail Pages

Plays a muted trailer behind the hero after a moment (uses more bandwidth).

Server Connections

Video Download Folders

One shared download folder (where slskd / torrent drop files), then a separate library folder per type — finished files are sorted to the right one automatically. SEPARATE from your Music paths.
Where downloads land — point this at the same folder as your slskd / torrent client. This is the SAME folder as the Music side; changing it here changes it there too.

Download Source

Video downloads from slskd, torrent or usenet only. Hybrid tries each enabled source in order.
Ratio or hours seeded
Enforced by
Both at 0 = never remove (the old behavior). SoulSync: SS polls the client and removes when a goal is hit (your imported library copy is separate and never touched). Torrent client: SS writes the ratio/time limit into the client (arr-style) and lets it enforce — it shows in the client's share-limit dialog and works even when SS is off.
Everything on a list enters acquisition automatically (movies → wishlist, shows → follow with the chosen monitor policy). Only NEW list members are added, so removing something never boomerangs back. Synced by the "Sync Import Lists" automation. Ref: a TMDB list id, a chart key (trending_movies, top_shows, …), an IMDb ls-id/URL — Plex Watchlist needs no ref.
Get told when things happen — a Discord webhook, any generic webhook (raw JSON), or a Telegram bot. Each connection picks which events it cares about.

Quality Profiles

Click a profile's name to view/edit its settings on the left (this alone never activates it). Per row: ● set as the active default, ✏ rename, ✎ save the settings shown on the left into this profile, ⇩ use for Auto-Import instead of the default, × delete. "Manage" above shows what's active for what.

💡 Filesystem access — easiest setup

UI Appearance

Changes the accent color across the entire UI
Audio-reactive visualizer on the sidebar edge when music is playing
Animated particle effects behind each page. Off by default — enable for the eye candy (uses GPU).
Dashboard header buttons animate as floating orbs. Hover the header to expand. Desktop only.
Disables backdrop blur and shadows (the GPU-heavy bits). Keeps functional motion like loading spinners. Good for low-end devices.
Nuclear low-power mode for software-rendered / no-GPU setups (e.g. Docker, remote desktop). Turns off Worker Orbs, Particles, all blur/shadows AND every animation & transition (loading spinners go static). Overrides the three options above.
Initializing log viewer...
0 lines ● Live

API Calls

Tracks

Albums

Artists

Discography

Album Tracks

Response

API responses will appear here

Network

Peers: --

Source Comparisons

When Hydrabase is the active metadata source, searches are compared against Spotify and iTunes in the background.

No comparisons yet. Search with Hydrabase active to generate comparisons.

Chat

Soulseek rooms & private messages