InvokeAI

InvokeAI is a leading creative engine for Stable Diffusion models, empowering professionals, artists, and enthusiasts to generate and create visual media using the latest AI-driven technologies. The solution offers an industry leading WebUI, supports terminal use through a CLI, and serves as the foundation for multiple commercial products.

APACHE-2.0 License

Downloads
30K
Stars
22.4K
Committers
194
InvokeAI - InvokeAI Version 2.3.3 - A Stable Diffusion Toolkit

Published by lstein over 1 year ago

We are pleased to announce a bugfix update to InvokeAI with the release of version 2.3.3.

What's New in 2.3.3

This is a bugfix and minor feature release.

Bugfixes

Since version 2.3.2 the following bugs have been fixed:

Bugs

  1. When using legacy checkpoints with an external VAE, the VAE file is now scanned for malware prior to loading. Previously only the main model weights file was scanned.
  2. Textual inversion will select an appropriate batchsize based on whether xformers is active, and will default to xformers enabled if the library is detected.
  3. The batch script log file names have been fixed to be compatible with Windows.
  4. Occasional corruption of the .next_prefix file (which stores the next output file name in sequence) on Windows systems is now detected and corrected.
  5. Support loading of legacy config files that have no personalization (textual inversion) section.
  6. An infinite loop when opening the developer's console from within the invoke.sh script has been corrected.
  7. Documentation fixes, including a recipe for detecting and fixing problems with the AMD GPU ROCm driver.

Enhancements

  1. It is now possible to load and run several community-contributed SD-2.0 based models, including the often-requested "Illuminati" model.
  2. The "NegativePrompts" embedding file, and others like it, can now be loaded by placing it in the InvokeAI embeddings directory.
  3. If no --model is specified at launch time, InvokeAI will remember the last model used and restore it the next time it is launched.
  4. On Linux systems, the invoke.sh launcher now uses a prettier console-based interface. To take advantage of it, install the dialog package using your package manager (e.g. sudo apt install dialog).
  5. When loading legacy models (safetensors/ckpt) you can specify a custom config file and/or a VAE by placing like-named files in the same directory as the model following this example:
my-favorite-model.ckpt
my-favorite-model.yaml
my-favorite-model.vae.pt      # or my-favorite-model.vae.safetensors

Installation / Upgrading

To install or upgrade to InvokeAI 2.3.3 please download the zip file at the bottom of the release notes (under "Assets"), unpack it, and then double-click to launch the script install.sh (Macintosh, Linux) or install.bat (Windows). Alternatively, you can open a command-line window and execute the installation script directly.

InvokeAI-installer-v2.3.3.zip

To update from 2.3.1 or 2.3.2 you may use the "update" option (choice 6) in the invoke.sh/invoke.bat launcher script and choose the option to update to 2.3.3.

Alternatively, you may use the installer zip file to update. When it asks you to confirm the location of the invokeai directory, type in the path to the directory you are already using, if not the same as the one selected automatically by the installer. When the installer asks you to confirm that you want to install into an existing directory, simply indicate "yes".

Developers and power users can upgrade to the current version by activating the InvokeAI environment and then using pip install --use-pep517 --upgrade InvokeAI . You may specify a particular version by adding the version number to the command, as in InvokeAI==2.3.3. To upgrade to an xformers version if you are not currently using xformers, use pip install --use-pep517 --upgrade InvokeAI[xformers]. You can see which versions are available by going to The PyPI InvokeAI Project Page

Known Bugs in 2.3.3

These are known bugs in the release.

  1. The Ancestral DPMSolverMultistepScheduler (k_dpmpp_2a) sampler is not yet implemented for diffusers models and will disappear from the WebUI Sampler menu when a diffusers model is selected.
  2. Windows Defender will sometimes raise Trojan or backdoor alerts for the codeformer.pth face restoration model, as well as the CIDAS/clipseg and runwayml/stable-diffusion-v1.5 models. These are false positives and can be safely ignored. InvokeAI performs a malware scan on all models as they are loaded. For additional security, you should use safetensors models whenever they are available.

What's Changed

Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v2.3.2.post1...v2.3.3-rc1

Acknowledgements

Many thanks to @psychedelicious, @blessedcoolant (Vic), @JPPhoto (Jonathan Pollack), @ebr (Eugene Brodsky) @JoshuaKimsey, @EgoringKosmos, and our crack team of Discord moderators, @gogurtenjoyer and @whosawhatsis, for all their contributions to this release.

Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v2.3.2.post1...v2.3.3

InvokeAI - InvokeAI Version 2.3.2

Published by lstein over 1 year ago

We are pleased to announce a bugfix update to InvokeAI with the release of version 2.3.2.

What's New in 2.3.2

This is a bugfix and minor feature release.

Bugfixes

Since version 2.3.1 the following bugs have been fixed:

  1. Black images appearing for potential NSFW images when generating with legacy checkpoint models and both --no-nsfw_checker and --ckpt_convert turned on.
  2. Black images appearing when generating from models fine-tuned on Stable-Diffusion-2-1-base. When importing V2-derived models, you may be asked to select whether the model was derived from a "base" model (512 pixels) or the 768-pixel SD-2.1 model.
  3. The "Use All" button was not restoring the Hi-Res Fix setting on the WebUI
  4. When using the model installer console app, models failed to import correctly when importing from directories with spaces in their names. A similar issue with the output directory was also fixed.
  5. Crashes that occurred during model merging.
  6. Restore previous naming of Stable Diffusion base and 768 models.
  7. Upgraded to latest versions of diffusers, transformers, safetensors and accelerate libraries upstream. We hope that this will fix the assertion NDArray > 2**32 issue that MacOS users have had when generating images larger than 768x768 pixels. Please report back.

As part of the upgrade to diffusers, the location of the diffusers-based models has changed from models/diffusers to models/hub. When you launch InvokeAI for the first time, it will prompt you to OK a one-time move. This should be quick and harmless, but if you have modified your models/diffusers directory in some way, for example using symlinks, you may wish to cancel the migration and make appropriate adjustments.

New "Invokeai-batch" script

2.3.2 introduces a new command-line only script called invokeai-batch that can be used to generate hundreds of images from prompts and settings that vary systematically. This can be used to try the same prompt across multiple combinations of models, steps, CFG settings and so forth. It also allows you to template prompts and generate a combinatorial list like:

a shack in the mountains, photograph
a shack in the mountains, watercolor
a shack in the mountains, oil painting
a chalet in the mountains, photograph
a chalet in the mountains, watercolor
a chalet in the mountains, oil painting
a shack in the desert, photograph
...

If you have a system with multiple GPUs, or a single GPU with lots of VRAM, you can parallelize generation across the combinatorial set, reducing wait times and using your system's resources efficiently (make sure you have good GPU cooling).

To try invokeai-batch out. Launch the "developer's console" using the invoke launcher script, or activate the invokeai virtual environment manually. From the console, give the command invokeai-batch --help in order to learn how the script works and create your first template file for dynamic prompt generation.

Installation / Upgrading

To install or upgrade to InvokeAI 2.3.2 please download the zip file at the bottom of the release notes (under "Assets"), unpack it, and then double-click to launch the script install.sh (Macintosh, Linux) or install.bat (Windows). Alternatively, you can open a command-line window and execute the installation script directly.

InvokeAI-installer-v2.3.2.post1.zip

To update from 2.3.1 you may use the "update" option (choice 6) in the invoke.sh/invoke.bat launcher script. Alternatively, you may use the installer. When it asks you to confirm the location of the invokeai directory, type in the path to the directory you are already using, if not the same as the one selected automatically by the installer. When the installer asks you to confirm that you want to install into an existing directory, simply indicate "yes".

Developers and power users can upgrade to the current version by activating the InvokeAI environment and then using pip install --use-pep517 --upgrade InvokeAI . You may specify a particular version by adding the version number to the command, as in InvokeAI==2.3.2. To upgrade to an xformers version if you are not currently using xformers, use pip install --use-pep517 --upgrade InvokeAI[xformers]. You can see which versions are available by going to The PyPI InvokeAI Project Page

Known Bugs in 2.3.2

These are known bugs in the release.

  1. The Ancestral DPMSolverMultistepScheduler (k_dpmpp_2a) sampler is not yet implemented for diffusers models and will disappear from the WebUI Sampler menu when a diffusers model is selected.
  2. Windows Defender will sometimes raise a Trojan alert for the codeformer.pth face restoration model. As far as we have been able to determine, this is a false positive and can be safely whitelisted.

What's Changed

Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v2.3.1...v2.3.2

Acknowledgements

Many thanks to @mauwii (Matthias Wilde), @psychedelicious, @blessedcoolant (Vic), @blhook (Pull Shark), and our crack team of Discord moderators, @gogurtenjoyer and @whosawhatsis, for all their contributions to this release.

InvokeAI - v.2.3.1.post2

Published by lstein over 1 year ago

We are pleased to announce a bugfix and quality of life update to InvokeAI with the release of version 2.3.1.

What's New in 2.3.1

This is primarily a bugfix release, but it does provide several new features that will improve the user experience.

Enhanced support for model management

InvokeAI now makes it convenient to add, remove and modify models. You can individually import models that are stored on your local system, scan an entire folder and its subfolders for models and import them automatically, and even directly import models from the internet by providing their download URLs. You also have the option of designating a local folder to scan for new models each time InvokeAI is restarted.

There are three ways of accessing the model management features:

  1. From the WebUI, click on the cube to the right of the model selection menu. This will bring up a form that allows you to import models individually from your local disk or scan a directory for models to import.

image

  1. Using the Model Installer App

Choose option (5) download and install models from the invoke launcher script to start a new console-based application for model management. You can use this to select from a curated set of starter models, or import checkpoint, safetensors, and diffusers models from a local disk or the internet. The example below shows importing two checkpoint URLs from popular SD sites and a HuggingFace diffusers model using its Repository ID. It also shows how to designate a folder to be scanned at startup time for new models to import.

Command-line users can start this app using the command invokeai-model-install.

image

  1. Using the Command Line Client (CLI)

The !install_model and !convert_model commands have been enhanced to allow entering of URLs and local directories to scan and import. The first command installs .ckpt and .safetensors files as-is. The second one converts them into the faster diffusers format before installation.

Internally InvokeAI is able to probe the contents of a .ckpt or .safetensors file to distinguish among v1.x, v2.x and inpainting models. This means that you do not need to include "inpaint" in your model names to use an inpainting model. Note that Stable Diffusion v2.x models will be autoconverted into a diffusers model the first time you use it.

Please see INSTALLING MODELS for more information on model management.

An Improved Installer Experience

The installer now launches a console-based UI for setting and changing commonly-used startup options:

image

After selecting the desired options, the installer installs several support models needed by InvokeAI's face reconstruction and upscaling features and then launches the interface for selecting and installing models shown earlier. At any time, you can edit the startup options by launching invoke.sh/invoke.bat and entering option (6) change InvokeAI startup options

Command-line users can launch the new configure app using invokeai-configure.

This release also comes with a renewed updater. To do an update without going through a whole reinstallation, launch invoke.sh or invoke.bat and choose option (9) update InvokeAI . This will bring you to a screen that prompts you to update to the latest released version, to the most current development version, or any released or unreleased version you choose by selecting the tag or branch of the desired version.

image

Command-line users can run this interface by typing invokeai-configure

Image Symmetry Options

There are now features to generate horizontal and vertical symmetry during generation. The way these work is to wait until a selected step in the generation process and then to turn on a mirror image effect. In addition to generating some cool images, you can also use this to make side-by-side comparisons of how an image will look with more or fewer steps. Access this option from the WebUI by selecting Symmetry from the image generation settings, or within the CLI by using the options --h_symmetry_time_pct and --v_symmetry_time_pct (these can be abbreviated to --h_sym and --v_sym like all other options).

image

A New Unified Canvas Look

This release introduces a beta version of the WebUI Unified Canvas. To try it out, open up the settings dialogue in the WebUI (gear icon) and select Use Canvas Beta Layout:

image

Refresh the screen and go to to Unified Canvas (left side of screen, third icon from the top). The new layout is designed to provide more space to work in and to keep the image controls close to the image itself:

image

Model conversion and merging within the WebUI

The WebUI now has an intuitive interface for model merging, as well as for permanent conversion of models from legacy .ckpt/.safetensors formats into diffusers format. These options are also available directly from the invoke.sh/invoke.bat scripts.

An easier way to contribute translations to the WebUI

We have migrated our translation efforts to Weblate, a FOSS translation product. Maintaining the growing project's translations is now far simpler for the maintainers and community. Please review our brief translation guide for more information on how to contribute.

Numerous internal bugfixes and performance issues

This releases quashes multiple bugs that were reported in 2.3.0. Major internal changes include upgrading to diffusers 0.13.0, and using the compel library for prompt parsing. See Detailed Change Log for a detailed list of bugs caught and squished.

Summary of InvokeAI command line scripts (all accessible via the launcher menu)

Command Description
invokeai Command line interface
invokeai --web Web interface
invokeai-model-install Model installer with console forms-based front end
invokeai-ti --gui Textual inversion, with a console forms-based front end
invokeai-merge --gui Model merging, with a console forms-based front end
invokeai-configure Startup configuration; can also be used to reinstall support models
invokeai-update InvokeAI software updater

Installation

To install or upgrade to InvokeAI 2.3.1, please download the zip file below, unpack it, and then double-click to launch the script install.sh (Macintosh, Linux) or install.bat (Windows). Alternatively, you can open a command-line window and execute the installation script directly.

InvokeAI-installer-v2.3.1.post2.zip

If you are upgrading from an earlier version of InvokeAI, run the installer and when it asks you to confirm the location of the invokeai directory, type in the path to the directory you are already using, if not the same as the one selected automatically by the installer. When the installer asks you to confirm that you want to install into an existing directory, simply indicate "yes".

Developers and power users can upgrade to the current version by activating the InvokeAI environment and then using pip install --use-pep517 --upgrade InvokeAI . You may specify a particular version by adding the version number to the command, as in InvokeAI==2.3.1. To upgrade to an xformers version if you are not currently using xformers, use pip install --use-pep517 --upgrade InvokeAI[xformers]. You can see which versions are available by going to The PyPI InvokeAI Project Page

Last Feature Release on the 2.3.x Branch

This will be the last feature release on the 2.3.x branch. The development team is migrating to a new software architecture called Nodes, which will provide enhanced workflow management features as well as a much easier way for community developers to contribute to the project. We anticipate the transition taking 4-8 weeks (spring 2023). Until that time, we will be releasing bugfixes and other minor updates only.

Known Bugs in 2.3.1

These are known bugs in the release.

  1. MacOS users generating 768x768 pixel images or greater using diffusers models may experience a hard crash with assertion NDArray > 2**32 This appears to be an issue in an upstream library and currently the only workaround is to install and use legacy .ckpt/.safetensors models instead of the diffusers models. For more information on this bug, see this Issue
  2. The Ancestral DPMSolverMultistepScheduler (k_dpmpp_2a) sampler is not yet implemented for diffusers models and will disappear from the WebUI Sampler menu when a diffusers model is selected. Support will be added in the next diffusers library release.
  3. Windows Defender will sometimes raise a Trojan alert for the codeformer.pth face restoration model. As far as we have been able to determine, this is a false positive and can be safely whitelisted.
  4. InvokeAI's memory requirements have increased modestly due to a variety of factors. For help debugging and mitigating out of memory issues, see the Troubleshooting section of the installation guide.
  5. FIXED IN 2.3.1.post1 -- model merging fixed
  6. FIXED in 2.3.1.post2 -- during installation, output and embeddings directories with spaces in their path names are now handled correctly.

Help

Please see the InvokeAI Issues Board or the InvokeAI Discord for assistance from the development team.

Contributors

InvokeAI is the product of the loving attention of a large number of Contributors. For this release in particular, we'd like to recognize the combined efforts of @blessedcoolant, who worked tirelessly on the model management interface despite multiple changes in the backend, and Jonathon Pollack (@JPPhoto) for working deep in the bowels of memory management and image generation. Kudos to @damian0815 and Kevin Turner (@keturn) for their improvements on model memory management and prompt parsing, respectively, and many thanks to Matthias Wild (@mauwii) and Eugene Brodsky (@ebr) for their work on package management and installation.

Last but not least, we acknowledge the tireless efforts of Kent Keirsey (@hipsterusername) for his amazing videos, outreach and team management.

What's Changed

New Contributors

Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v2.3.0...v.2.3.1-rc1

InvokeAI - InvokeAI Version 2.3.0

Published by lstein over 1 year ago

We are pleased to announce a features and performance update to InvokeAI with the release of version 2.3.0.

What's New in 2.3.0

There are multiple internal and external changes in this version of InvokeAI which greatly enhance the developer and user experiences respectively.

Migration to Stable Diffusion diffusers models

Previous versions of InvokeAI supported the original model file format introduced with Stable Diffusion 1.4. In the original format, known variously as "checkpoint", or "legacy" format, there is a single large weights file ending with .ckpt or .safetensors. Though this format has served the community well, it has a number of disadvantages, including file size, slow loading times, and a variety of non-standard variants that require special-case code to handle. In addition, because checkpoint files are actually a bundle of multiple machine learning sub-models, it is hard to swap different sub-models in and out, or to share common sub-models. A new format, introduced by the StabilityAI company in collaboration with HuggingFace, is called diffusers and consists of a directory of individual models. The most immediate benefit of diffusers is that they load from disk very quickly. A longer term benefit is that in the near future diffusers models will be able to share common sub-models, dramatically reducing disk space when you have multiple fine-tune models derived from the same base.

When you perform a new install of version 2.3.0, you will be offered the option to install the diffusers versions of a number of popular SD models, including Stable Diffusion versions 1.5 and 2.1 (including the 768x768 pixel version of 2.1). These will act and work just like the checkpoint versions. Do not be concerned if you already have a lot of ".ckpt" or ".safetensors" models on disk! InvokeAI 2.3.0 can still load these and generate images from them without any extra intervention on your part.

To take advantage of the optimized loading times of diffusers models, InvokeAI offers options to convert legacy checkpoint models into optimized diffusers models. If you use the invokeai command line interface, the relevant commands are:

  • !convert_model -- Take the path to a local checkpoint file or a URL that is pointing to one, convert it into a diffusers model, and import it into InvokeAI's models registry file.
  • !optimize_model -- If you already have a checkpoint model in your InvokeAI models file, this command will accept its short name and convert it into a like-named diffusers model, optionally deleting the original checkpoint file.
  • !import_model -- Take the local path of either a checkpoint file or a diffusers model directory and import it into InvokeAI's registry file. You may also provide the ID of any diffusers model that has been published on the HuggingFace models repository and it will be downloaded and installed automatically.

The WebGUI offers similar functionality for model management.

For advanced users, new command-line options provide additional functionality. Launching invokeai with the argument --autoconvert <path to directory> takes the path to a directory of checkpoint files, automatically converts them into diffusers models and imports them. Each time the script is launched, the directory will be scanned for new checkpoint files to be loaded. Alternatively, the --ckpt_convert argument will cause any checkpoint or safetensors model that is already registered with InvokeAI to be converted into a diffusers model on the fly, allowing you to take advantage of future diffusers-only features without explicitly converting the model and saving it to disk.

Please see INSTALLING MODELS for more information on model management in both the command-line and Web interfaces.

Support for the XFormers Memory-Efficient Crossattention Package

On CUDA (Nvidia) systems, version 2.3.0 supports the XFormers library. Once installed, thexformers package dramatically reduces the memory footprint of loaded Stable Diffusion models files and modestly increases image generation speed. xformers will be installed and activated automatically if you specify a CUDA system at install time.

The caveat with using xformers is that it introduces slightly non-deterministic behavior, and images generated using the same seed and other settings will be subtly different between invocations. Generally the changes are unnoticeable unless you rapidly shift back and forth between images, but to disable xformers and restore fully deterministic behavior, you may launch InvokeAI using the --no-xformers option. This is most conveniently done by opening the file invokeai/invokeai.init with a text editor, and adding the line --no-xformers at the bottom.

A Negative Prompt Box in the WebUI

There is now a separate text input box for negative prompts in the WebUI. This is convenient for stashing frequently-used negative prompts ("mangled limbs, bad anatomy"). The [negative prompt] syntax continues to work in the main prompt box as well.

To see exactly how your prompts are being parsed, launch invokeai with the --log_tokenization option. The console window will then display the tokenization process for both positive and negative prompts.

Model Merging

Version 2.3.0 offers an intuitive user interface for merging up to three Stable Diffusion models using an intuitive user interface. Model merging allows you to mix the behavior of models to achieve very interesting effects. To use this, each of the models must already be imported into InvokeAI and saved in diffusers format, then launch the merger using a new menu item in the InvokeAI launcher script (invoke.sh, invoke.bat) or directly from the command line with invokeai-merge --gui. You will be prompted to select the models to merge, the proportions in which to mix them, and the mixing algorithm. The script will create a new merged diffusers model and import it into InvokeAI for your use.

See MODEL MERGING for more details.

Textual Inversion Training

Textual Inversion (TI) is a technique for training a Stable Diffusion model to emit a particular subject or style when triggered by a keyword phrase. You can perform TI training by placing a small number of images of the subject or style in a directory, and choosing a distinctive trigger phrase, such as "pointillist-style". After successful training, The subject or style will be activated by including <pointillist-style> in your prompt.

Previous versions of InvokeAI were able to perform TI, but it required using a command-line script with dozens of obscure command-line arguments. Version 2.3.0 features an intuitive TI frontend that will build a TI model on top of any diffusers model. To access training you can launch from a new item in the launcher script or from the command line using invokeai-ti --gui.

See TEXTUAL INVERSION for further details.

A New Installer Experience

The InvokeAI installer has been upgraded in order to provide a smoother and hopefully more glitch-free experience. In addition, InvokeAI is now packaged as a PyPi project, allowing developers and power-users to install InvokeAI with the command pip install InvokeAI --use-pep517. Please see Installation for details.

Developers should be aware that the pip installation procedure has been simplified and that the conda method is no longer supported at all. Accordingly, the environments_and_requirements directory has been deleted from the repository.

Installation

To install or upgrade to InvokeAI 2.3.0, please download the zip file below, unpack it, and then double-click to launch the script install.sh (Macintosh, Linux) or install.bat (Windows). Alternatively, you can open a command-line window and execute the installation script directly.

InvokeAI-installer-v2.3.0.zip

If you are upgrading from an earlier version of InvokeAI, all you have to do is to run the installer for your platform. When the installer asks you to confirm the location of the invokeai directory, type in the path to the directory you are already using, if not the same as the one selected automatically by the installer. When the installer asks you to confirm that you want to install into an existing directory, simply indicate "yes".

Developers and power users can upgrade to the current version by activating the InvokeAI environment and then using pip install --use-pep517 --upgrade InvokeAI . You may specify a particular version by adding the version number to the command, as in InvokeAI==2.3.1. You can see which versions are available by going to The PyPI InvokeAI Project Page

Command-line name changes

All of InvokeAI's functionality, including the WebUI, command-line interface, textual inversion training and model merging, can all be accessed from the invoke.sh and invoke.bat launcher scripts. The menu of options has been expanded to add the new functionality. For the convenience of developers and power users, we have normalized the names of the InvokeAI command-line scripts:

  • invokeai -- Command-line client
  • invokeai --web -- Web GUI
  • invokeai-merge --gui -- Model merging script with graphical front end
  • invokeai-ti --gui -- Textual inversion script with graphical front end
  • invokeai-configure -- Configuration tool for initializing the invokeai directory and selecting popular starter models.

For backward compatibility, the old command names are also recognized, including invoke.py and configure-invokeai.py. However, these are deprecated and will eventually be removed.

Developers should be aware that the locations of the script's source code has been moved. The new locations are:

  • invokeai => ldm/invoke/CLI.py
  • invokeai-configure => ldm/invoke/config/configure_invokeai.py
  • invokeai-ti=> ldm/invoke/training/textual_inversion.py
  • invokeai-merge => ldm/invoke/merge_diffusers

Developers are strongly encouraged to perform an "editable" install of InvokeAI using pip install -e . --use-pep517 in the Git repository, and then to call the scripts using their 2.3.0 names, rather than executing the scripts directly. Developers should also be aware that the several important data files have been relocated into a new directory named invokeai. This includes the WebGUI's frontend and backend directories, and the INITIAL_MODELS.yaml files used by the installer to select starter models. Eventually all InvokeAI modules will be in subdirectories of invokeai.

Known Bugs in RC7

These are known bugs that will not be fixed prior to the release.

  1. The Ancestral DPMSolverMultistepScheduler (k_dpmpp_2a) sampler is not yet implemented for diffusers models and will disappear from the WebUI Sampler menu when a diffusers model is selected. Support will be added in the next diffusers library release.
  2. Metadata will not at first be retrieved when uploading an image into the WebGUI. The metadata will appear when the WebUI is reset and the page reloaded.
  3. The noise and threshold values are not loaded into the WebUI when the "*" (reuse all values) button is selected.
  4. The k_heun and k_dpm_2 schedulers will appear to perform twice as many sampling steps than were requested. This is an artifact of the fact that these schedulers perform two samplings per step and is a cosmetic issue only.
  5. When launching the Textual Inversion console-based GUI, if the command window is too small, the GUI will crash with an obscure error message. Make the window larger and relaunch.

Help

Please see the InvokeAI Issues Board or the InvokeAI Discord for assistance from the development team.

Contributors

InvokeAI is the product of the loving attention of a large number of Contributors. For this release in particular, we'd like to recognize the combined efforts of Kevin Turner (@keturn), who got the diffusers port past the finish line, Eugene Brodsky (@ebr), for his work on the new installer, and Matthias Wild (@mauwii), for his many significant improvements to the testing pipeline and for setting up the system that uploads releases to the PyPi Python module repository.

We'd also like to call out Jonathon Pollack (@JPPhoto) for tirelessly testing each release candidate, @blessedcoolant and @psychedelicious for their work on the Web UI Model Manager and other UI features, and Kent Keirsey (@hipsterusername) for his amazing videos, outreach and team management.

What's Changed

New Contributors

Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v2.2.4...v2.3.0-rc5

Acknowledgements:

  • This release was supported in part by compute capacity provided by Mahdi Chaker's "GPU Garden" cluster
  • A thousand thanks to @gogurtenjoyer and @whosawhatsis for their tireless work supporting users on the Discord server, as well as their contributions to bug finding and fixing.
InvokeAI - InvokeAI Version 2.2.5 - A Stable Diffusion Toolkit

Published by lstein almost 2 years ago

We are pleased to announce a features and bugfix update to InvokeAI with the release of version 2.2.5.

What's New in 2.2.5

WebUI

  • The WebGUI now features a Model Manager that lets you load and edit models interatively. It also allows you to pick a folder to scan and import new .ckpt files @blessedcoolant
  • Add Unified Canvas Alternate UI Beta: We added a new alternative UI to the Unified Canvas that mimics traditional photo editing applications you might be familiar with. You can switch to this new UI in the Settings menu by activating the new toggle option. @blessedcoolant
  • Restore and Upscale hotkeys have been changed from ‘R’ and ‘U’ to ‘Shift+R’ and ‘Shift+U’ respectively. This was done to avoid accidental keystrokes triggering these operations. @blessedcoolant
  • Added Localization. Support has been added for Russian, Italian, Portuguese (Brazilian), German, Polish @blessedcoolant
    Translators:
    • Russian: @netsvetaev
    • Italian: @Harvester62
    • Portuguese (Brazilian): @M-art-ucci
    • German: cofter
    • Polish: pejotr
    • Spanish: dreglad

If you are interested in translating InvokeAI to your language, please feel free to reach out to us on Discord.

CLI

  • Add the --karras_max option to the command line. @lstein
  • Add the –version option to get the version of the app. @lstein
  • Remove requirement for Hugging Face token, now that it is no longer rqeuired. @ebr

Docker

  • Optimize dockerfile. @mauwii
  • Allow usage of GPU’s in Docker. @xrd

Bug Fixes & Updates

  • Fix not being able to load the model while inpainting when using the free_gpu_mem option. @rmagur1203
  • Various installer improvements. @lstein
  • Fix segfault error on MacOS when using homebrew. @ebr
  • Fix a None type error when nsfw_checker was turned on. @limonspb
  • Fix the number of tokens to cap to 75 and handle blends accordingly. @damian0815
  • [CLI] Fix the time step not displaying correctly during img2img. @wfng92
  • [WebUI] Fix the initial theme setting not displaying correctly in the selector after reload. @kasbah
  • [WebUI] Fix of Hires Fix on Img2Img tab @hipsterusername
  • Fix embeddings not working correctly. @blessedcoolant
  • Fix an issue where the —config launch argument was not being recognized. @blessedcoolant
  • Retrieve threshold from an image even if it is 0. @JPPhoto
  • Add –root_dir as an alternate arg for –root during launch.
  • Relax HuggingFace login requirements during setup. @ebr
  • Fixed an issue where the --no-patchmatch would not work. @lstein
  • Fixed a crash in img2img @lstein
  • Documentation, updates, typos and fixes. @limonspb, @lstein, @hipsterusername, @mauwii

Developer

  • Add concurrency to Github actions. @mauwii
  • Github action to lint python files with pyflakes @keturn
  • Fix circular dependencies on the frontend @kasbah
  • Add Github action for linting the frontend. @kasbah
  • Fix all linting warnings on the frontend. @kasbah
  • Add auto formatting for the frontend. @kasbah

New Contributors

Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v2.2.4...latest

Installation

To install InvokeAI 2.2.5 on a new system, please download the zip file below, unzip it, and run the script install.sh (Macintosh, Linux) or install.bat (Windows). A walkthrough can be found at Installation Overview .
InvokeAI-installer-v2.2.5p2-linux.zip
InvokeAI-installer-v2.2.5p2-mac.zip
InvokeAI-installer-v2.2.5p2-windows.zip

Upgrading

If you have InvokeAI 2.2.4 installed, you can upgrade it quickly using an update script. Download the zip file below, and unpack it. Place the file update.bat (Windows) or update.sh (Linux/Mac) into your invokeai folder, replacing the update script that was previously there. Then launch the new update script from the command line or by double-clicking.

InvokeAI-updater-v2.2.5p2.zip

Help

Please see the InvokeAI Issues Board or the InvokeAI Discord for assistance from the development team.

InvokeAI - InvokeAI Version 2.2.4 - A Stable Diffusion Toolkit

Published by lstein almost 2 years ago

With InvokeAI 2.2, this project now provides enthusiasts and professionals a robust workflow solution for creating AI-generated and human facilitated compositions. Additional enhancements have been made as well, improving safety, ease of use, and installation.

Optimized for efficiency, InvokeAI needs only ~3.5GB of VRAM to generate a 512x768 image (and less for smaller images), and is compatible with Windows/Linux/Mac (M1 & M2).

You can see the release video here, which introduces the main WebUI enhancement for version 2.2 - The Unified Canvas. This new workflow is the biggest enhancement added to the WebUI to date, and unlocks a stunning amount of potential for users to create and iterate on their creations. The following sections describe what's new for InvokeAI.

Version 2.2.4 is a bugfix release. The major user-visible change is that we have overhauled the installation experience to make it faster and more stable. Please see Installation Overview for instructions on using the new installer, and see the .zip files in the Assets section below for the installer for your preferred platform. Note that you will need to install Python 3.9 or 3.10 to use the new installation method.

The new installers are located here. They have been updated 13 December in order to prevent a segfault crash on certain Macintosh systems.

There are a number of installation-related changes that previous InvokeAI users should be aware of:

Everything now lives in the invokeai directory.

Previously there were two directories to worry about, the directory that contained the InvokeAI source code and the launcher scripts, and the invokeai directory that contained the models files, embeddings, configuration and outputs. With the 2.2.4 release, this dual system is done away with, and everything, including the invoke.bat and invoke.sh launcher scripts, now live in a directory named invokeai. By default this directory is located in your home directory (e.g. \Users\yourname on Windows), but you can select where it goes at install time.

InvokeAI-installer-2.2.4-p5-linux.zip
InvokeAI-installer-2.2.4-p5-mac.zip
InvokeAI-installer-2.2.4-p5-windows.zip

After installation, you can delete the install directory (the one that the zip file creates when it unpacks). Do not delete or move the invokeai directory!

The .invokeai initialization file has been renamed invokeai/invokeai.init

You can place frequently-used startup options in this file, such as the default number of steps or your preferred sampler. To keep everything in one place, this file has now been moved into the invokeai directory and is named invokeai.init.

To update from Version 2.2.3

The easiest route is to download and unpack one of the 2.2.4 installer files. When it asks you for the location of the invokeai runtime directory, respond with the path to the directory that contains your 2.2.3 invokeai. That is, if invokeai lives at C:\Users\fred\invokeai, then answer with C:\Users\fred and answer "Y" when asked if you want to reuse the directory.

The update.sh (update.bat) script that came with the 2.2.3 source installer does not know about the new directory layout and won't be fully functional.

To update to 2.2.5 (and beyond) there's now an update path.

As they become available, you can update to more recent versions of InvokeAI using an update.sh (update.bat) script located in the invokeai directory. Running it without any arguments will install the most recent version of InvokeAI. Alternatively, you can get set releases by running the update.sh script with an argument in the command shell. This syntax accepts the path to the desired release's zip file, which you can find by clicking on the green "Code" button on this repository's home page. Here are some examples:

# 2.2.4 release
update.sh https://github.com/invoke-ai/InvokeAI/archive/refs/tags/v2.2.4.zip

# 2.2.5 release  (don't try; it doesn't exist yet!)
update.sh https://github.com/invoke-ai/InvokeAI/archive/refs/tags/v2.2.5.zip

# current development version
update.sh https://github.com/invoke-ai/InvokeAI/archive/main.zip

# feature branch 3d-movies (don't try; it doesn't exist yet!)
update.sh https://github.com/invoke-ai/InvokeAI/archive/3d-movies.zip

Other 2.2.4 Improvements

New Contributors

Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v2.2.3...v2.2.4

InvokeAI - InvokeAI 2.2.3

Published by lstein almost 2 years ago

Note: This point release removes references to the binary installer from the installation guide. The binary installer is not stable at the current time. First time users are encouraged to use the "source" installer as described in Installing InvokeAI with the Source Installer

With InvokeAI 2.2, this project now provides enthusiasts and professionals a robust workflow solution for creating AI-generated and human facilitated compositions. Additional enhancements have been made as well, improving safety, ease of use, and installation.

Optimized for efficiency, InvokeAI needs only ~3.5GB of VRAM to generate a 512x768 image (and less for smaller images), and is compatible with Windows/Linux/Mac (M1 & M2).

You can see the release video here, which introduces the main WebUI enhancement for version 2.2 - The Unified Canvas. This new workflow is the biggest enhancement added to the WebUI to date, and unlocks a stunning amount of potential for users to create and iterate on their creations. The following sections describe what's new for InvokeAI.

Update 1 December 2022 -

  • The Unified Canvas: The Web UI now features a fully fitted infinite canvas that is capable of outpainting, inpainting, img2img and txt2img so you can streamline and extend your creative workflow. The canvas was rewritten to improve performance greatly and bring support for a variety of features like Paint Brushing, Unlimited History, Real-Time Progress displays and more.

  • Embedding Management: Easily pull from the top embeddings on Huggingface directly within Invoke, using the embed token to generate the exact style you want. With the ability to use multiple embeds simultaneously, you can easily import and explore different styles within the same session!

  • Viewer: The Web UI now also features a Viewer that lets you inspect your invocations in greater detail. No more opening the images in your external file explorer, even with large upscaled images!

  • 1 Click Installer Launch: With our official 1-click installation launch, using our tool has never been easier. Our OS specific bundles (Mac M1/M2, Windows, and Linux) will get everything set up for you. Click and get going - It’s now simple to get started with InvokeAI. See Installation.

  • Model Safety: A checkpoint scanner (picklescan) has been added to the initialization process of new models, helping with security against malicious and evil pickles.

  • DPM++2 Experimental Samplers: New samplers have been added! Please note that these are experimental, and are subject to change in the future as we continue to enhance our backend system.

First-time Installation

For those installing InvokeAI for the first time, please use this recipe:
For automated installation, open up the "Assets" section below and download one of the InvokeAI-*.zip files. The instructions in the Installation section of the InvokeAI docs will provide you with a guide to which file to download and what to do with it when you get it.

For manual installation download one of the "Source Code" archive files located in the Assets below.
Unpack the file, and enter the InvokeAI directory that it creates. Alternatively, you may clone the source code repository using the command git clone http://github.com/invoke-ai/InvokeAI and follow the instructions in Manual Installation.

Upgrading

For those wishing to upgrade from an earlier version, please use this recipe:
Download one of the "Source Code" archive files located in the Assets below.
Unpack the file, and enter the InvokeAI directory that it creates.
Alternatively, if you have previously cloned the InvokeAI repository, you may update it by entering the InvokeAI directory and running the commands git checkout main, followed by git pull
Select the appropriate environment file for your operating system and GPU hardware. A number of files can be found in a new environments-and-requirements directory:

environment-lin-amd.yml # Linux with an AMD (ROCm) GPU
environment-lin-cuda.yml # Linux with an NVIDIA CUDA GPU
environment-mac.yml # Macintoshes with MPS acceleration
environment-win-cuda.yml # Windows with an NVIDA CUDA GPU

Important Step that developers tend to miss! Either copy this environment file to the root directory with the name environment.yml, or make a symbolic link from environment.yml to the selected enrivonment file:

Macintosh and Linux using a symbolic link:
ln -sf environments-and-requirements/environment-xxx-yyy.yml environment.yml

Replace xxx and yyy with the appropriate OS and GPU codes.

Windows:
copy environments-and-requirements\environment-win-cuda.yml environment.yml

When this is done, confirm that a file environment.yml has been created in the InvokeAI root directory and that it points to the correct file in the environments-and-requirements directory.
Now run the following commands in the InvokeAI directory.

conda env update
conda activate invokeai
python scripts/preload_models.py

Additional installation information, including recipes for installing without Conda, can be found in Manual Installation

Known Bugs

  1. If you use the binary installer, the autocomplete function will not work on the command line client due to limitations of the version of python that the installer uses. However, all other functions of the command line client, and all features of the web UI will function perfectly well.
  2. The PyPatchMatch module, which provides excellent outpainting and inpainting results, does not currently work on Macintoshes. It will work on Linux after a support library is added to the system. See Installing PyPatchMatch.
  3. InvokeAI 2.2.0 does not support the Stable Diffusion 2.0 model at the current time, but is expected to provide full support in the near future.
  4. The 1650 and 1660ti GPU cards only run in full-precision mode, which greatly limits the size of the models you can load and images you can generate with InvokeAI.

Contributing
Please see CONTRIBUTORS for a list of the many individuals who contributed to this project. Also many thanks to the dozens of patient testers who flushed out bugs in this release before it went live.
Anyone who wishes to contribute to this project, whether documentation, features, bug fixes, code
cleanup, testing, or code reviews, is very much encouraged to do so. If you are unfamiliar with how
to contribute to GitHub projects, here is a
Getting Started Guide. Unlike previous versions of InvokeAI we have now moved all development to the main branch, so please make your pull requests against this branch.

Support
For support, please use this repository's GitHub Issues tracking service. Live support is also available on the InvokeAI Discord server.

InvokeAI - InvokeAI Version 2.2.2 - A Stable Diffusion Toolkit

Published by lstein almost 2 years ago

Note: The binary installer is not ready for prime time. First time users are recommended to install via the "source" installer accessible through the links at the bottom of this page.

With InvokeAI 2.2, this project now provides enthusiasts and professionals a robust workflow solution for creating AI-generated and human facilitated compositions. Additional enhancements have been made as well, improving safety, ease of use, and installation.

Optimized for efficiency, InvokeAI needs only ~3.5GB of VRAM to generate a 512x768 image (and less for smaller images), and is compatible with Windows/Linux/Mac (M1 & M2).

You can see the release video here, which introduces the main WebUI enhancement for version 2.2 - The Unified Canvas. This new workflow is the biggest enhancement added to the WebUI to date, and unlocks a stunning amount of potential for users to create and iterate on their creations. The following sections describe what's new for InvokeAI.

Update 1 December 2022 -

  • The Unified Canvas: The Web UI now features a fully fitted infinite canvas that is capable of outpainting, inpainting, img2img and txt2img so you can streamline and extend your creative workflow. The canvas was rewritten to improve performance greatly and bring support for a variety of features like Paint Brushing, Unlimited History, Real-Time Progress displays and more.

  • Embedding Management: Easily pull from the top embeddings on Huggingface directly within Invoke, using the embed token to generate the exact style you want. With the ability to use multiple embeds simultaneously, you can easily import and explore different styles within the same session!

  • Viewer: The Web UI now also features a Viewer that lets you inspect your invocations in greater detail. No more opening the images in your external file explorer, even with large upscaled images!

  • 1 Click Installer Launch: With our official 1-click installation launch, using our tool has never been easier. Our OS specific bundles (Mac M1/M2, Windows, and Linux) will get everything set up for you. Click and get going - It’s now simple to get started with InvokeAI. See Installation.

  • Model Safety: A checkpoint scanner (picklescan) has been added to the initialization process of new models, helping with security against malicious and evil pickles.

  • DPM++2 Experimental Samplers: New samplers have been added! Please note that these are experimental, and are subject to change in the future as we continue to enhance our backend system.

First-time Installation

For those installing InvokeAI for the first time, please use this recipe:
For automated installation, open up the "Assets" section below and download one of the InvokeAI-*.zip files. The instructions in the Installation section of the InvokeAI docs will provide you with a guide to which file to download and what to do with it when you get it.

For manual installation download one of the "Source Code" archive files located in the Assets below.
Unpack the file, and enter the InvokeAI directory that it creates. Alternatively, you may clone the source code repository using the command git clone http://github.com/invoke-ai/InvokeAI and follow the instructions in Manual Installation.

Upgrading

For those wishing to upgrade from an earlier version, please use this recipe:
Download one of the "Source Code" archive files located in the Assets below.
Unpack the file, and enter the InvokeAI directory that it creates.
Alternatively, if you have previously cloned the InvokeAI repository, you may update it by entering the InvokeAI directory and running the commands git checkout main, followed by git pull
Select the appropriate environment file for your operating system and GPU hardware. A number of files can be found in a new environments-and-requirements directory:

environment-lin-amd.yml # Linux with an AMD (ROCm) GPU
environment-lin-cuda.yml # Linux with an NVIDIA CUDA GPU
environment-mac.yml # Macintoshes with MPS acceleration
environment-win-cuda.yml # Windows with an NVIDA CUDA GPU

Important Step that developers tend to miss! Either copy this environment file to the root directory with the name environment.yml, or make a symbolic link from environment.yml to the selected enrivonment file:

Macintosh and Linux using a symbolic link:
ln -sf environments-and-requirements/environment-xxx-yyy.yml environment.yml

Replace xxx and yyy with the appropriate OS and GPU codes.

Windows:
copy environments-and-requirements\environment-win-cuda.yml environment.yml

When this is done, confirm that a file environment.yml has been created in the InvokeAI root directory and that it points to the correct file in the environments-and-requirements directory.
Now run the following commands in the InvokeAI directory.

conda env update
conda activate invokeai
python scripts/preload_models.py

Additional installation information, including recipes for installing without Conda, can be found in Manual Installation

Known Bugs

  1. If you use the binary installer, the autocomplete function will not work on the command line client due to limitations of the version of python that the installer uses. However, all other functions of the command line client, and all features of the web UI will function perfectly well.
  2. The PyPatchMatch module, which provides excellent outpainting and inpainting results, does not currently work on Macintoshes. It will work on Linux after a support library is added to the system. See Installing PyPatchMatch.
  3. InvokeAI 2.2.0 does not support the Stable Diffusion 2.0 model at the current time, but is expected to provide full support in the near future.
  4. The 1650 and 1660ti GPU cards only run in full-precision mode, which greatly limits the size of the models you can load and images you can generate with InvokeAI.

Contributing
Please see CONTRIBUTORS for a list of the many individuals who contributed to this project. Also many thanks to the dozens of patient testers who flushed out bugs in this release before it went live.
Anyone who wishes to contribute to this project, whether documentation, features, bug fixes, code
cleanup, testing, or code reviews, is very much encouraged to do so. If you are unfamiliar with how
to contribute to GitHub projects, here is a
Getting Started Guide. Unlike previous versions of InvokeAI we have now moved all development to the main branch, so please make your pull requests against this branch.

Support
For support, please use this repository's GitHub Issues tracking service. Live support is also available on the InvokeAI Discord server.

InvokeAI - InvokeAI Version 2.2.0

Published by lstein almost 2 years ago

With InvokeAI 2.2, this project now provides enthusiasts and professionals a robust workflow solution for creating AI-generated and human facilitated compositions. Additional enhancements have been made as well, improving safety, ease of use, and installation.

Optimized for efficiency, InvokeAI needs only ~3.5GB of VRAM to generate a 512x768 image (and less for smaller images), and is compatible with Windows/Linux/Mac (M1 & M2).

You can see the release video here, which introduces the main WebUI enhancement for version 2.2 - The Unified Canvas. This new workflow is the biggest enhancement added to the WebUI to date, and unlocks a stunning amount of potential for users to create and iterate on their creations. The following sections describe what's new for InvokeAI.

Update 1 December 2022 -

  • The Unified Canvas: The Web UI now features a fully fitted infinite canvas that is capable of outpainting, inpainting, img2img and txt2img so you can streamline and extend your creative workflow. The canvas was rewritten to improve performance greatly and bring support for a variety of features like Paint Brushing, Unlimited History, Real-Time Progress displays and more.

  • Embedding Management: Easily pull from the top embeddings on Huggingface directly within Invoke, using the embed token to generate the exact style you want. With the ability to use multiple embeds simultaneously, you can easily import and explore different styles within the same session!

  • Viewer: The Web UI now also features a Viewer that lets you inspect your invocations in greater detail. No more opening the images in your external file explorer, even with large upscaled images!

  • 1 Click Installer Launch: With our official 1-click installation launch, using our tool has never been easier. Our OS specific bundles (Mac M1/M2, Windows, and Linux) will get everything set up for you. Click and get going - It’s now simple to get started with InvokeAI. See Installation.

  • Model Safety: A checkpoint scanner (picklescan) has been added to the initialization process of new models, helping with security against malicious and evil pickles.

  • DPM++2 Experimental Samplers: New samplers have been added! Please note that these are experimental, and are subject to change in the future as we continue to enhance our backend system.

First-time Installation

For those installing InvokeAI for the first time, please use this recipe:
For automated installation, open up the "Assets" section below and download one of the InvokeAI-*.zip files. The instructions in the Installation section of the InvokeAI docs will provide you with a guide to which file to download and what to do with it when you get it.

For manual installation download one of the "Source Code" archive files located in the Assets below.
Unpack the file, and enter the InvokeAI directory that it creates. Alternatively, you may clone the source code repository using the command git clone http://github.com/invoke-ai/InvokeAI and follow the instructions in Manual Installation.

Upgrading

For those wishing to upgrade from an earlier version, please use this recipe:
Download one of the "Source Code" archive files located in the Assets below.
Unpack the file, and enter the InvokeAI directory that it creates.
Alternatively, if you have previously cloned the InvokeAI repository, you may update it by entering the InvokeAI directory and running the commands git checkout main, followed by git pull
Select the appropriate environment file for your operating system and GPU hardware. A number of files can be found in a new environments-and-requirements directory:

environment-lin-amd.yml # Linux with an AMD (ROCm) GPU
environment-lin-cuda.yml # Linux with an NVIDIA CUDA GPU
environment-mac.yml # Macintoshes with MPS acceleration
environment-win-cuda.yml # Windows with an NVIDA CUDA GPU

Important Step that developers tend to miss! Either copy this environment file to the root directory with the name environment.yml, or make a symbolic link from environment.yml to the selected enrivonment file:

Macintosh and Linux using a symbolic link:
ln -sf environments-and-requirements/environment-xxx-yyy.yml environment.yml

Replace xxx and yyy with the appropriate OS and GPU codes.

Windows:
copy environments-and-requirements\environment-win-cuda.yml environment.yml

When this is done, confirm that a file environment.yml has been created in the InvokeAI root directory and that it points to the correct file in the environments-and-requirements directory.
Now run the following commands in the InvokeAI directory.

conda env update
conda activate invokeai
python scripts/preload_models.py

Additional installation information, including recipes for installing without Conda, can be found in Manual Installation

Known Bugs

  1. If you use the binary installer, the autocomplete function will not work on the command line client due to limitations of the version of python that the installer uses. However, all other functions of the command line client, and all features of the web UI will function perfectly well.
  2. The PyPatchMatch module, which provides excellent outpainting and inpainting results, does not currently work on Macintoshes. It will work on Linux after a support library is added to the system. See Installing PyPatchMatch.
  3. InvokeAI 2.2.0 does not support the Stable Diffusion 2.0 model at the current time, but is expected to provide full support in the near future.
  4. The 1650 and 1660ti GPU cards only run in full-precision mode, which greatly limits the size of the models you can load and images you can generate with InvokeAI.

Contributing
Please see CONTRIBUTORS for a list of the many individuals who contributed to this project. Also many thanks to the dozens of patient testers who flushed out bugs in this release before it went live.
Anyone who wishes to contribute to this project, whether documentation, features, bug fixes, code
cleanup, testing, or code reviews, is very much encouraged to do so. If you are unfamiliar with how
to contribute to GitHub projects, here is a
Getting Started Guide. Unlike previous versions of InvokeAI we have now moved all development to the main branch, so please make your pull requests against this branch.

Support
For support, please use this repository's GitHub Issues tracking service. Live support is also available on the InvokeAI Discord server.

InvokeAI - InvokeAI Version 2.1.3 - A Stable Diffusion Toolkit

Published by lstein almost 2 years ago

Welcome! Click here to get the latest release!

Read below for the old 2.1.3 release.

Invoke AI 2.1.3

The invoke-ai team is excited to be able to share the release of InvokeAI 2.1 - A Stable Diffusion Toolkit, a project that aims to provide enthusiasts and professionals both a suite of robust image creation tools. Optimized for efficiency, InvokeAI needs only ~3.5GB of VRAM to generate a 512x768 image (and less for smaller images), and is compatible with Windows/Linux/Mac (M1 & M2).

InvokeAI was one of the earliest forks of the core CompVis repo (formerly lstein/stable-diffusion), and recently evolved into a full-fledged community driven and open source stable diffusion toolkit. Version 2.1 of the tool introduces multiple new features and performance enhancements.

This 14-minute YouTube video introduces you to some of the new features contained in this release. The following sections describe what's new in the Web interface (WebGUI) and the command-line interface (CLI).

Version 2.1.3 is primarily a bug fix release that improves the installation process and provides enhanced stability and usability.

Update 22 November - updated invokeAI-src-installer-mac.zip to correct an error downloading the micromamba distirbution.

New features

  • A choice of installer scripts that automate installation and configuration. See Installation.
  • A streamlined manual installation process that works for both Conda and PIP-only installs. See Manual Installation.
  • The ability to save frequently-used startup options (model to load, steps, sampler, etc) in a .invokeai file. See Client
  • Support for AMD GPU cards (non-CUDA) on Linux machines.
  • Multiple bugs and edge cases squashed.

Installation

For those installing InvokeAI for the first time, please use this recipe:

  1. For automated installation, open up the "Assets" section below and download one of the InvokeAI-*.zip files. The instructions in the Installation section of the [InvokeAI docs](https://invoke-ai.github.io/InvokeAI) will provide you with a guide to which file to download and what to do with it when you get it.
  2. For manual installation download one of the "Source Code" archive files located in the Assets below.
    • Unpack the file, and enter the InvokeAI directory that it creates.
    • Alternatively, you may clone the source code repository using the command git clone http://github.com/invoke-ai/InvokeAI
    • Follow the instructions in Manual Installation.

Upgrading

For those wishing to upgrade from an earlier version, please use this recipe:

  1. Download one of the "Source Code" archive files located in the Assets below.
  2. Unpack the file, and enter the InvokeAI directory that it creates.
  3. Alternatively, if you have previously cloned the InvokeAI repository, you may update it by entering the InvokeAI directory and running the commands git checkout main, followed by git pull
  4. Select the appropriate environment file for your operating system and GPU hardware. A number of files can be found in a new environments-and-requirements directory:
environment-lin-amd.yml     # Linux with an AMD (ROCm) GPU
environment-lin-cuda.yml    # Linux with an NVIDIA CUDA GPU
environment-mac.yml         # Macintoshes with MPS acceleration
environment-win-cuda.yml    # Windows with an NVIDA CUDA GPU
  1. Important Step that developers tend to miss! Either copy this environment file to the root directory with the name environment.yml, or make a symbolic link from environment.yml to the selected enrivonment file:
  • Macintosh and Linux using a symbolic link:

    ln -sf environments-and-requirements/environment-xxx-yyy.yml environment.yml
    # Replace `xxx` and `yyy` with the appropriate OS and GPU codes.
    
  • Windows:

copy environments-and-requirements\environment-win-cuda.yml environment.yml 

When this is done, confirm that a file environment.yml has been created in the InvokeAI root directory and that it points to the correct file in the environments-and-requirements directory.

  1. Now run the following commands in the InvokeAI directory.
conda update
conda activate invokeai
python scripts/preload_models.py

Additional installation information, including recipes for installing without Conda, can be found in Manual Installation

Contributing

Please see CONTRIBUTORS for a list of the many individuals who contributed to this project. Also many thanks to the dozens of patient testers who flushed out bugs in this release before it went live.

Anyone who wishes to contribute to this project, whether documentation, features, bug fixes, code
cleanup, testing, or code reviews, is very much encouraged to do so. If you are unfamiliar with how
to contribute to GitHub projects, here is a
Getting Started Guide.

The most important thing is to know about contributing code is to make your pull request against the "development" branch, and not against "main". This will help keep public breakage to a minimum and will allow you to propose more radical
changes.

Support

For support, please use this repository's GitHub Issues tracking service. Live support is also available on the InvokeAI Discord server.

InvokeAI - InvokeAI Version 2.1 - A Stable Diffusion Toolkit

Published by lstein almost 2 years ago

The invoke-ai team is excited to be able to share the release of InvokeAI 2.1 - A Stable Diffusion Toolkit, a project that aims to provide enthusiasts and professionals both a suite of robust image creation tools. Optimized for efficiency, InvokeAI needs only ~3.5GB of VRAM to generate a 512x768 image (and less for smaller images), and is compatible with Windows/Linux/Mac (M1 & M2).

InvokeAI was one of the earliest forks of the core CompVis repo (formerly lstein/stable-diffusion), and recently evolved into a full-fledged community driven and open source stable diffusion toolkit. Version 2.1 of the tool introduces multiple new features and performance enhancements.

This 14-minute YouTube video introduces you to some of the new features contained in this release. The following sections describe what's new in the Web interface (WebGUI) and the command-line interface (CLI).

Major new features

  • Inpainting support in the WebGUI
  • Greatly improved navigation and user experience in the WebGUI
  • The prompt syntax has been enhanced with prompt weighting, cross-attention and prompt merging.
  • You can now load multiple models and switch among them quickly without leaving the CLI or WebGUI.
  • The installation process (via scripts/preload_models.py) now lets you select among several popular Stable Diffusion models and downloads and installs them on your behalf. Among other models, this script will install the current Stable Diffusion 1.5 model as well as a StabilityAI variable autoencoder (VAE) which improves face generation.
  • Tired of struggling with photoeditors to get the masked region of for inpainting just right? Let the AI make the mask for you using text masking. This feature allows you to specify the part of the image to paint over using just English-language phrases.
  • Tired of seeing the head of your subjects cropped off? Uncrop them in the CLI with the outcrop feature.
  • Tired of seeing your subject's bodies duplicated or mangled when generating larger-dimension images? Check out the --hires option in the CLI, or select the corresponding toggle in the WebGUI.
  • We now support textual inversion and fine-tune .bin styles and subjects from the Hugging Face archive of SD Concepts. Load the .bin file using the --embedding_path option. (The next version will support merging and loading of multiple simultaneous models).

Installation

To install InvokeAI from scratch, please see the Installation section of the InvokeAI docs.

Upgrading

For those wishing to upgrade from an earlier version, please use the following recipe from within the InvokeAI directory:

Mac users:

conda deactivate
git checkout main
git pull
rm -rf src
conda update -f environment-mac.yml
conda activate invokeai
python scripts/preload_models.py

Windows users:

conda deactivate
git checkout main
git pull
rmdir src /s
conda update
conda activate invokeai
python scripts\preload_models.py

Linux Users

conda deactivate
git checkout main
git pull
rm -rf src
conda update
conda activate invokeai
python scripts/preload_models.py

Contributing

Please see CONTRIBUTORS for a list of the many individuals who contributed to this project. Also many thanks to the dozens of patient testers who flushed out bugs in this release before it went live.

Anyone who wishes to contribute to this project, whether documentation, features, bug fixes, code
cleanup, testing, or code reviews, is very much encouraged to do so. If you are unfamiliar with how
to contribute to GitHub projects, here is a
Getting Started Guide.

The most important thing is to know about contributing code is to make your pull request against the "development" branch, and not against "main". This will help keep public breakage to a minimum and will allow you to propose more radical
changes.

Support

For support, please use this repository's GitHub Issues tracking service. Live support is also available on the InvokeAI Discord server.

Full change log since 2.0.2

New Contributors

Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v2.0.1...2.1.0-rc1

InvokeAI - InvokeAI Version 2.0.2 - A Stable Diffusion Toolkit

Published by lstein about 2 years ago

The invoke-ai team is excited to be able to share the release of InvokeAI 2.0 - A Stable Diffusion Toolkit, a project that aims to provide enthusiasts and professionals both a suite of robust image creation tools. Optimized for efficiency, InvokeAI needs only ~3.5GB of VRAM to generate a 512x768 image (and less for smaller images), and is compatible with Windows/Linux/Mac (M1 & M2).

InvokeAI was one of the earliest forks of the core CompVis repo (formerly lstein/stable-diffusion), and recently evolved into a full-fledged community driven and open source stable diffusion toolkit named InvokeAI. Version 2.0.0 of the tool introduces an entirely new WebUI Front-end with a Desktop mode, and an optimized back-end server that can be interacted with via CLI or extended with your own fork.

Release 2.0.2 updates three Python dependencies that were recently reported to have critical security holes, and enhances documentation. Otherwise, the feature set is identical to 2.0.1.

This version of the app improves in-app workflows leveraging GFPGAN and Codeformer for face restoration, and RealESRGAN upscaling - Additionally, the CLI also supports a large variety of features:

  • Inpainting
  • Outpainting
  • Negative Prompts (prompt unconditioning)
  • Fast online model switching
  • Textual Inversion
  • Improved Quality for Hi-Resolution Images (Embiggen, Hi-res Fixes, etc.)
  • And more...

Future updates planned included UI driven outpainting/inpainting, robust Cross Attention support, and an advanced node workflow for automating and sharing your workflows with the community.

What's Changed

New Contributors

Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v2.0.0...v2.0.1

What's Changed

New Contributors

Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v2.0.1...v2.0.2

InvokeAI - InvokeAI Version 2.0.1 - A Stable Diffusion Toolkit

Published by lstein about 2 years ago

The invoke-ai team is excited to be able to share the release of InvokeAI 2.0 - A Stable Diffusion Toolkit, a project that aims to provide enthusiasts and professionals both a suite of robust image creation tools. Optimized for efficiency, InvokeAI needs only ~3.5GB of VRAM to generate a 512x768 image (and less for smaller images), and is compatible with Windows/Linux/Mac (M1 & M2).

InvokeAI was one of the earliest forks of the core CompVis repo (formerly lstein/stable-diffusion), and recently evolved into a full-fledged community driven and open source stable diffusion toolkit named InvokeAI. Version 2.0.0 of the tool introduces an entirely new WebUI Front-end with a Desktop mode, and an optimized back-end server that can be interacted with via CLI or extended with your own fork.

Release 2.0.1 corrects an error that was causing the k* samplers to produce noisy images at high step counts. Otherwise the feature set is the same as 2.0.0.

This version of the app improves in-app workflows leveraging GFPGAN and Codeformer for face restoration, and RealESRGAN upscaling - Additionally, the CLI also supports a large variety of features:

  • Inpainting
  • Outpainting
  • Negative Prompts (prompt unconditioning)
  • Fast online model switching
  • Textual Inversion
  • Improved Quality for Hi-Resolution Images (Embiggen, Hi-res Fixes, etc.)
  • And more...

Future updates planned included UI driven outpainting/inpainting, robust Cross Attention support, and an advanced node workflow for automating and sharing your workflows with the community.

What's Changed

New Contributors

Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v2.0.0...v2.0.1

InvokeAI - InvokeAI Version 2.0.0 - A Stable Diffusion Toolkit

Published by lstein about 2 years ago

The invoke-ai team is excited to be able to share the release of InvokeAI 2.0 - A Stable Diffusion Toolkit, a project that aims to provide enthusiasts and professionals both a suite of robust image creation tools. Optimized for efficiency, InvokeAI needs only ~3.5GB of VRAM to generate a 512x768 image (and less for smaller images), and is compatible with Windows/Linux/Mac (M1 & M2).

InvokeAI was one of the earliest forks of the core CompVis repo (formerly lstein/stable-diffusion), and recently evolved into a full-fledged community driven and open source stable diffusion toolkit named InvokeAI. Version 2.0.0 of the tool introduces an entirely new WebUI Front-end with a Desktop mode, and an optimized back-end server that can be interacted with via CLI or extended with your own fork.

This version of the app improves in-app workflows leveraging GFPGAN and Codeformer for face restoration, and RealESRGAN upscaling - Additionally, the CLI also supports a large variety of features:

  • Inpainting
  • Outpainting
  • Negative Prompts (prompt unconditioning)
  • Textual Inversion
  • Improved Quality for Hi-Resolution Images (Embiggen, Hi-res Fixes, etc.)
  • And more...

Future updates planned included UI driven outpainting/inpainting, robust Cross Attention support, and an advanced node workflow for automating and sharing your workflows with the community.

InvokeAI - SD-Dream Version 1.14.1

Published by lstein about 2 years ago

This is identical to release 1.14 except that it reverts the name of the conda environment from "sd-ldm" back to the original "ldm".

Features from 1.14:

  • Memory optimizations for small-RAM cards. 512x512 now possible on 4 GB GPUs.
  • Full support for Apple hardware with M1 or M2 chips.
  • Add "seamless mode" for circular tiling of image. Generates beautiful effects. (prixt).
  • Inpainting support.
  • Improved web server GUI.
  • Lots of code and documentation cleanups.
InvokeAI - SD-Dream Version 1.14

Published by lstein about 2 years ago

  • Memory optimizations for small-RAM cards. 512x512 now possible on 4 GB GPUs.
  • Full support for Apple hardware with M1 or M2 chips.
  • Add "seamless mode" for circular tiling of image. Generates beautiful effects. (prixt).
  • Inpainting support.
  • Improved web server GUI.
  • Lots of code and documentation cleanups.
InvokeAI - SD-Dream Version 1.13

Published by lstein about 2 years ago

New features and bug fixes:

  • Support image variations (see VARIATIONS.md) (Kevin Gibbons and many contributors and reviewers)
  • Supports a Google Colab notebook for a standalone server running on Google hardware Arturo Mendivil
  • WebUI supports GFPGAN/ESRGAN facial reconstruction and upscaling Kevin Gibbons
  • WebUI supports incremental display of in-progress images during generation Kevin Gibbons
  • A new configuration file scheme that allows new models (including upcoming stable-diffusion-v1.5) to be added without altering the code. (David Wager)
  • Can specify --grid on dream.py command line as the default.
  • Miscellaneous internal bug and stability fixes.
  • Works on M1 Apple hardware (several contributors, but particular thanks to James Reynolds )
  • Multiple bug fixes.