Free Shipping on all orders · Priority Mail Shipping with fee of $8.00
🎬
Divine Tribe Software · Open Source

Story Forge

A local-only generative video system. Any kind of video, any style, on one laptop. No cloud.

Python + ffmpeg5 local AI modelsNo cloudOpen source
4:08
First Saga Runtime
43
Scenes
12 hr
Compute
0
Cloud Calls
What's new — May 24, 2026

2026-05-24 ship state

Three firsts landed this week. Each one shrinks the gap between "open the laptop" and "watch the finished film."

🎥
Public first Apple Silicon MPS

LTX 13B distilled 0.9.8 running on Apple Silicon

118 seconds per 5-second clip on M5 Max via MPS — first known public port of the distilled LTX 13B to Apple's GPU stack. No CUDA, no rented A100, no waitlist.

2-step distill trained on-device

Wan 2-step distillation — trained on the laptop itself

We train our own step-distillation LoRA for Wan directly on Apple Silicon, collapsing 4 denoising steps into 2. As far as we can find, this is the first distillation training of a video model done on a Mac instead of a data center — the model gets faster on the same machine that runs it.

📜
DSL Deterministic Scriptable

Story Forge DSL — .sf.mp4 in one command

A scene-graph script language designed for film, not JSON. Hand it a .sf file, get a finished .mp4 back. Deterministic, repeatable, diffable, scriptable from any shell.

The same 4-minute video that costs $300–$1000 on cloud video services runs here for the price of electricity. Hardware breaks even after about 40 films.

Watch the first DSL-rendered clip

First clip from a .sf script — rendered locally.

Short proof clip rendered straight from a Story Forge .sf script through the full pipeline — Flux still, LTX motion, Metal-accelerated attention, composited by ffmpeg. One command in, one MP4 out, nothing left the machine.

Watch the first film

The Bear Sister — a two-act animated saga.

Five open-source models composed by ffmpeg, 12 hours of M5 Max compute, zero cloud calls. The film above is the first production from the Story Forge pipeline — Act One in Studio Ghibli watercolor, Act Two in photoreal cinematic, stitched into one 4-minute saga with scored music, narrated by a warm storyteller voice, with title and credits.

The next thousand are scripts away.

Why it's different

The Finished Films

Every one of these was generated start to finish by Story Forge on one M5 Max MacBook with 128GB. No cloud, no render farm.

The Lucid Engine

A short film generated entirely on one Mac. Every frame, voice, and note on device.

Antarctica: The Continent We Just Met

A real documentary. Every discovery in it is true.

The Little Robot Who Built Himself

A bedtime cartoon made in one night by local AI.

The Bear Sister

A calm two-act kids saga, the first Story Forge production.

What makes Story Forge different

🎞️

Five local models

Flux T2I + Wan i2v + Piper TTS + ACE-Step + ffmpeg. All open-source, all on-device.

🔌

Zero cloud

Nothing leaves the laptop. No upload step. No API charges. No rate limits. Ever.

📐

Scene-graph composable

Each scene = still + motion + narration. Change one, only that scene re-renders.

🔉

Warm storyteller voice

Per-sentence Piper + adelay+amix scene-sync + warm EQ chain. Bedtime-story quality.

Newest — July 22, 2026

The Director — talk to it, get a movie

The whole pipeline now sits behind a conversation. Open Story Forge and tell it the movie you want — a local LLM talks the concept through with you (title, style, characters, mood), then fills a storyboard. Each scene card walks itself through the formula with a paper trail: a generated still, a vision-model quality check, your approve-and-lock, a cheap draft animation to catch bad staging, then the full render. A locked scene can never be touched again. At the end it composes an instrumental score, assembles the cut, and hands the film to the judge stage below for a verdict — pass/fail counts reported as-is.

💬

Direct by conversation

Describe the film in plain words. The local director LLM pitches the concept and scene list back; you refine it in chat, nothing renders until it's locked.

🎬

Storyboard with gates

Every scene: still → QC check → approve & lock → draft → final. Re-roll anything unlocked with one click, or drop your own image straight onto a card.

🧠

Runs smart on one machine

A memory governor sequences image gen, video gen, music, the LLM and the vision judge on a single Mac — models load in batches, never stack, never thrash.

New — July 2026

The hard part isn't generating. It's checking.

Anyone can generate a pretty five-second clip. Making a film that makes sense is a different problem, and it is mostly a verification problem. We learned that the expensive way: an episode of ours passed 91 automated checks, 86 of them green, and was still incoherent. The checks confirmed the right mouth moved on the right line, no faces melted, no limbs multiplied, every voice landed on time. All true. Meanwhile the shot meant to show a bear driving his shoulder into a jammed door showed a bear idly poking the wall with a stick, the door never opened anywhere in the film, and the character being rescued never appeared on screen at all.

Every individual check passed. The film made no sense. Technical QC cannot see story. So Story Forge grew a second kind of review, and it is the part we are proudest of.

🎬

Does the picture show the beat?

A local vision model describes each frame blind — told the intended beat first, a model just agrees with you — then rules pass or fail against what the script says this shot is. First run over a "finished" episode: 2 of 11 shots passed.

🗳️

One instant is not a verdict

The same clip sampled at 1.1s and 2.7s ruled both ways. Every judgement votes across frames, majority rules, and every individual ballot is printed. Nothing hides behind an average.

🧬

Characters and sets held to canon

Every named character in a shot is compared to its locked master — allowing for distance and light, but not for "a generic cartoon animal of roughly the right colour." Sets get the same treatment, because one episode quietly ended up with four different trains.

🕳️

The beat that was never shot

Per-shot checks cannot catch a missing scene. A story spine lists the beats a film cannot exist without, and the build stops and names the hole — like a door that never opens.

🔁

It learns from the rejection

The judge says why in words. That sentence is fed into the next attempt and written to a house rulebook keyed by keyword, so a lesson earned on film one applies to film four. One shot failed four seeds, applied its own corrections, and passed on the next cycle unattended.

⚖️

We audit the auditor

A gate nobody checks is a different kind of guess. A calibration set of shots with known human verdicts grades the judge every run — currently 5 of 6 — and it warns loudly if agreement drops below 80%.

It also caught us. A check we loosened too far let an off-model bear through; the calibration set flagged it. Nothing silently lowers a bar: a shot that can't prove itself is reported UNBUILT rather than quietly used, a clip that only partly holds its beat is trimmed to the part that does and the trim is declared, and anything the judge can't assess is reported UNCHECKED — never as a pass. All of it runs on one laptop, offline.

Who it's for

Is this for you?

  • Indie filmmakers + animators who want a free, local, unlimited rendering pipeline
  • Parents making calm, sensory-friendly stories for kids — no flashing, no violence, no cloud
  • AI researchers building cinema-quality output from open models on Apple Silicon
  • Creators tired of cloud rate limits, subscription gates, and rights-grabby ToS
How to get it

How to forge a story

1

Write the scenes

One scene = one still prompt + one motion prompt + one narration line. Build a list.

2

Click forge

The pipeline iterates: Flux makes stills, Wan animates each, Piper narrates, ACE-Step scores, ffmpeg composes.

3

Watch your film

Final MP4 auto-opens in QuickTime. Title + credits + xfade transitions baked in.

Manifesto

We make our own rules.

We're not bound by upstream library defaults. We write our own DSL when JSON's too clumsy, our own Metal kernels when the vendor's path is slow. Cloud companies will tell you AI cinema needs a server farm. It doesn't. It needs a laptop, a script, and somebody willing to read the source.

What the cloud charges hundreds per film for, this pipeline does for the price of electricity. What people paid big data centers to run, we proved runs on a MacBook Pro on a kitchen table. We make our own rules. We build new things constantly. We make possible what people said wasn't possible.

Ready to forge your first film?

It's free, open source, and runs on the hardware you already own. Read the README, watch the first film, drop a star to help us keep building in public.

For firms · Confidential workflows

Need this for a law firm, healthcare org, or anywhere documents can't leave the machine?

Story Forge runs the same on your firm's MacBook as it does on mine. AirGap AI is the commercial pilot — a 14-day engagement that ships Story Forge (and the rest of the local-AI stack) into a real legal/medical workflow with verified network audits. Confidential storyboards in, finished video out, never a byte to a cloud.

Explore the AirGap pilot → Get in touch
Stay in the tribe

More from Divine Tribe

Full technical docs

The complete README

Open the GitHub README — every detail, every benchmark, every code block

Story Forge

A local-only generative video system. Any kind of video, any style, on one laptop. No cloud.

Story Forge is a generative video system for making video of any kind — narrated explainers, ambient pieces, promos, documentary cuts, music-driven shorts, and fully animated films — in any style, from one readable script, entirely on local Apple Silicon. Motion, narration, original music, titles and credits. Five open-source models composed by ffmpeg. Zero cloud calls. Zero API charges. Zero rate limits.

Full source, every benchmark, and every code block on GitHub →

The pipeline

.sf script → parser → resolver → emitter → .storyplan.json IR → render-route → ffmpeg

  • Flux 1 Dev — a still per scene (composition + character look)
  • Wan 2.2 i2v — hero motion (faces, action), native 5-second clips
  • LTX-Video 13B distilled 0.9.8 — atmospheric B-roll at 118s/clip on M5, ~5.6× faster than Wan
  • Piper TTS — warm storyteller narration through a deliberate EQ chain
  • ACE-Step — original instrumental score + per-scene SFX
  • ffmpeg — xfade stitch, sidechain-ducked mix, fades, mux

The .sf language

Story Forge films are written as .sf scripts — indentation-aware, comment-friendly, stdlib-only parser. A film is scenes; each scene declares its still, its motion engine, narration voices, music and SFX. render-route sends character/hero shots to Wan and atmospheric B-roll to LTX automatically, or you pin the engine per scene.

What's genuinely ours

  • LTX 13B distilled 0.9.8 on Apple Silicon MPS — likely the first public-confirmed working setup, via Lightricks' upstream multi-scale path.
  • Wan 2-step distillation trained on-device — we train our own step-distillation LoRA for Wan directly on Apple Silicon (not a data center) to collapse 4 denoising steps into 2.
  • An LPIPS-gated speedup harness — CI-style perceptual regression gates on every render optimization, so speedups can never silently degrade quality.
  • A compiled film DSL with deterministic IR + local multi-engine routing — a language for film, not JSON.

Why local

A full animated short with custom score and synced narration runs on one laptop you can carry in a bag. No upload step, no queue position, no subscription, no telemetry. What the cloud charges hundreds of dollars per film for, this does for the price of electricity.