milmilmilmil
Features

Profile Avatar

Give the account a picture — uploaded or borrowed from a character — shown in the web, the Mac app and external players.

Overview

An account can carry a picture instead of an initial. It is set once and appears everywhere the account does: the web sidebar and account panel, the macOS client, and the Jellyfin clients that connect to the server.

Setting one

Open Settings › 帳號 / Account:

  • Upload an image — PNG, JPEG or WebP, up to 2 MB. Drag it onto the card or pick a file.
  • Use a character — pick a series from your collection and choose one of its characters. The portrait is copied server-side from the metadata provider that supplied it, so nothing is hot-linked.

The image is centre-cropped to a square and stored as JPEG at 512 px and 128 px under the server's data directory. Removing it puts the initial back.

Where it appears

ClientWhere
WebSidebar, account menu, account settings
macOSAccount settings and wherever the signed-in account is shown
Jellyfin clientsThe user's primary image — Infuse, the Apple TV client and anything else that shows a user picture

The avatar URL carries a version parameter, so changing the picture busts every client's cache at once.

The avatar is served without authentication on purpose: an <img> tag and an external player cannot send a bearer token, user ids are UUIDs, and a profile picture is not a secret.

API

PUT /api/v1/auth/me/avatar takes either a multipart file or a JSON body with source_url; DELETE on the same path removes it. GET /api/v1/users/{id}/avatar serves the image. /auth/me and the login response carry avatar_url. See the API reference.

source_url is fetched by the server, so it is restricted to public addresses — a URL that resolves to loopback, a private range or a link-local address is refused, and so is a redirect to one.

On this page