Story Forge
A local-only generative cinema pipeline. Animated films on one laptop. No cloud.
Story Forge takes a structured story description and produces a finished animated film — motion, narration, original music, title and credits — entirely on local Apple Silicon. 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.