unreel README

The project's README from github.com/blendi-remade/unreel. As one markdown file: README.md.

UNREEL

Endless television. Written and rendered while you watch.

UNREEL is a streaming service where nothing on it exists until you press play. Pick a title and a showrunner LLM writes the episode a few shots at a time while MiniMax H3 Max Turbo renders each shot live on fal. Turbo renders faster than the clip plays, so the next shot is always finished before the current one ends. That one fact is what makes an infinite channel possible.

The UNREEL browse page

What is on it

Original films. Fourteen of them, across hard sci-fi, cyber-noir, western, folk horror, heist, romance, boxing, dark fantasy and more. Each one is a single continuous take: every shot starts from the exact last frame of the previous one, so the film keeps its characters, its light and its place while the story moves. Dialogue is scripted word for word and shown as captions.

Live channels. Eight brainrot channels that hard-cut between escalating gags. Capybara News Network, Goblin Tax Season, Toaster Court, Dad Rock Volcano. Never the same twice.

Every cover is key art painted by Nano Banana 2 with the title typography rendered into the image. Every card hover, billboard loop and cold open is a Turbo clip.

Hollow Creek, mid-watch

How a stream works

press play
  │
  ├─ the pre-rendered preview plays instantly as the cold open
  ├─ the showrunner writes 1 shot (about 2s), then 4, then 10 at a time
  └─ shot 1 renders from the cold open's last frame (about 2.5s)
        │
        ▼
  each shot renders while the previous one plays,
  chaining from its last frame, and the buffer grows
        │
        ▼
  the player swaps to the next clip the instant the current one ends

A few details that matter:

Stack

Quick start

npm install
cp .env.example .env.local   # add your fal key
npm run catalog              # paints 22 covers and films 22 previews, about 2 minutes
npm run dev

Get a key at fal.ai/dashboard/keys. The catalog build is a one-off and costs roughly $0.08 per cover and $0.06 per preview. npm run catalog skips titles that are already built; use --force, --only <id>, --covers or --previews to rebuild parts of it.

Cost while watching

A story title renders an 8-second shot roughly every 8 seconds of playback. A chaos channel renders 5-second shots two at a time. At Turbo's current rate a ten-minute session is well under a dollar, plus a few cents of LLM calls. Close the tab to stop.

Add a title

Everything lives in catalog/titles.mjs: a logline, a premise for the showrunner, a visual style appended to every shot, a key-art prompt and a preview prompt. Set mode to story for a chained film or chaos for a hard-cutting channel, add the id to a row, run npm run catalog -- --only your-id, and it is on the shelf.

Rename the whole service in lib/brand.ts.

unreel (blendi-remade/unreel)

streaming-video
Searching Database…

161 ·GitHub
What is this?UNREEL is a personal AI streaming service where nothing on a channel exists until you press play: a showrunner LLM writes an episode a few shots at a time while a video model renders each shot live, fast enough to stay ahead of playback.
Is this a video player app or does it actually generate the footage itself?It is a Next.js/React web app with no UI framework; it generates every shot itself in real time by calling fal's MiniMax H3 Max Turbo video model, Nano Banana 2 for key art, and Gemini 2.5 Flash as the showrunner LLM.
How do I get a stream running?Get a fal.ai API key, then run the Next.js dev server; before browsing the catalog you build it once with 'npm run catalog', which generates covers and previews for each title.
Do I need a fal.ai API key to use this?Yes, you need a FALKEY from fal.ai since every shot, cover, and the showrunner LLM call go through fal; the key is kept server-side behind fal's server proxy so it's never exposed to the browser.
Does the dialogue always come out clean?The video model mumbles unless a voice is explicitly declared, and only speaks a line cleanly when the showrunner's prompt quotes that line verbatim; the project verifies this with Whisper and shows the line as a caption either way.
What is actually in the catalog?Fourteen continuous-take original films spanning sci-fi, cyber-noir, western, folk horror and more, plus eight 'brainrot' live channels like Capybara News Network and Goblin Tax Season that hard-cut between escalating gags and never repeat.
How does the video stay consistent shot to shot?Story titles use image-to-video seeded from the exact last frame of the previous shot, grabbed in the browser through a same-origin proxy, so characters, lighting and setting carry over seamlessly across cuts.
How much does it cost to actually watch a stream?At Turbo's current rate a ten-minute session costs well under a dollar plus a few cents of LLM calls; closing the tab stops generation and spending.
Can I add my own show to the catalog?Yes, edit catalog/titles.mjs with a logline, premise, visual style and art prompts, set the mode to 'story' or 'chaos', then run 'npm run catalog -- --only your-id' to build and shelve it.
Size
8.6 MB
Stars
161
Updated
CommitSep 03
Age
1mo
Commits · 90 Days