Skip to content
Levi edited this page Nov 14, 2025 · 8 revisions

Example

...
  "jellyfin": {
    "url": "https://jellyfin.example.com",
    "api_key": "thisismyjellyfinapikey",
    "username": "admin",
    "music": {
      "display": {
        "details_text": "🎧 {track}",
        "state_text": "👤 {artists} 🎭 {genres}",
        "image_text": "💿 {album} ({year})"
      },
      "separator": "•",
      "status_display_type": "name"
    },
    "shows": {
      "display": {
        "details_text": "🎬 S{season-padded}E{episode-padded} {sep} {title} ({year})",
        "state_text": "🎭 {genres}",
        "image_text": "🎬 S{season-padded}E{episode-padded} {sep} {title} ({year})"
      },
      "separator": "•",
      "status_display_type": "name"
    },
    "movies": {
      "display": {
        "details_text": "🎬 {title} ({year})",
        "state_text": "🎭 {genres} {critic-score} {community-score}",
        "image_text": "🎬 {title} ({year})"
      },
      "separator": "•",
      "status_display_type": "name"
    }
  },
...

Required

url

The domain to your jellyfin instance. It needs to start with http or https for it to work properly!

Examples

"url": "http://192.168.1.2:8096"

"url": "https://jellyfin.example.com"

api_key

This is how the program interacts with Jellyfin. This can usually be found at https://jellyfin.example.com/web/index.html#!/apikeys.html. Make sure to replace jellyfin.example.com with your actual URL.

Example

"api_key": "e35de1b6507447a5ace74cc5a519e3d5"

username

Supports both strings or arrays. Arrays can be used to track multiple users.

Examples

"username": "myuser"

"username": ["myuser", "myotheruser"]

Display Settings (optional)

Display settings determine how the Discord Activity will show. These are the main sections:

  • music
  • episodes
  • movies

In each section, there are three settings: display, separator and status_display_type. display contains additional 3 keys details_text, state_text, image_text.

...
    "movies": {
      "display": {
        "details_text": "🎬 {title} ({year})",
        "state_text": "🎭 {genres} {critic-score} {community-score}",
        "image_text": "🎬 {title} ({year})"
      },
      "separator": "•",
      "status_display_type": "name"
    }
...

{} can be used to control the format of the text.

separator determines what {sep} will parse as.

status_display_type determines what displays as your current activity. You can set this to "name" (default), "details" or "state". The latter two will use the text you've set in "display"."details_text" or "display"."state_text" as your displayed activity instead of the name you've given your Discord app.

Here's a table of how these appear:

"music" "movies" "episodes"
"name" image image image
"details" image image image
"state" image image image

music

  • {track} - track title
  • {album} - album title
  • {artists} - album artists, comma-separated
  • {genres} - genres, comma-separated
  • {year} - album release year
  • {version} - Jellyfin-RPC version, used for default image_text
  • {sep} - separator

episodes

Implemented with https://github.com/Radiicall/jellyfin-rpc/pull/177

  • {show-title} - the TV show title
  • {title} - title of the episode
  • {episode} - number of the episode, not padded - for example 5
  • {episode-padded} - number of the episode, padded with zero - for example 05
  • {season} - number of the season, not padded - for example 2
  • {season-padded} - number of the season, padded with zero - for example 02
  • {year} - release year of current episode
  • {genres} - TV show genres
  • {version} - Jellyfin-RPC version, used for default image_text
  • {sep} - separator

movies

  • {title} - movie title
  • {genres} - genres, comma-separated
  • {year} - movie release year
  • {critic-score} - RT critic score
  • {community-score} - RT community score
  • {version} - Jellyfin-RPC version, used for default image_text
  • {sep} - separator

Misc Settings (Optional)

self_signed_cert

Set to true if you are using a self signed certificate for HTTPS connections.

Example

"self_signed_cert": true

Default

"self_signed_cert": false

Clone this wiki locally