Installing Premation
There are two ways in: the prebuilt desktop installer, and building from source. Most people want the installer. Build from source if you are on a platform whose installer has not shipped yet, or if you intend to change the code.
Check System requirements first — the GPU is the part that decides whether this works.
The desktop installer
| Platform | File | Status |
|---|---|---|
| Windows 10 / 11 · x64 | .exe | Available |
| macOS · Apple silicon and Intel | .dmg | Coming soon |
| Linux · x64 | .AppImage | Coming soon |
Download from the Premation site, run the installer, and launch. There is nothing else to configure for the editor itself.
The installer is unsigned during the beta. Windows SmartScreen will warn you the first time; choose More info → Run anyway. This will change before 1.0.
Building from source
Get the code and its dependencies
git clone <your-fork-url> motion-editor
cd motion-editor
npm installYou need Node.js 20 or newer and npm.
Run the desktop app with hot reload
npm run electron:devThis is the real app. It compiles the Electron main process, starts Vite on
localhost:5173, waits for it, and launches Electron.
Or run the renderer in a browser
npm run devFaster to iterate on the UI, but it is not the full product: no native menus, no local file access, and no MP4 or ProRes export.
Every script, and what it does
| Command | What it does |
|---|---|
npm run electron:dev | Vite + the Electron shell, both watching |
npm run dev | Renderer only, in your browser |
npm run build | Typecheck (tsc -b) and build the renderer bundle |
npm run electron:build | Build the renderer + compile electron/ |
npm run pack | Unpacked desktop build — fast, for testing packaging |
npm run dist | Installer for the current platform |
npm test | The full Jest suite |
npm run typecheck | tsc --noEmit |
npm run lint | ESLint |
npm run render-tests | Pixel-compare renders against reference frames |
npm run render-tests:update | Re-bless golden frames after an intended pixel change |
Installing ffmpeg
Optional, and only for video export. Without it you keep PNG/JPEG sequence, still frame, Lottie and project export; with it you additionally get MP4, WebM, GIF and ProRes.
Windows
Using winget:
winget install Gyan.FFmpegOr download a build, unzip it, and add the bin folder to your PATH.
Verify with ffmpeg -version. If you would rather point at a specific build,
set FFMPEG_PATH to the executable and Premation will use that in preference to
anything on your PATH.
The optional server
Premation talks to a companion NestJS server (motion-back, a separate
repository) for three things:
- sign-in,
- cloud project storage,
- the AI assistant.
It is genuinely optional. Without it you lose those three and keep everything else, including every export format. If you only want the editor, skip the server entirely.
The editor expects it on port 4000 when it is in use.
Read electron-builder.yml before you distribute a build of your own. As
committed it requires a sibling ../motion-back checkout and copies that
project’s .env into the installer — a file that holds database credentials
and API keys. Remove the extraResources entry and configure the server at
first run instead.
Bundling ffmpeg into your own build
To make video export work without a system ffmpeg, bundle the binary:
extraResources:
- from: <path-to-folder-containing>/ffmpeg # ffmpeg or ffmpeg.exe
to: ffmpegelectron/main.ts checks <resources>/ffmpeg before falling back to PATH.
Note that ffmpeg’s own licence terms — LGPL or GPL, depending on the build —
travel with the binary.
Next
- First launch — the dashboard, creating a project, the onboarding tour
- Your first animation