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)

Searching Database…

161 ·GitHub
这是什么?UNREEL 是一个个人 AI 流媒体服务,频道里的内容在你按下播放之前并不存在:一位「主理」LLM 每次写几个镜头,逐步写完一集,同时视频模型实时渲染每个镜头,速度快到能跑在播放前面。
这是个视频播放器应用,还是真的自己生成画面?它是一个不使用 UI 框架的 Next.js/React 网页应用;它自己实时生成每个镜头,调用 fal 的 MiniMax H3 Max Turbo 视频模型渲染,用 Nano Banana 2 生成主视觉图,用 Gemini 2.5 Flash 担任主理 LLM。
怎么让一个频道播起来?先拿到 fal.ai API 密钥,然后运行 Next.js 开发服务器;浏览目录之前需要用 'npm run catalog' 构建一次,它会为每个片目生成封面和预览。
使用它需要 fal.ai API 密钥吗?需要,你需要一个来自 fal.ai 的 FALKEY,因为每个镜头、每张封面和主理 LLM 的调用都要经过 fal;密钥保存在服务端、藏在 fal 的服务器代理后面,绝不会暴露给浏览器。
对白总能清晰吐字吗?如果不明确声明音色,视频模型就会含糊嘟囔,只有当主理的提示词逐字引用某句台词时才会清晰说出这句;项目用 Whisper 验证这一点,并且无论清晰与否都会把台词作为字幕显示。
目录里到底有什么?十四部一镜到底的原创影片,涵盖科幻、赛博黑色、西部、民俗恐怖等题材,外加八个「脑腐」直播频道,比如 Capybara News Network 和 Goblin Tax Season,在层层升级的段子之间硬切且永不重复。
视频如何在镜头之间保持连贯?剧情类片目使用图生视频,以上一镜头的精确末帧为种子,该帧通过同源代理在浏览器里抓取,所以角色、光照和场景能无缝跨剪辑延续。
实际看一场流要花多少钱?按 Turbo 目前的费率,十分钟的观看花费远低于一美元,外加几美分的 LLM 调用;关掉标签页就会停止生成和花费。
我可以把自己的节目加进目录吗?可以,编辑 catalog/titles.mjs,填入一句话简介、设定、视觉风格和美术提示词,把模式设为 'story' 或 'chaos',然后运行 'npm run catalog -- --only your-id' 来构建并上架。
Size
8.6 MB
Stars
161
Updated
CommitSep 03
Age
1mo
Commits · 90 Days