App.enfugue.ai Versions Save

ENFUGUE is an open-source web app for making studio-grade images and video using generative AI.

0.1.3

10 months ago

Thank You!

Thanks again to everyone who has helped test Enfugue so far. I'm happy to release the third alpha package, which comes with more bug fixes, some hotly requested features, and improved stability and robustness.

Installation

Standalone

First-Time Installation

Linux

First, decide which version you want - with or without TensorRT support. TensorRT requires a powerful, modern Nvidia GPU. Then, download the appropriate manylinux files here (3 for TensorRT, 2 for base,) place them in their own folder, concatenate them and extract them. A simple console command to do that is:

cat enfugue-server-0.1.3*.part | tar -xvz

Windows

Download the win64 files here, and extract them using a program which allows extracting from multiple archives such as 7-Zip.

If you are using 7-Zip, you should not extract both files independently. If they are in the same directory when you unzip the first, 7-Zip will automatically unzip the second. The second file cannot be extracted on its own.

Upgrading

To upgrade either distribution, download and extract the appropriate upgrade package on this release. Copy all files in the upgrade package into your Enfugue installation directory, overwriting any existing files.

Provided Conda Environments

First-Time Installation

To install with the provided Conda environments, you need to install a version of Conda.

After installing Conda and configuring it so it is available to your shell or command-line, download one of the environment files depending on your platform and graphics API.

  1. First, choose windows- or linux- based on your platform.
  2. Then, choose your graphics API:
    • If you have a powerful next-generation Nvidia GPU (3000 series and better with at least 12 GB of VRAM), use tensorrt for all of the capabilities of cuda with the added ability to compile TensorRT engines.
    • If you have any other Nvidia GPU or other CUDA-compatible device, select cuda.
    • Additional graphics APIs (rocm, mps, and directml) are being added and will be available soon.

Finally, using the file you downloaded, create your Conda environment:

conda env create -f <downloaded_file.yml>

You've now installed Enfugue and all dependencies. To run it, activate the environment and then run the installed binary.

conda activate enfugue
enfugue run

Upgrading

To upgrade with the provided environment, use pip like so:

conda activate enfugue
pip install enfugue --ugprade

Self-Managed Environment

First-Time Installation

pip install enfugue

If you are on Linux and want TensorRT support, execute:

pip install enfugue[tensorrt]

If you are on Windows and want TensorRT support, follow the steps detailed here.

Upgrading from 0.1.x

pip install enfugue --upgrade

New Features

  • Portable distributions are now released in both a standalone package as well as an upgrade package. When using an upgrade package, copy the contents of the folder over your previous installation, overwriting any existing files.
  • Added a Linux portable distribution without TensorRT support for a smaller download size (approximately 1.4GB smaller.)
  • The Model Picker has been given the ability to directly select checkpoints in addition to the previous method of selecting from preconfigured models. When selecting a checkpoint, an additional set of inputs will be presented that allow the user to enter LoRA and Textual Inversions.
  • For portable distributions, added a task to automatically open a browser window to the app once the server has become responsive, to avoid confusion over the format of the interface. This can be disabled with configuration.
  • For Windows portable distribution, added a context menu item to the icon displayed in the bottom-right that opens a browser window to the app when clicked.

Issues Fixed

  • Fixed an issue whereby the base Stable Diffusion checkpoint would be downloaded even when not required.
  • Fixed an issue where invocations were failing to pick up after having refreshed the page. You should now properly return to the current execution if you refresh the page while the engine is still diffusing.
  • Fixed an issue with the File > Save dialog not working.

Changes

  • Altered language around Models - changed to 'Model Configurations' to avoid confusion between Checkpoints and sets of configuration.
  • Drastically reduced VRAM usage of initial checkpoint load by offloading to CPU.
  • Reduced the size of the Windows and Linux TensorRT installations by ~400MB.
  • Added automated, isolated builds to reduce dependency issues going forward.

0.1.2

11 months ago

Thank you!

Thank you to everyone who has helped test so far, you've all been extremely helpful.

I hope this release corrects a lot of the issues people have been having!

Installation

Self-Managed Environment

First-Time Installation

pip install enfugue

If you are on Linux and want TensorRT support, execute:

pip install enfugue[tensorrt]

If you are on Windows and want TensorRT support, follow the steps detailed here.

Upgrading from 0.1.x

pip install enfugue --upgrade

Standalone

Linux

Download the manylinux files here, concatenate them and extract them. A simple console command to do that is:

cat enfugue-server-0.1.2*.part | tar -xvz

Windows

Download the win64 files here, and extract them using a program which allows extracting from multiple archives such as 7-Zip.

If you are using 7-Zip, you should not extract both files independently. If they are in the same directory when you unzip the first, 7-Zip will automatically unzip the second. The second file cannot be extracted on it's own.

New Features

  • Added directory options to initialization, allowing you to set where Enfugue looks for and stores checkpoints, LoRA, and other models.
    • Note: Enfugue will only create a directory if it is in it's base cache directory. If you specify a directory outside of that, and the directory does not exist, Enfugue will not accept the input.
  • Added a "change directory" option in System > Installation Manager to change directories after initialization.
    • Note: Files are not moved when you do this. If you want to bring the files from the old directory to the new, you will need to copy them over yourself.
  • Added a new menu option System > Engine Logs. This gives you a realtime view of the activities of the diffusion engine, which inclues all activities of Stable Diffusion itself, as well as any necessary downloads or longer-running processes like TensorRT engine builds.
    • Note: This is a real-time view, and will always show the most recent 100 log entries. There can be a lot of logs, so it's necessary to trim the UI often or else it will bog down substantially. If you want to view the logs in non-real-time, navigate to the your .cache directory (in /home/<youruser> on linux, C:\Users<youruser>.cache on windows, substitute your drive letter as needed.)
  • Added a new command dump-config that reads the packaged configuration a writes to stdout or a file. Default format is yaml, but json is also supported.
Usage: enfugue dump-config [OPTIONS]

  Dumps a copy of the configuration to the console or the specified path.

Options:
  -f, --filename TEXT  A file to write to instead of stdout.
  -j, --json           When passed, use JSON instead of YAML.
  --help               Show this message and exit.
  • Added a new flag to run that allows you to specify a configuration file to load instead of the default. enfugue run now has the signature:
Usage: enfugue run [OPTIONS]

  Runs the server synchronously using cherrypy.

Options:
  -c, --config TEXT  An optional path to a configuration file to use instead
                     of the default.
  --help             Show this message and exit.
  • Note: The configuration file must have a proper extension indicating it's format, i.e. either /json or .yml/.yaml.

Documentation regarding what settings are available and what they do is up on the wiki.

Issue Fixes

  • Fixed an issue where JavaScript Module files were being served with the inappropriate Content-Type, resulting in a non-functional UI.
  • Fixed an issue where the base Stable Diffusion model would be initialized twice when it was explicitly being used, consuming singificant extra amounts of VRAM.
  • Fixed an issue where the Polygraphy package was listed as always required, when it is only required for TensorRT

Changes

  • Removed need to create diffusers cache directory when not using TensorRT (saves significant hard disk space)
  • Added output to the enfugue run command so you know it's working and what URL to go to.
  • Separated server logs and engine logs. Server logs are now kept at the previous ~/.cache/enfugue.log location, and engine logs are at ~/.cache/enfugue-engine.log
    • Server logs have had their default level changed to ERROR to hide unhelpful messages, as the server is mostly stable.
    • Engine logs have their default level at DEBUG to give as much information as possible to the front-end. This may change in the future.

0.1.0

11 months ago

Thank you for trying out Enfugue!

This is the first alpha release, version 0.1.0.

For Linux users, download the manylinux files here, concatenate them and extract them. A simple console command to do that is:

cat enfugue-server-0.1.0*.part | tar -xvz

For Windows users, download the win64 files here, and extract them using a program which allows extracting from multiple archives such as 7-Zip.

If you are using 7-Zip, you should not extract both files independently. If they are in the same directory when you unzip the first, 7-Zip will automatically unzip the second. The second file cannot be extracted on it's own.

Checksums:

16b6fcfe4a1e357c6619f55b266ce14b  enfugue-server-0.1.0-manylinux.tar.gz.0.part
0adf7fe6b2a378a45212bcc4a4f86939  enfugue-server-0.1.0-manylinux.tar.gz.1.part
c1a226b07fe00aa7825a868254c4fc69  enfugue-server-0.1.0-manylinux.tar.gz.2.part
489ebf6d6a713abc463763a75bff7b4c  enfugue-server-0.1.0-win64.zip.001
1d8ce3cdf6e9e5e71747f1e182f27e27  enfugue-server-0.1.0-win64.zip.002

After extraction, simply run the server - with enfugue-server.exe on Windows, or enfugue.sh on Linux.

Thank you again!