mortiflix-oss README

The project's README from github.com/GTKottman/mortiflix-oss. As one markdown file: README.md.

Mortiflix

Mortiflix

A motion design studio on your own machine.
Claude makes the video step by step. You approve every stage.

How to use Mortiflix: tap to watch the video
▶ Watch: How to use Mortiflix (3:07). This video was made with Mortiflix.


Most "AI video" tools are one prompt and a slot machine. Mortiflix works like a real motion design studio: a brief, a script, style frames, a transition board, an animatic, a final, and you review each stage before the next one starts. You pin a note on the exact spot of a frame or the exact moment of a video. The next version answers every note, one by one, and shows you what changed.

It's built for one person: you write the briefs, you review every stage, and the studio runs on your machine. The work is done by Claude through your own Claude Code login or your own Anthropic API key. Mortiflix is the harness around it: the pipelines, the gates, the review room, and the memory that carries a project across sessions and days.

 brief ──▶ script ──▶ style frames ──▶ animatic ──▶ build ──▶ final ──▶ delivered
   ▲          ▲            ▲              ▲                     ▲
   └── you ───┴──── you ───┴───── you ────┴──────── you ────────┘
       approve, pin notes, answer questions (the session stops at every gate)

Why it's built this way

Quick start

Tested mostly on Linux so far. A Windows version is coming in the next two weeks (by October 20, 2026). macOS should mostly work but hasn't been tested yet.

You need Node 20+ and ffmpeg. For real videos you also need one of:

git clone https://github.com/GTKottman/mortiflix-oss.git && cd mortiflix-oss
npm install
npm link                 # puts `mortiflix` on your PATH (or use: node bin/mortiflix)

mortiflix init           # makes the studio folder (~/Mortiflix) and picks a backend it finds
mortiflix setup          # the walkthrough: Claude, narration, music, assets, 3D (asks before installing anything)
mortiflix demo           # a full walk-through with placeholder work: free, no Claude needed

Then either:

A. In the terminal

mortiflix new explainer          # asks the brief's questions
mortiflix run                    # sessions run until something waits on you
mortiflix review                 # read the note, answer questions, pin notes, approve or ask for changes
mortiflix run                    # ...and so on until it's delivered

B. In the browser

mortiflix serve                  # http://127.0.0.1:4646

The web studio shows what's waiting on you, a live log of what Claude is doing, and the review room: click a frame to pin a note, pause a video to note a moment, comment on a paragraph of the script, answer the session's questions, and approve. Sessions start by themselves while serve runs. To use it from another device, run mortiflix serve --host 0.0.0.0: you then get a private link with an access token (put it behind HTTPS if it leaves your network).

Backends

Backend What runs Who pays
claude-code claude -p in the project folder, with your login your Claude plan
anthropic-api Mortiflix's own agent loop on the Claude API: a persistent shell, a file editor that can show Claude the frames it renders, web search, prompt caching, compaction for long sessions your API key, per token
demo a scripted stand-in that walks every gate with placeholder frames and a test-pattern video nobody

Pick one with mortiflix init --backend …, mortiflix config backend …, or Settings in the web studio. Each project shows what its Claude work cost: on a Claude plan, what it would have cost at API prices (you didn't pay that); with an API key through Claude Code, about what you spent.

Your keys

Mortiflix runs on your own accounts: there's nothing to sign up for. mortiflix init asks for your keys, and mortiflix keys changes them any time (Settings › Keys in the web studio does the same):

Anthropic API key   only for the anthropic-api backend (Claude Code uses your own login)
ElevenLabs API key  only for ElevenLabs narration, sound effects and music
Other keys          anything a pipeline's tools read from the environment, e.g. GEMINI_API_KEY

Typing is hidden, each key is checked with a free API call before it's saved, and they're written to the studio folder only (secrets.json and session.env, mode 600). If a project needs a key you haven't added, it asks before it starts (mortiflix new, or the web studio's Start button) instead of failing halfway through. For scripts: echo "$KEY" | mortiflix keys set elevenlabs.

What it can make today

Pipeline Steps you review Good for
explainer brief → script → style frames → transitions → animatic → music → final 30 s to 2 min explainers, narrated or not, with an original score
social-short brief → hook frames → transitions → final 45 s to 3 min vertical shorts: hook first, works with sound off
logo-sting directions → final a 3–8 s logo animation; the quickest real run

They build in Remotion (React video) and check every render with ffmpeg (qc.mjs: format, black or frozen frames, loudness, a frame sheet Claude has to look at). Remotion has its own license: free for individuals and small teams, a company license above that. Check it for your case.

Narration

Pick a voice in Settings › Narration (or mortiflix voice):

Generated lines are checked by speech to text and retaken if words go missing; word timings drive the animation. Details: docs/VOICE.md.

Transitions

Before the animatic, every project gets a transition board: for each change from one style frame to the next, the object or idea on screen that carries it, why the cut happens there, the word it lands on, and real in-between frames rendered from the two style frames and the chosen transition. Transitions come from the remotion-transitions library (installed by setup), or are new ones inspired by it. The screen never goes blank: no dip to a flat colour, no flash to white. A check reads every 10% of every transition and fails any frame that does.

Setup: music, assets and 3D

mortiflix setup (or Settings › Setup) explains each part, why it's needed and what it installs, then asks. Everything goes into the studio folder, never system-wide. Full details: docs/SETUP.md.

Make your own pipeline

cp -r pipelines/logo-sting ~/Mortiflix/pipelines/my-pipeline   # the studio's own pipelines override built-ins
$EDITOR ~/Mortiflix/pipelines/my-pipeline/pipeline.json
mortiflix pipelines                                             # validates it
mortiflix new my-pipeline --backend demo                        # walk its gates for free

Read docs/PIPELINES.md. This is where help is most wanted: music videos, product films, data stories, kinetic type, 3D in Blender, captions for existing footage. If you can describe how a good studio makes it, it can be a pipeline.

How it works

Where it came from

Mortiflix began as a hosted motion design studio, where every video was made stage by stage behind the same kind of gates, with clients approving each one. This repository is that process, boiled down to one machine and opened up, so it can be improved by more people than one studio.

Not here yet (from the hosted studio, contributions welcome): workflow preferences learned from your pins, redo rounds on a delivered video, share links, music in the social-short pipeline, and more pipelines (codebase explainers, 3D music videos, real estate films).

Contributing

See CONTRIBUTING.md. Tests run in about a second (npm test) and never call the network.

License

AGPL-3.0. If you run a modified Mortiflix as a service for others, share your changes. The bundled fonts (Sora, Unbounded) are under the SIL Open Font License (web/fonts/).

mortiflix-oss (GTKottman/mortiflix-oss)

Searching Database…

What is this?Mortiflix is a self-hosted motion design studio where Claude makes a video step by step - brief, script, style frames, transition board, animatic, final - and you review and approve each stage before the next one starts.
Is this a one-prompt AI video generator or something different?It is not a single-prompt generator. Mortiflix is a harness that runs Claude through a structured pipeline with review gates, so you see and sign off on every stage instead of getting one output from a prompt.
How do I get it running?Install Node 20+ and ffmpeg, then use the terminal or the web studio to run it; `mortiflix init` sets up your backend and keys, and `mortiflix serve` launches the review interface in your browser.
Do I need a Claude Code login or an Anthropic API key?You need one of the two for real videos: a logged-in Claude Code session (billed through your plan) or an Anthropic API key (billed per token); a demo backend with placeholder output works with neither.
Does it run on Windows and macOS right now?It's tested mostly on Linux so far. A Windows build is coming by October 20, 2026, and macOS should mostly work but hasn't been tested yet.
Where do my API keys and secrets end up?Keys are entered locally through the CLI or web settings and written only to the studio project folder (secrets.json, session.env, mode 600) - nothing is uploaded elsewhere.
What are the licensing catches?Mortiflix itself is AGPL-3.0, so if you host a modified version as a service for others you must share your changes; bundled fonts use the SIL Open Font License, and the Remotion renderer it builds on has its own separate license for companies above a small-team size.
What pipelines does it support out of the box?Three: explainer (brief to a narrated 30s-2min video with original score), social-short (hook-first vertical shorts), and logo-sting (a quick 3-8s logo animation).
How does narration work?You pick ElevenLabs cloud voices, a local Qwen3-TTS model running through ComfyUI on your own GPU (free and private), record your own voice line by line, or skip narration for on-screen text and music only.
Can I write my own pipeline?Yes - a pipeline is just a folder with a pipeline.json (steps and checks), a PIPELINE.md describing the craft, and skills; docs/PIPELINES.md explains the format and the project actively wants more pipelines contributed.
How is the music composed?After you approve the animatic, Mortiflix writes original music in Strudel, scored to the video's real timing, and runs a machine check on harmony and hit timing before you ever hear the track.
Creator
GTKottman
Size
11.2 MB
Stars
642
Updated
CommitOct 08
Age
13d
Commits · 90 Days