---
title: "Streamroll"
description: "Streamroll: Netflix-style intros for your own media server."
url: https://www.joekarlsson.com/work/streamroll/
---

# Streamroll

Netflix-style intros for your own media server.

2026

[See it live →](https://streamroll.vercel.app/) · [View on GitHub →](https://github.com/JoeKarlsson/streamroll)

## Artist statement

Netflix plays its sting before every show. Plex, Jellyfin and Emby will play a short video before every movie too, but you hit play on a home server and it could be anyone's.

Streamroll makes one from your server's name. You type a name like Joeflix, pick a style, and get back a title card that moves, ready to play before every movie.

There's no account and nothing to pay me, and it hands you the code that made your clip, so you can make the next one without my site.

## Intros it made

Six styles, all from the name STREAMROLL. Hover to play.

Neon outrun

Nature

Prestige

Streaming service

VHS

Adult Swim bumper

## How it's made

TypeScript · Runway ML · Plex · AI Video Generation

It chains two Runway API calls. The first turns a prompt tuned to the style into a 1920x1080 title card, and the second animates that still into a clip of 2 to 5 seconds. Each style picks its own image model, video model and length. Your Runway key stays in your browser and goes along with each request, and the server never stores it.

_Diagram: How Streamroll makes an intro: you give it a name, a style and your own Runway key, the style picks the image model, video model and length, Runway turns a prompt into a title card that you approve or redo, Runway animates it into a 2 to 5 second clip, your own audio can be mixed in your browser with FFmpeg.wasm, and the .mp4 becomes a pre-roll in Plex, Jellyfin or Emby_

## Lineage

Same server

[Adult Swim Bumper](https://www.joekarlsson.com/work/adult-swim-bumper/): A CLI tool for generating \[adult swim\]-style pre-roll bumpers for your personal media server. Define bumpers in YAML, drop in background video clips and music, and render MP4s ready to load into Tunarr. White text cards, fading audio, your server name in brackets at the end - the whole bit. 2026 · Python, ffmpeg, Plex

[Project page](https://www.joekarlsson.com/work/adult-swim-bumper/) · [Source](https://github.com/JoeKarlsson/adult-swim-bumper) · [Blog Post](https://www.joekarlsson.com/blog/adult-swim-bumpers-plex-pre-rolls/)

[See it live →](https://streamroll.vercel.app/) · [Get the code on GitHub →](https://github.com/JoeKarlsson/streamroll)

[← All works](https://www.joekarlsson.com/work/)
