Pikimov is a free online motion design and video editor. Its online app can process projects entirely locally in your browser (nothing is uploaded to a server), so I made an offline mirror of it so it keeps working without an internet connection.
This project is modeled on the excellent suzuke/photopea project, which does the same thing for Photopea.
Download the repository (or just the pikimov.com folder).
Open a terminal.
cd into the folder where you downloaded it.
Serve the pikimov.com folder with ./serve.sh. On first HTTPS run it
generates a self-signed certificate. Use HTTPS — the app's timeline /
WebCodecs / scrubbing need a secure context, which plain HTTP on a LAN IP
does not provide:
./serve.sh # serves https://localhost:8080/app/ (self-signed TLS)
./serve.sh 8443 --http # or plain HTTP if you only use localhost
serve.py also sends the same Cross-Origin-Opener/Embedder/Resource-Policy
headers as the live site, so workers and video features initialize.
(A bare python3 -m http.server --directory pikimov.com 8080 serves files but
without TLS or those headers, so interactive timeline/scrolling can misbehave.)
Open https://localhost:8080/app/. Your browser will warn about the self-signed certificate — accept it once. The app should load and work like the online site.
The app/ sub-path matters: the app's internal paths expect to be served at
/app/..., which is exactly how https://pikimov.com/app is structured.
The app exposes no version API, so changes are detected by comparing the hash of
the live app bundle (app/assets/pikimov.js) against the local copy.
Check whether an update is available (also shows the online/local changelog version and bundle hashes):
python3 Updater.py --check
Update the offline mirror to the latest online version, then review and commit/share the result:
./update.sh # checks first, then updates if one is available
./update.sh --force # refresh regardless, no prompt
./update.sh --check # only report, make no changes
./update.sh refreshes the bundled AI models automatically (the repository is
merged into a single main that includes them). Equivalent manual commands:
python3 Updater.py --update # re-snapshot the app
python3 Updater.py --models # refresh the offline AI models + onnx wasm
Plain python3 Updater.py still re-snapshots the app as before.
The full-offline-ai-models work has been merged into main (single-branch
repo), so main now includes the offline AI models too.
main — the offline mirror with the three "AI" tools bundled for full
offline use:
pikimov.com/app/js/tr/*.js) are patched to set
env.allowRemoteModels = false and point localModelPath /
env.backends.onnx.wasm.wasmPaths at the bundled files.Download (or refresh) the bundled models and onnxruntime WebAssembly files with:
DOWNLOAD_MODELS=1 python3 Updater.py
This is an unofficial mirror of the Pikimov web application for private, offline study and use. It is not affiliated with or endorsed by the Pikimov project. All trademarks, model files and application code remain the property of their respective owners. Please refer to the Pikimov terms of service and support the author via Patreon.
13 commits
JavaScript
74.1%
HTML
14.5%
Python
8.5%
CSS
2.3%
Pikimov is a free online motion design and video editor. Its online app can process projects entirely locally in your browser (nothing is uploaded to a server), so I made an offline mirror of it so it keeps working without an internet connection.
This project is modeled on the excellent suzuke/photopea project, which does the same thing for Photopea.
Download the repository (or just the pikimov.com folder).
Open a terminal.
cd into the folder where you downloaded it.
Serve the pikimov.com folder with ./serve.sh. On first HTTPS run it
generates a self-signed certificate. Use HTTPS — the app's timeline /
WebCodecs / scrubbing need a secure context, which plain HTTP on a LAN IP
does not provide:
./serve.sh # serves https://localhost:8080/app/ (self-signed TLS)
./serve.sh 8443 --http # or plain HTTP if you only use localhost
serve.py also sends the same Cross-Origin-Opener/Embedder/Resource-Policy
headers as the live site, so workers and video features initialize.
(A bare python3 -m http.server --directory pikimov.com 8080 serves files but
without TLS or those headers, so interactive timeline/scrolling can misbehave.)
Open https://localhost:8080/app/. Your browser will warn about the self-signed certificate — accept it once. The app should load and work like the online site.
The app/ sub-path matters: the app's internal paths expect to be served at
/app/..., which is exactly how https://pikimov.com/app is structured.
The app exposes no version API, so changes are detected by comparing the hash of
the live app bundle (app/assets/pikimov.js) against the local copy.
Check whether an update is available (also shows the online/local changelog version and bundle hashes):
python3 Updater.py --check
Update the offline mirror to the latest online version, then review and commit/share the result:
./update.sh # checks first, then updates if one is available
./update.sh --force # refresh regardless, no prompt
./update.sh --check # only report, make no changes
./update.sh refreshes the bundled AI models automatically (the repository is
merged into a single main that includes them). Equivalent manual commands:
python3 Updater.py --update # re-snapshot the app
python3 Updater.py --models # refresh the offline AI models + onnx wasm
Plain python3 Updater.py still re-snapshots the app as before.
The full-offline-ai-models work has been merged into main (single-branch
repo), so main now includes the offline AI models too.
main — the offline mirror with the three "AI" tools bundled for full
offline use:
pikimov.com/app/js/tr/*.js) are patched to set
env.allowRemoteModels = false and point localModelPath /
env.backends.onnx.wasm.wasmPaths at the bundled files.Download (or refresh) the bundled models and onnxruntime WebAssembly files with:
DOWNLOAD_MODELS=1 python3 Updater.py
This is an unofficial mirror of the Pikimov web application for private, offline study and use. It is not affiliated with or endorsed by the Pikimov project. All trademarks, model files and application code remain the property of their respective owners. Please refer to the Pikimov terms of service and support the author via Patreon.
13 commits
JavaScript
74.1%
HTML
14.5%
Python
8.5%
CSS
2.3%