Jellyfin AI Upscalerv1.6.1.16

Configuration reference

The settings page is organised into six tabs. Every control here maps 1:1 to a key in PluginConfiguration.cs.

Settings tab

AI Service connection

FieldDefaultNotes
AI Service URLFull URL to the Docker AI service. Typically http://localhost:5000 or http://<host>:5000.
AI Service API TokenemptyShared secret. Plugin attaches it as X-Api-Token to every call. Must match the container's API_TOKEN env var.
Test ConnectionFires GET /health — shows online/offline + auth posture.

Library scan

Enabled LibrariesallChip picker. Empty = scan all; picks limit to specific virtual folders (added in v1.6.1.14 for issue #64).
Min Width / Min Height1920 / 1080Threshold for what counts as "low-resolution". OR-logic: a video qualifies if either dimension is below.
Output Codeclibx26412 options: libx264/libx265/libsvtav1/libaom-av1/libvpx-vp9 (software), h264/hevc/av1_nvenc (NVIDIA), h264/hevc/av1_qsv (Intel), plus stream-copy.
Target Scale2x1x–4x. 3x is the sweet spot for 480p→1440p source material.

Auto Model Selection

New in v1.6.1.15. When enabled, the plugin calls /Upscaler/recommend-model at playback start and picks both model and color-filter preset per video based on genre tags.

AI Models tab

Live model catalog pulled from /models. Each row shows:

Filter bar: search-by-name + status filter (all / available / downloaded / loaded / unavailable). See the model catalog for the full list.

Filters tab

15 camera-style presets that can be applied either as live CSS overlay (no re-transcode, 60fps) or as server-side FFmpeg filter chain (persists in the output file).

Advanced filter params

Under Advanced you get 6 FFmpeg filter knobs that persist across sessions via POST /Upscaler/filter-config:

ParamRangeFFmpeg filter
Gamma0.5 – 2.0eq=gamma=...
Sharpness0 – 5unsharp=5:5:...
Colour Temperature-100 – +100 Kcolortemperature
Vignette0 – 1vignette
Film Grain0 – 30noise=alls=...
Denoise0 – 10hqdn3d=...

Face Restoration tab

New in v1.6.1.7. GFPGAN / CodeFormer passes for restoring faces in low-res footage.

Enable Face Restorationoff
Modelgfpgan-v1.4 or codeformer
Max Faces Per Frame5 (guard rail)
Min Face Size (px)48
Alpha Feather (px)12
Compute cost: face restoration is a second model pass on top of upscaling. Budget ~2× the frame time per face.

Hardware tab

Read-only view of what the AI service detected on the container host — useful for debugging why a model isn't loading.

Advanced tab

FieldPurpose
Max Concurrent StreamsCap on parallel AI jobs. 1 for single-GPU, 2+ only if you have VRAM headroom.
Enable Pre-Processing CacheStores upscaled frames on disk so a replay doesn't re-run inference.
Enable Remote TranscodingLets Jellyfin hand off transcoding to the AI service host over SSH (see Deployment).
Enable Performance MetricsCollect per-frame timing; visible on Hardware tab.
Log LevelInformation / Debug / Trace. Affects plugin logs in jellyfin.log.