This repository now combines:
- EDMG Studio, the primary desktop product
- standalone EDMG engine flows
- legacy A1111 / engine integration paths
- installer and build tooling for compatibility and advanced workflows
EDMG Studio is the authoritative product surface. The other repo-root entrypoints remain available for compatibility, migration, and engine-specific workflows, but they are not equal alternatives to the Studio product.
The Studio product spans two desktop clients and one authoritative backend:
studio/edmg-studio-winui/— primary packaged Windows frontendstudio/edmg-studio/— shared FastAPI backend plus the Electron/React client retained for Linux and compatibility
Both clients use the same project format and authenticated localhost API. Audio
analysis, AI/provider integration, CUDA/TensorRT inference, rendering, jobs,
outputs, and model lifecycle stay in
studio/edmg-studio/python_backend/; WinUI does not duplicate those engines.
The legacy standalone web UI prototypes have been retired from the active product surface. Their planning and audio-reactive workflows now live inside Studio workbenches such as:
studio/edmg-studio/src/workbenches/AiNlpWorkbench.tsxstudio/edmg-studio/src/workbenches/AudioReactiveWorkbench.tsx
Windows:
RUN_ME.batmacOS/Linux:
./run_me.shOn Windows, RUN_ME.bat launches the packaged WinUI profile by default.
RUN_ME.bat electron (or compat) opens the established Electron launcher when
that compatibility surface is required. On Linux, run_me.sh continues to use
the Electron/React Studio. The clients share Studio Home, backend settings, and
runtime data.
Inside Studio:
- set Studio Home to
D:\...or another large volume if you want heavy runtime state off the system drive - run Full Setup for Ollama + ComfyUI Portable
- optionally install or repair EDMG Core from the same Setup page
Studio separates the app install directory from the heavy runtime storage root.
The Studio Home typically contains:
datamodelscachelogsexternalelectron
That keeps large downloads, model caches, render outputs, and external tools off the app install path and makes migration to another drive or mount easier.
These still exist, but they are not the primary product entry:
start.batstart.shinstall.ps1install.shbootstrap_all.pyinstaller_gui.pysetup.pydesktop/electron/- standalone engine / Gradio workflows
- archived UI prototypes in
examples/archive-ui/
Treat them as compatibility or engine-specific workflows around the broader EDMG codebase, not as equal alternatives to Studio.
Linux/Mac:
bash install.sh full cpu
# or CUDA (example)
bash install.sh full cu121Windows:
.\install.ps1 -Mode full -Cuda
# or use the GUI installer to choose cu118/cu121/cu124
# Example: keep the venv and caches on D:
.\install.ps1 -Mode full -Backend cu121 -Venv D:\EDMG\venv -CacheRoot D:\EDMG\cacheLinux/Mac:
./start.shWindows:
.\start.batThe Gradio UI defaults to Deforum JSON Expert mode:
- a full Deforum settings template is shown as editable JSON
- EDMG generates audio-reactive schedules and prompts
- your edited template overrides generated output keys when merged
An older Electron shell still exists here:
desktop/electron
It is superseded by the WinUI Windows client and the maintained
studio/edmg-studio Electron compatibility client.
This repo still contains legacy engine and integration paths, but it does not
ship a bundled a1111_extension/ folder anymore.
If you need Automatic1111 integration, treat it as an external or legacy workflow alongside the standalone EDMG engine. The authoritative Studio paths remain:
studio/edmg-studio-winui/studio/edmg-studio/
- Run all JS/Electron commands from
studio/edmg-studio/. - Use Node.js
20.19+or22.12+; Node 22 LTS is pinned instudio/edmg-studio/.node-version. - The canonical package manager is
pnpm@10.33.0, pinned instudio/edmg-studio/package.json. - The Electron compatibility package version comes from
studio/edmg-studio/package.json#version. The WinUI package carries its own synchronized MSIX/.NET version metadata.
- Python is pinned to 3.12 in
.python-version. uv0.11.28 manages Python acquisition, the backend environment, locking, tests, linting, and PyInstaller builds for the Studio/backend path.studio/edmg-studio/python_backend/uv.lockis committed release input.- Select exactly one accelerator extra:
cpu,directml, orcuda; compose it with capability extras such asaudio,asr, andinternal-video. - Packaged Electron applications include the PyInstaller backend and do not require end users to install Python or uv. The WinUI production package must consume that same validated backend payload; MSIX clean-machine qualification remains a separate release gate.
See docs/PYTHON_TOOLCHAIN.md for commands and the lock-update policy.
For Studio release operations, use:
Additional strategy and operator docs:
- docs/STUDIO_REPO_MAP.md
- docs/TESTING_QUICKSTART.md
- docs/UV_MIGRATION_INVENTORY.md
- docs/MODEL_MANAGER.md
- studio/edmg-studio/docs/STUDIO_MODULARITY.md
- docs/STUDIO_FORGE.md
- docs/UNIFIED_INTERNAL_RENDERER_PLAN.md
- docs/VISUAL_DNA_AND_RENDER_CONDUCTOR_SPEC.md
- docs/STARLIFT_VM_DEPLOY.md
- docs/GCP_GPU_VM_DEPLOY.md
- docs/AI_PROVIDERS.md
- docs/HF_VIDEO_MODELS.md
- docs/AI_INTEGRATION.md
- Repo-level tests live under
tests/; backend tests live understudio/edmg-studio/python_backend/. - Run both scopes from the repo root with:
uv run --project studio/edmg-studio/python_backend --frozen --extra cpu --extra core --extra audio --group test python scripts/run_pytest_scopes.py- The runner checks the committed lock and performs a frozen CPU-profile sync before executing either scope.
- This project installs Python dependencies but does not install GPU drivers.
- First run of the legacy A1111 path can take time because Stable Diffusion WebUI creates and populates its own environment.
- Repo-root
sitecustomize.pyand the repo-rootlibrosa/package are source-tree compatibility shims for development and tests. - Packaged/backend install flows rely on the declared Python dependencies and do not package those repo-root shims.