Installation and Running
A script is provided for Windows and Linux machines to install, update, and run ENFUGUE. Copy the relevant command below and answer the on-screen prompts to choose your installation type and install optional dependencies.
Windows
Access the command prompt from the start menu by searching for "command." Alternatively, hold the windows key on your keyboard and click x
, then press r
or click run
, then type cmd
and press enter or click ok
.
curl https://raw.githubusercontent.com/painebenjamin/app.enfugue.ai/main/enfugue.bat -o enfugue.bat
.\enfugue.bat
Linux
Access a command shell using your preferred method and execute the following.
curl https://raw.githubusercontent.com/painebenjamin/app.enfugue.ai/main/enfugue.sh -o enfugue.sh
chmod u+x enfugue.sh
./enfugue.sh
Both of these commands accept the same flags.
USAGE: enfugue.(bat|sh) [OPTIONS]
Options:
--help Display this help message.
--conda / --portable Automatically set installation type (do not prompt.)
--update / --no-update Automatically apply or skip updates (do not prompt.)
--mmpose / --no-mmpose Automatically install or skip installing MMPose (do not prompt.)
Windows/Linux Manual Installation
If you want to install without using the installation scripts, see this Wiki page.
MacOS
Automatic installers are coming! For now, please follow this manual installation method.
Download enfugue-server-0.3.3-macos-ventura-mps-x86_64.tar.gz, then double-click it to extract the package. When you run the application using the command below, your Mac will warn you of running downloaded packages, and you will have to perform an administrator override to allow it to run - you will be prompted to do this. To avoid this, you can run an included command like so:
./enfugue-server/unquarantine.sh
This command finds all the files in the installation and removes the com.apple.quarantine
xattr
from the file. This does not require administrator privilege. After doing this (or if you will grant the override,) run the server with:
./enfugue-server/enfugue.sh
Note: while the MacOS packages are compiled on x86 machines, they are tested and designed for the new M1/M2 ARM machines thanks to Rosetta, Apple's machine code translation system.
New Features
1. DragNUWA
DragNUWA is an exciting new way to control Stable Video Diffusion released by ProjectNUWA and Microsoft. It allows you to draw the direction and speed of motion over the course of an animation. An entirely new motion vector interface has been created to allow for easy input into this complicated system.
Review the video below for information on how to use DragNUWA, include controls for creating and modifying motions.
dragnuwa-controls.mp4
2. SVD Integration
To go along with the above, Stable Video Diffusion has been removed from the "Extras" menu and added to the main sidebar. When you enable animation, you will now be able to select between SVD and AnimateDiff/HotshotXL.
At the moment, SVD is treated as a post-processing step. Because there is no text-to-video yet for SVD, it will be treated as if you are making an image, and the image-to-video portion will be executed afterwards.
3. Altered Directory Structuring, Model Standardization and Improved Initialization
To better facilitate sharing between ENFUGUE and other Stable Diffusion web applications, a small handful of changes have been made.
- There are now more directories under the root directory to place different models. This matches more closely with other UI's.
- At initialization, you may now specify a different root directory. When doing so, the remaining directories will auto-configure; for example, if you point the root directory to the
models
folder in astable-diffusion-webui
installation, thecheckpoint
directory will configure itself to be the same as that applications'Stable-diffusion
directory. - Whenever you attempt to load a model that can be downloaded, such as a default checkpoint, the entire root directory will be scanned to locate it prior to downloading it, for all known AI model formats. This helps reduce the need for file duplication in situations where files are not in the expected location.
- VAE and ControlNets were previously downloaded in diffusers format when they were not found. This has been changed and now all model resources are downloaded in runway/stability format, again to best enable cross-application compatibility.
NOTE! As a result of the new structure, all of the files in the /cache
folder that begin with models--
may be deleted.
4. Improved Flexible Domain Routing
To help facilitate users running ENFUGUE on shared or on-demand server resources, networking has been improved for when you must communicate with ENFUGUE through a proxy. You should no longer need to configure a domain or paths for such situations explicitly, ENFUGUE should be able to determine based on the headers of the request that you are using a proxy, and the UI will adjust paths accordingly, both wioth and without SSL.
If you previously were configuring server.domain
or server.cms.path.root
manually, you can set server.domain
to null
and remove server.cms.path.root
to enable flexible domain routing. You should find that simply accessing the reported proxy URL should work with no further configuration needed.
Full Changelog: 0.3.2...0.3.3
What's Next
Planned for 0.3.4
These are all repeats from the previous release - DragNUWA was a surprise and diverted attention!
1. Images/Video on the Timeline
The Prompt Travel interface will be expanded to allow images and video to be manually placed on them.
2. Audio
Audio will additionally be added to the timeline, and will be an input for audio-reactive diffusion.
3. Additional Model Support
- IP Adapter + FaceID
- PhotoMaker
- SVD ControlNet
- PIA (Personalized Image Adapter)
Planned for 0.4.0
1. 3D/4D Diffusion
Support Stable123 and other 3D model generators.