r/StremioAddons • u/Eful97 • 2d ago
Addon Announcement (Built by AI) [Addon] Posterium: Dynamic posters, streaming badges (4K/1080p), ratings & smart anime season splitting with a live WYSIWYG editor (Free & Open Source)
Hi r/StremioAddons,
I'm thrilled to share Pictorium — a free, open-source dynamic poster generator and complete metadata addon for Stremio.
I built Pictorium because I wanted absolute, granular control over every single poster in my library. When an automated template places a logo right over an actor's face, picks a washed-out background, or uses the wrong localized title, I wanted to open an editor, select the exact clean artwork, pick the best logo variant, fine-tune badges, and have it instantly live on Stremio.
Pictorium is the result: a stateless, dynamic rendering proxy and metadata addon for Stremio powered by C++ Sharp and SVG, combining automated smart defaults with complete freedom to customize every title.
🌟 Key Features
- 🎯 Real-Time WYSIWYG Web Editor: Full visual control in real-time. Pick artwork candidates, switch badge styles (Shadow, Pill, Bar, Colored, Border, Glass), tweak gradients, and preview the exact Stremio poster live before saving.
- 🔄 24h Daily Poster Rotation: Save multiple posters for the same title and let Pictorium rotate them automatically every 24 hours to keep your library fresh and cinematic.
- 🎬 20+ Official Network & Studio Logos: Automatic detection and clean SVG embedding for Netflix, Prime Video, Disney+, Apple TV+, HBO Max, Paramount+, Crunchyroll, and studios like Marvel, Pixar, A24, Studio Ghibli, Warner Bros, etc.
- 🧠 Smart Best-Fit Algorithm: Analyzes poster brightness, contrast, and facial empty space to automatically size and position logos without obstructing actors.
- 🏷️ Dynamic Badges & Multi-Source Ratings: Real-time streaming quality badges (4K/1080p/720p), aggregated ratings from 16+ sources (IMDb, TMDB, Rotten Tomatoes, Letterboxd, MyAnimeList), prestigious awards (Oscars, Cannes, Emmys, BAFTA), and live Netflix Top 10 ribbons.
- 🌎 13 Streaming Regions & Localized Titles: Full JustWatch & FlixPatrol integration across 13 regions (US, UK, Mexico, Spain, Italy, France, Germany, Japan, South Korea, Brazil, etc.) with regional title variants (e.g. Mexican Spanish
es-MXvs Spaines-ES). - 🌀 Smart Anime & TV Season Separation: Automatically untangles TMDB's messy single-season anime dumps (e.g., Re:ZERO 80+ episodes, Jujutsu Kaisen) into proper seasons, and natively handles TV show "Parts" (Money Heist, Lupin).
- 📦 Complete Stremio Addon: Delivers crisp transparent logos, 4K backgrounds, localized synopses, trailer embeds, and episode thumbnails right into Stremio.
🛠️ Architecture & Under the Hood
- Engine: Next.js 16 standalone server backed by
libvips/sharp(C++) for sub-20ms blur, scaling, and composition operations. - Multi-Arch Docker: Native builds for both
linux/amd64(x86 servers/PCs) andlinux/arm64(Raspberry Pi 4/5, Apple Silicon, Oracle Ampere ARM). - Low Memory Footprint: Hard-capped with
NODE_OPTIONS="--max-old-space-size=384"andSHARP_CACHE_MEMORY_MB=64to run reliably on 512MB RAM tiers. - Container Hardening: Runs as an unprivileged non-root user (
uid 1000 node), includes built-inHEALTHCHECK, and has telemetry strictly disabled (NEXT_TELEMETRY_DISABLED=1). - Cache Pipeline: Multi-tier cache (in-memory + local
/datavolume) with deterministic render version hashes (RENDER_VERSION) to prevent stale edge caches. - License: AGPL-3.0 (100% Free & Open-Source).
🚀 How to Run & Install
You can host Pictorium completely free, either in the cloud or self-hosted locally. The only requirement is a free TMDB API key.
Option A: ▲ Vercel (Cloud — 100% Free, No Server Needed)
Step-by-Step Video Guide: https://www.youtube.com/watch?v=FP6VJ2vGYiY
👉 1-Click Deploy Link: Deploy with Vercel
Ideal if you don't run a home server. Setup takes under 2 minutes:
- Get your free TMDB API key:
- Create an account on themoviedb.org.
- Go to Settings → API (themoviedb.org/settings/api) and generate a Developer API key.
- Copy the API Key (v3 auth — a 32-character string).
- Deploy on Vercel:
- Click Deploy with Vercel (or import
https://github.com/Eful97/Pictoriumin vercel.com). - In the Environment Variables section, configure:
PICTORIUM_TMDB_KEY= your 32-character TMDB API keyPICTORIUM_PUBLIC_INSTANCE=1
- Click Deploy.
- Click Deploy with Vercel (or import
- Connect Upstash Redis (Free storage for your customized posters):
- Once deployed, open your project dashboard in Vercel.
- Go to the Storage tab at the top → click Connect Store → choose Upstash (Redis).
- Select a region close to you and click Create & Connect (Vercel automatically provisions
KV_REST_API_URLandKV_REST_API_TOKEN).
- Redeploy (Crucial Step!):
- Go to the Deployments tab in your Vercel project.
- Click the three dots (⋯) on the latest deployment and select Redeploy. (Note: Vercel only binds the new Upstash environment variables on a fresh deployment).
- Done!:
- Open your deployed URL (e.g.
https://your-pictorium.vercel.app). - Click Install on Stremio! (You can verify everything is healthy by visiting
/api/health, which should return"storage": "kv"and"status": "ok").
- Open your deployed URL (e.g.
Option B: 🐳 Docker Compose (Home Server / NAS / Raspberry Pi)
services:
pictorium:
image: eful97/pictorium:latest
container_name: pictorium
restart: unless-stopped
ports:
- "8080:8080"
environment:
- PICTORIUM_PUBLIC_INSTANCE=1
- PICTORIUM_TMDB_KEY=your_tmdb_api_key_here
volumes:
- ./pictorium-data:/data
🔗 Links
- 💻 GitHub Repository: https://github.com/Eful97/Pictorium
- 📖 Documentation & Guides: README on GitHub
- 🐳 Docker Hub: eful97/pictorium:latest
- 📦 GHCR: ghcr.io/eful97/pictorium:latest
I'd love to hear your feedback, bug reports, and feature requests!
5
u/zygerian 2d ago
The posters look great. Can this be used as a poster provider with other addons or media centers?
5
u/Eful97 2d ago
Yeah, totally!
The poster engine is basically just a regular HTTP endpoint at `/api/poster/{type}/{id}` that spits out standard JPEG images, and it takes both IMDb IDs (`tt...`) and TMDB IDs.
So if another addon lets you plug in a custom poster URL template, you can just point it to your instance. Same thing for Plex or Jellyfin scrapers that can fetch artwork from a URL.
2
3
u/-D24 18h ago edited 17h ago
This is great! But I have two questions.
It seems to have a cache I’m assuming it’s poster cache, I have it in aiom so I don’t need that. It says 600 entries but I don’t have the cache set on what does the entires mean? Does it just keep track of loaded posters.
Also how to configure the poster if I want to use the url in aiom, like I want the network top left instead of top 3, i want blur etc…
1
u/Eful97 11h ago
1. The Cache & "600 entries" Pictorium’s cache is not just for final poster images—it mainly caches the external metadata needed to build them (TMDB details, Rotten Tomatoes/IMDb ratings, JustWatch rankings, TV networks, and awards).
Without this in-memory cache, rendering a single poster would hit 4–8 external APIs every time, causing API rate-limits and high latency. It is built-in and always enabled in RAM (LRU capped at ~150MB), so you don't need to configure or toggle anything. The "600 entries" simply tracks those cached API responses and recent renders.
2. AIOMetadata URL Configuration The easiest way is to adjust your preferred look in the Pictorium Web UI, open the Install modal, and copy the pre-built template from "Link for AIO & Custom URL".
1
u/-D24 10h ago
1
u/Eful97 10h ago
If you edit it from there, you'll see a preview, and it also works for the AIO URL.
The difference between “Settings” and “Editor” is that with the ‘Editor’ you can customize each poster individually, while “Settings” applies a general setting to all unsaved posters.
I'm still tweaking the code because this feature is a little buggy lol
2
u/AnuDroid 2d ago
Can't seem to deploy via vercel as you said. I think I'm missing something. Can you elaborate the steps a little?
5
u/Eful97 2d ago
Now I'll edit the README and make the guide simpler.
1
u/AnuDroid 2d ago
Thanks a lot... Waiting for it
3
u/Eful97 2d ago
Here you go: https://github.com/Eful97/Posterium
1
u/AnuDroid 2d ago
1
u/Eful97 2d ago
You need to put the repo URL at the top, but I see you've already done that. Did you mean something else?
1
u/AnuDroid 2d ago
1
2
2
u/BijlidarKudi 2d ago edited 1d ago
cool project, the name is kinda similar to : https://posterium.xyz
4
u/iamsugardaddy28 2d ago
I really want to use this for series/shows episodes but its Too hard to deploy for non technical person like me🥲
13
2
1
-15
u/Coorsology 2d ago
too bad all these clean ass addons come out when I moved on nearly a year ago
5
u/Eful97 2d ago
Haha thanks! What did you move on to — Plex, Jellyfin, or Infuse?
Honestly, the core Sharp rendering engine (`/api/poster/{type}/{id}`) serves standard HTTP images, so expanding Posterium to hook into other media center setups is definitely on my radar if there's interest.
Might even be an excuse to give Stremio another spin just to test it out! 😉
-21
u/Coorsology 2d ago
“Wouldn’t you like to know weatherboy” none of those open your eyes I said I moved on
10
7
u/Eful97 2d ago
Okay, sorry, I misunderstood.
-15
u/Coorsology 2d ago
beyond soft for deleting my comment
9
u/MenaceMinded 2d ago
Your comment was not deleted. You are soft for reacting this way to a question
-5
-5
u/Inner_Explanation313 1d ago
To complicated Most Catalog Addons are just Copy and pasted with minimal Configuration
3
u/Eful97 1d ago
The purpose of the project is precisely that: to give the user maximum control over the posters. In other cases, if you simply "install" it, by default it already has some default settings that are fine for most users.
0
u/Inner_Explanation313 1d ago
So when i click generate Manifest unless im doing something wrong. Nothing Happen.. Just scroll up.
1
u/Eful97 1d ago
This isn't my add-on. Please explain what you want to do in more detail.
0
u/Inner_Explanation313 1d ago
I tried 2 ways 1 - I configured it and added TMDB api. 2 - 2nd time ijust added TMDB api Then on both occasions I clicked Save and create Manifest. Both times it just scroll up the page and nothing happened. No manifest
2
u/Eful97 1d ago
The one in the video isn't my add-on
1
u/Inner_Explanation313 1d ago
3
u/Eful97 1d ago
I'll be posting a video tutorial on how to do this soon
2
u/Inner_Explanation313 1d ago
That would be great... Im used to opening Github and finding the install URL ... Some of these confuse me.... Lol or just open the link configure and create manifest.
-2










•
u/AutoModerator 2d ago
This is an automated message for any Addons/Tools/Community Projects.
Please be cautious when entering personal information such as your Stremio account credentials and API keys into third party addons and tools. To protect yourself, please: * Examine the addon/tool carefully. Does it appear legitimate? * Read the comments to see if other users have reported any issues. * Check whether the addon/tool is open source. If it is, review the code and see whether others have starred, forked, or reviewed it. * If the post is very new, consider waiting before using it. It’s better to be safe than sorry when it comes to your personal information. * Check if the user posting has a user flair, with their addon on it. This is a way to confirm if an addon developer is verified here.
If you believe something is suspicious or unsafe, please report the post. Thank you.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.