Releases: invoke-ai/InvokeAI
v5.0.0.a2
This is an alpha release. Features in this version are still under active development and may not be stable.
Your feedback is particularly important for this release, which makes big changes.
Changes since Alpha 1:
- Fix: Drag over gallery/layers tab in right panel doesn't work
- Fix: Translation string for gallery tab
- Fix: Retain global canvas manager instance when its container unmounts (fixes issue with tool and canvas caches getting nuked when you change tabs)
- Fix: Conflict hotkeys for brush size and layer cycle
- Feat: Add count to layers tab
- Feat: Add canvas context menu (so far only has actions to save bbox / send bbox to layer)
- Chore: Bump UI library (fixes issue w/ stuck modifier keys if you alt-tab away from invoke while holding them down)
- Internal: Clean up main canvas hook & container component
Canvas v2
The Generation & Canvas UIs have been merged into a unified experience as part of our Control Canvas release. This enhances the interaction between all your favorite features for a more intuitive and efficient workflow. Highlighted below are the key improvements and new additions that bring this experience to life.
Control Canvas
To orient existing users, you’ll find that the core generation experience is now optimized and geared towards maximizing control. There are two main workflows that users have primarily geared towards in the past:
- Batch Generation: Generating a large number of images/iterations into the Gallery by varying/tweaking different settings.
- Composition: Working continuously on a single composition, with multiple iterations and edits.
Both of these workflows have increasingly gravitated towards a canvas for control mechanisms like ControlNet, Initial Image, and more. Now, with the power of our Control Canvas, including a full layer system, you’ll be able to use the same Canvas controls in both of these workflows.
The destination of your generations can be set at the top of your Layers & Gallery tab, with Gallery generations saving a new copy of the image to your gallery with each generation, and Canvas generations creating a new Raster layer in the bounding box on the canvas.
This is one of the big changes with v5.0, and a major point we’re looking for feedback on during alpha testing. We ask that you try to approach it with an open mind, and highlight areas where you find sustained friction, as opposed to just managing the initial shock and adjustment of change.
Layers
Carrying forward from the Control Layers release, the full suite of controls is now available on the Canvas, with some notable enhancements.
Layer Types
Each control layer on the canvas is now manageable as a moveable and editable layer. You can create multiple layers, manipulate and transform them, and compose the full set of generational controls before generating your invocation.
The naming of these layers is likely to change. A full write-up of the layers will be as we work towards a stable release.
Control Editing
When using ControlNet models, the control image can now be manipulated as a layer. Instead of managing processors just for ControlNets, any layer can now have a processors applied as Filters. Unless your control layer is a pre-processed image, remember to apply the appropriate filter before generation.
One notable benefit of this approach is that creators are now able to draw and manipulate the control images directly. While tablet support is currently limited, we intend to expand that along with some additional pressure sensitivity/brushing options to streamline that part of leveraging the tool. In the meantime, use a white brush and eraser to draw and edit your control images.
Other Updates
We'd be here all day if we were to call out every individual change, so we'll hit the highlights and expand on each point as we get closer to the stable release.
- Layer Types - Inpaint Mask, Regional Guidance, Raster Layer, Control Layer:
- Inpaint Mask and Raster Layer map to the Canvas v1 Inpaint Mask and Base Layer.
- Regional Guidance works the same as it does in the current Control Layers canvas.
- Control Layer (name TBD) is a Raster Layer with a ControlNet stapled on. You can convert a Raster Layer into a Control Layers and back again.
- Layer Compositing During Generation: You may have multiple Inpaint Masks and Raster Layers, but internally, generation still needs a single input image and mask. We handle this by virtually flattening all enabled Inpaint Masks into a single mask image, and all enabled Raster Layers into a single input image. This does not affect your layers setup - it happens behind the scenes.
- Control Layer Auto-Background: When a Control Layer has some transparency, we automatically give it a black background. This means you can create a Control Layer, select a white brush and go to town with a scribble. We'll add a black background automatically, as most ControlNet models require. This allows you to stack multiple Control Layers, even if they are of difference sizes, without artifacts at their edges.
- Layer Type Hiding: When you have even just one of each layer type, the canvas gets pretty hectic. Each layer type has a Hide toggle, which only hides the layers visually. For example, you can hide your Control Layers while you edit a Raster Layer for a cleaner-looking canvas. Hidden layers are still used during generation.
- Layer Transformation: All layer types may be moved, resized and rotated.
- Layer Filtering: Raster Layers and Control Layers may be have filters applied. You can apply as many filters as you want.
- Other Layer Operations: Duplicate, lock, disable, hide all of type, arrange. Merge visible for Raster Layers and Inpaint Masks.
- Layer Quick Switch: Press
q
to switch between the last two selected layers. Bookmark a layer to instead switch between the bookmarked layer and the last selected non-bookmarked layer. - New Rendering Engine: The canvas rendering engine is a ground-up rewrite, based on
konvajs
. - Canvas Caching: Extensive use of caching greatly improves efficiency. For example, on Canvas v1, if you click Invoke twice without changing anything else, we would export and upload the canvas image data twice. On Canvas v2, that export is cached and reused.
- Color Picker Quick Switch: Hold
alt
to temporarily switch to the color picker. - Revised Graph Builders: Curious nodeologists might find the updated graphs interesting. You can take a peek by setting Send to Gallery, generate, and load up the output image's workflow.
Installation and Updating
To install or update to v5.0.0.a2, download the installer and follow the installation instructions
To update, select the same installation location. Your user data (images, models, etc) will be retained.
What's Changed
- feat,fix,chore: canvas followups 5, release v5.0.0.a2 by @psychedelicious in #6832
Full Changelog: v5.0.0.a1...v5.0.0.a2
v5.0.0.a1
This is an alpha release. Features in this version are still under active development and may not be stable.
Your feedback is particularly important for this release, which makes big changes.
Canvas v2
The Generation & Canvas UIs have been merged into a unified experience as part of our Control Canvas release. This enhances the interaction between all your favorite features for a more intuitive and efficient workflow. Highlighted below are the key improvements and new additions that bring this experience to life.
Control Canvas
To orient existing users, you’ll find that the core generation experience is now optimized and geared towards maximizing control. There are two main workflows that users have primarily geared towards in the past:
- Batch Generation: Generating a large number of images/iterations into the Gallery by varying/tweaking different settings.
- Composition: Working continuously on a single composition, with multiple iterations and edits.
Both of these workflows have increasingly gravitated towards a canvas for control mechanisms like ControlNet, Initial Image, and more. Now, with the power of our Control Canvas, including a full layer system, you’ll be able to use the same Canvas controls in both of these workflows.
The destination of your generations can be set at the top of your Layers & Gallery tab, with Gallery generations saving a new copy of the image to your gallery with each generation, and Canvas generations creating a new Raster layer in the bounding box on the canvas.
This is one of the big changes with v5.0, and a major point we’re looking for feedback on during alpha testing. We ask that you try to approach it with an open mind, and highlight areas where you find sustained friction, as opposed to just managing the initial shock and adjustment of change.
Layers
Carrying forward from the Control Layers release, the full suite of controls is now available on the Canvas, with some notable enhancements.
Layer Types
Each control layer on the canvas is now manageable as a moveable and editable layer. You can create multiple layers, manipulate and transform them, and compose the full set of generational controls before generating your invocation.
The naming of these layers is likely to change. A full write-up of the layers will be as we work towards a stable release.
Control Editing
When using ControlNet models, the control image can now be manipulated as a layer. Instead of managing processors just for ControlNets, any layer can now have a processors applied as Filters. Unless your control layer is a pre-processed image, remember to apply the appropriate filter before generation.
One notable benefit of this approach is that creators are now able to draw and manipulate the control images directly. While tablet support is currently limited, we intend to expand that along with some additional pressure sensitivity/brushing options to streamline that part of leveraging the tool. In the meantime, use a white brush and eraser to draw and edit your control images.
Other Updates
We'd be here all day if we were to call out every individual change, so we'll hit the highlights and expand on each point as we get closer to the stable release.
- Layer Types - Inpaint Mask, Regional Guidance, Raster Layer, Control Layer:
- Inpaint Mask and Raster Layer map to the Canvas v1 Inpaint Mask and Base Layer.
- Regional Guidance works the same as it does in the current Control Layers canvas.
- Control Layer (name TBD) is a Raster Layer with a ControlNet stapled on. You can convert a Raster Layer into a Control Layers and back again.
- Layer Compositing During Generation: You may have multiple Inpaint Masks and Raster Layers, but internally, generation still needs a single input image and mask. We handle this by virtually flattening all enabled Inpaint Masks into a single mask image, and all enabled Raster Layers into a single input image. This does not affect your layers setup - it happens behind the scenes.
- Control Layer Auto-Background: When a Control Layer has some transparency, we automatically give it a black background. This means you can create a Control Layer, select a white brush and go to town with a scribble. We'll add a black background automatically, as most ControlNet models require. This allows you to stack multiple Control Layers, even if they are of difference sizes, without artifacts at their edges.
- Layer Type Hiding: When you have even just one of each layer type, the canvas gets pretty hectic. Each layer type has a Hide toggle, which only hides the layers visually. For example, you can hide your Control Layers while you edit a Raster Layer for a cleaner-looking canvas. Hidden layers are still used during generation.
- Layer Transformation: All layer types may be moved, resized and rotated.
- Layer Filtering: Raster Layers and Control Layers may be have filters applied. You can apply as many filters as you want.
- Other Layer Operations: Duplicate, lock, disable, hide all of type, arrange. Merge visible for Raster Layers and Inpaint Masks.
- Layer Quick Switch: Press
q
to switch between the last two selected layers. Bookmark a layer to instead switch between the bookmarked layer and the last selected non-bookmarked layer. - New Rendering Engine: The canvas rendering engine is a ground-up rewrite, based on
konvajs
. - Canvas Caching: Extensive use of caching greatly improves efficiency. For example, on Canvas v1, if you click Invoke twice without changing anything else, we would export and upload the canvas image data twice. On Canvas v2, that export is cached and reused.
- Color Picker Quick Switch: Hold
alt
to temporarily switch to the color picker. - Revised Graph Builders: Curious nodeologists might find the updated graphs interesting. You can take a peek by setting Send to Gallery, generate, and load up the output image's workflow.
Installation and Updating
To install or update to v5.0.0.a1, download the installer and follow the installation instructions
To update, select the same installation location. Your user data (images, models, etc) will be retained.
What's Changed
- feat: canvas v2 by @psychedelicious in #6771
- feat, fix: canvas v2 followups 1 by @psychedelicious in #6819
- fix, feat: canvas followups 2 by @psychedelicious in #6821
- fix,feat: canvas followups 3 by @psychedelicious in #6824
- fix,feat: canvas followups 4 by @psychedelicious in #6826
Full Changelog: v4.2.9...v5.0.0.a1
v4.2.9
FLUX
Please note these nodes are still in the prototype stage and are subject to change. This Node API is not stable!
We are supporting both FLUX dev and FLUX schnell at this time in workflows only. These will be incorporated into the rest of the UI in future updates. At this time, this is an initial and developing implementation - we’re bringing this in with the intent of long-term stable support for FLUX.
Default workflows can be found in your workflow tab: FLUX Text to Image
and FLUX Image to Image
. Please note that we have not added FLUX to the linear UI yet, LoRAs and Img2Img are not yet supported, but will be added soon.
Required Dependencies
In order to run FLUX on Invoke, you will need to download and install several models. We have provided options in the Starter Models (found in your Model Manager tab) for quantized and unquantized versions of both FLUX dev and FLUX schnell. Selecting these will automatically download the dependencies you need, listed below. These dependencies are also available for adhoc download in Starter Models list. Currently invoke only supports unquantized models, and bitsandbytes nf4 quantized models.
- T5 encoder
- CLIP-L encoder
- FLUX transformer/unet
- FLUX VAE
Considerations
FLUX is a large model, and has significant VRAM requirements. The full models require 24gb of VRAM on Linux — Windows PCs are less efficient, and thus need slightly more, making it difficult to run the full models.
To compensate for this, the community has begun to develop quantized versions of the DEV model - These are models with a slightly lower quality, but significant reductions in VRAM requirements.
Currently, Invoke is only supporting NVidia GPUs. You may be able to work out a way to get an AMD GPU to generate, however we’ve not been able to test this, and so can’t provide committed support for it. FLUX on MPS is not supported at this time.
Please note that the FLUX Dev model is a non-commercial license. You will need a commercial license to use the model for any commercial work.
Below are additional details on which model to use based on your system:
- FLUX dev quantized starter model: non-commercial, >16GB RAM, ≥12GB VRAM
- FLUX schnell quantized starter model: commercial, faster inference than dev, >16GB RAM, ≥ 12GB VRAM
- FLUX dev starter model: non-commercial, >32GB RAM, ≥24GB VRAM, linux OS
- FLUX schnell starter model: commercial, >32GB RAM, ≥24GB VRAM, linux OS
Running the Workflow
You can find a new default workflow in your workflows tab called FLUX Text to Image
. This can be run with both FLUX dev and FLUX schnell models, but note that the default step count of 30 is the recommendation for FLUX dev. If running FLUX schnell, we recommend you lower your step count to 4. You will not be able to successfully run this workflow without the models listed above as required dependencies installed.
- Navigate to the Workflows tab.
- Press the Workflow Library button at the top left of your screen.
- Select Default Workflows and choose the FLUX workflow you’d like to use.
The exposed fields will require you to select a FLUX model ,T5 encoder, CLIP Embed model, VAE, prompt, and your step count. If you are missing any models, use the "Starter Models" tab in the model manager to download and install FLUX Dev or Schnell.
We've also added a new default workflow named Flux Image to Image
. This can be run vary similarly to the workflow described above with the additional ability to provide a base image.
Other Changes
- Enhancement: add fields for CLIPEmbedModel and FluxVAEModel by @maryhipp
- Enhancement: FLUX memory management improvements by @RyanJDick
- Feature: Add FLUX image-to-image and inpainting by @RyanJDick
- Feature: flux preview images by @brandonrising
- Enhancement: Add install probes for T5_encoder and ClipTextModel by @lstein
- Fix: support checkpoint bundles containing more than the transformer by @brandonrising
Installation and Updating
To install or update to v4.2.9, download the installer and follow the [installation instructions](https://invoke-ai.github.io/InvokeAI/installation/010_INSTALL_AUTOMATED/).
To update, select the same installation location. Your user data (images, models, etc) will be retained.
What's Changed
- Follow-up docker readme fixes by @ebr in #6661
- fix(ui): use empty string fallback if unable to parse prompts when creating style preset from existing image by @maryhipp in #6769
- Added support for bounding boxes in the Invocation API by @JPPhoto in #6781
- fix(ui): disable export button if no non-default presets by @maryhipp in #6773
- Brandon/flux model loading by @brandonrising in #6739
- build: remove broken scripts by @psychedelicious in #6783
- fix(ui): fix translations of model types in MM by @maryhipp in #6784
- Add selectedStylePreset to app parameters by @chainchompa in #6787
- feat(ui, nodes): add fields for CLIPEmbedModel and FluxVAEModel by @maryhipp in #6794
- FLUX memory management improvements by @RyanJDick in #6791
- Fix source string in hugging face installs with subfolders by @brandonrising in #6797
- Add a new FAQ for converting checkpoints to diffusers by @lstein in #6736
- scripts: add allocate_vram script by @psychedelicious in #6617
- Add FLUX image-to-image and inpainting by @RyanJDick in #6798
- [MM] add API routes for getting & setting MM cache sizes by @lstein in #6523
- feat: flux preview images by @brandonrising in #6804
- Add install probes for T5_encoder and ClipTextModel by @lstein in #6800
- Build container image on-demand by @ebr in #6806
- feat: support checkpoint bundles containing more than the transformer by @brandonrising in #6808
- ui: translations update from weblate by @weblate in #6772
- Brandon/cast unquantized flux to bfloat16 by @brandonrising in #6815
Full Changelog: v4.2.8...v4.2.9
v4.2.9rc2
FLUX
Please note these nodes are still in the prototype stage and are subject to change. This Node API is not stable!
We are supporting both FLUX dev and FLUX schnell at this time in workflows only. These will be incorporated into the rest of the UI in future updates. At this time, this is an initial and developing implementation - we’re bringing this in with the intent of long-term stable support for FLUX.
Default workflows can be found in your workflow tab: FLUX Text to Image
and FLUX Image to Image
. Please note that we have not added FLUX to the linear UI yet, LoRAs and Img2Img are not yet supported, but will be added soon.
Flux denoise nodes now provide preview images.
Clip embeds and T5 model encoders can now be installed outside of the starter models
Required Dependencies
In order to run FLUX on Invoke, you will need to download and install several models. We have provided options in the Starter Models (found in your Model Manager tab) for quantized and unquantized versions of both FLUX dev and FLUX schnell. Selecting these will automatically download the dependencies you need, listed below. These dependencies are also available for adhoc download in Starter Models list.
- T5 encoder
- CLIP-L encoder
- FLUX transformer/unet
- FLUX VAE
Considerations
FLUX is a large model, and has significant VRAM requirements. The full models require 24gb of VRAM on Linux — Windows PCs are less efficient, and thus need slightly more, making it difficult to run the full models.
To compensate for this, the community has begun to develop quantized versions of the DEV model - These are models with a slightly lower quality, but significant reductions in VRAM requirements.
Currently, Invoke is only supporting NVidia GPUs. You may be able to work out a way to get an AMD GPU to generate, however we’ve not been able to test this, and so can’t provide committed support for it. FLUX on MPS is not supported at this time.
Please note that the FLUX Dev model is a non-commercial license. You will need a commercial license to use the model for any commercial work.
Below are additional details on which model to use based on your system:
- FLUX dev quantized starter model: non-commercial, >16GB RAM, ≥12GB VRAM
- FLUX schnell quantized starter model: commercial, faster inference than dev, >16GB RAM, ≥ 12GB VRAM
- FLUX dev starter model: non-commercial, >32GB RAM, ≥24GB VRAM, linux OS
- FLUX schnell starter model: commercial, >32GB RAM, ≥24GB VRAM, linux OS
Running the Workflow
You can find a new default workflow in your workflows tab called FLUX Text to Image
. This can be run with both FLUX dev and FLUX schnell models, but note that the default step count of 30 is the recommendation for FLUX dev. If running FLUX schnell, we recommend you lower your step count to 4. You will not be able to successfully run this workflow without the models listed above as required dependencies installed.
The exposed fields will require you to select a FLUX model ,T5 encoder, CLIP Embed model, VAE, prompt, and your step count.
We've also added a new default workflow named Flux Image to Image
. This can be run vary similarly to the workflow described above with the additional ability to provide a base image.
Other Changes
- Enhancement: add fields for CLIPEmbedModel and FluxVAEModel by @maryhipp
- Enhancement: FLUX memory management improvements by @RyanJDick
- Feature: Add FLUX image-to-image and inpainting by @RyanJDick
- Feature: flux preview images by @brandonrising
- Enhancement: Add install probes for T5_encoder and ClipTextModel by @lstein
- Fix: support checkpoint bundles containing more than the transformer by @brandonrising
Installation and Updating
To install or update to v4.2.9rc2, download the installer and follow the [installation instructions](https://invoke-ai.github.io/InvokeAI/installation/010_INSTALL_AUTOMATED/).
To update, select the same installation location. Your user data (images, models, etc) will be retained.
What's Changed
- Add selectedStylePreset to app parameters by @chainchompa in #6787
- feat(ui, nodes): add fields for CLIPEmbedModel and FluxVAEModel by @maryhipp in #6794
- FLUX memory management improvements by @RyanJDick in #6791
- Fix source string in hugging face installs with subfolders by @brandonrising in #6797
- Add a new FAQ for converting checkpoints to diffusers by @lstein in #6736
- scripts: add allocate_vram script by @psychedelicious in #6617
- Add FLUX image-to-image and inpainting by @RyanJDick in #6798
- [MM] add API routes for getting & setting MM cache sizes by @lstein in #6523
- feat: flux preview images by @brandonrising in #6804
- Add install probes for T5_encoder and ClipTextModel by @lstein in #6800
- Build container image on-demand by @ebr in #6806
- feat: support checkpoint bundles containing more than the transformer by @brandonrising in #6808
- chore: 4.2.9rc2 version bump by @brandonrising in #6810
Full Changelog: v4.2.9rc1...v4.2.9rc2
v4.2.9rc1
v4.2.9rc1 brings the initial FLUX workflow implementation to Invoke. Please note these nodes are still in the prototype stage and are subject to change. This Node API is not stable!
FLUX
We are supporting both FLUX dev and FLUX schnell at this time in workflows only. These will be incorporated into the rest of the UI in future updates. At this time, this is an initial and developing implementation - we’re bringing this in with the intent of long-term stable support for FLUX.
A default workflow can be found in your workflow tab called FLUX Text to Image
. Please note that we have not added FLUX to the linear UI yet, LoRAs and Img2Img are not yet supported, but will be added soon.
Thanks to @RyanJDick and @brandonrising for their hard work bringing FLUX support to Invoke.
Required Dependencies
In order to run FLUX on Invoke, you will need to download and install several models. We have provided options in the Starter Models (found in your Model Manager tab) for quantized and unquantized versions of both FLUX dev and FLUX schnell. Selecting these will automatically download the dependencies you need, listed below. These dependencies are also available for adhoc download in Starter Models list. We strongly recommend using the CLIP-L encoder and FLUX VAE provided in our starter models for this initial implementation to work seamlessly.
- T5 encoder
- CLIP-L encoder
- FLUX transformer/unet
- FLUX VAE
Considerations
FLUX is a large model, and has significant VRAM requirements. The full models require 24gb of VRAM on Linux — Windows PCs are less efficient, and thus need slightly more, making it difficult to run the full models.
To compensate for this, the community has begun to develop quantized versions of the DEV model - These are models with a slightly lower quality, but significant reductions in VRAM requirements.
Currently, Invoke is only supporting NVidia GPUs. You may be able to work out a way to get an AMD GPU to generate, however we’ve not been able to test this, and so can’t provide committed support for it. FLUX on MPS is not supported at this time.
Please note that the FLUX Dev model is a non-commercial license. You will need a commercial license to use the model for any commercial work.
Below are additional details on which model to use based on your system:
- FLUX dev quantized starter model: non-commercial, >16GB RAM, ≥12GB VRAM
- FLUX schnell quantized starter model: commercial, faster inference than dev, >16GB RAM, ≥ 12GB VRAM
- FLUX dev starter model: non-commercial, >32GB RAM, ≥24GB VRAM, linux OS
- FLUX schnell starter model: commercial, >32GB RAM, ≥24GB VRAM, linux OS
Running the Workflow
You can find a new default workflow in your workflows tab called FLUX Text to Image
. This can be run with both FLUX dev and FLUX schnell models, but note that the default step count of 30 is the recommendation for FLUX dev. If running FLUX schnell, we recommend you lower your step count to 4. You will not be able to successfully run this workflow without the models listed above as required dependencies installed.
The exposed fields will require you to select a FLUX model, a T5 encoder, a prompt, and your step count.
Other Changes
- Fix: Follow-up docker readme fixes by @ebr
- Fix: use empty string fallback if unable to parse prompts when creating style preset from existing image by @maryhipp
- Chore: bump version v4.2.8post1 by @psychedelicious
- Enhancement: Added support for bounding boxes in the Invocation API by @JPPhoto
- Fix: disable export button if no non-default presets by @maryhipp
- Build: remove broken scripts by @psychedelicious
- Fix: missing translation keys for new model types by @maryhipp
Installation and Updating
To install or update to v4.2.9rc1, download the installer and follow the [installation instructions](https://invoke-ai.github.io/InvokeAI/installation/010_INSTALL_AUTOMATED/).
To update, select the same installation location. Your user data (images, models, etc) will be retained.
What's Changed
- Follow-up docker readme fixes by @ebr in #6661
- fix(ui): use empty string fallback if unable to parse prompts when creating style preset from existing image by @maryhipp in #6769
- chore: bump version v4.2.8post1 by @psychedelicious in #6770
- Added support for bounding boxes in the Invocation API by @JPPhoto in #6781
- fix(ui): disable export button if no non-default presets by @maryhipp in #6773
- Brandon/flux model loading by @brandonrising in #6739
- build: remove broken scripts by @psychedelicious in #6783
- fix(ui): fix translations of model types in MM by @maryhipp in #6784
- chore: bump version to v4.2.9rc1 by @brandonrising in #6785
Full Changelog: v4.2.8...v4.2.9rc1
v4.2.8
v4.2.8 brings Prompt Templates to Invoke, new schedulers and a number of minor fixes and enhancements.
Prompt Templates
Prompt templates are often used for commonly-used style keywords, letting you focus on subject and composition in your prompts - but you can use them in other creative ways.
Thanks to @maryhipp for implementing Prompt Templates!
Creating a Prompt Template
Create a prompt template from an existing image generated with Invoke. We'll add the positive and negative prompts from the image's metadata as the template, and the image will be used as a cover image for the template.
Screen.Recording.2024-08-22.at.7.43.19.pm.mov
You can also create a prompt template from scratch, uploading a cover image.
Screen.Recording.2024-08-22.at.7.55.43.pm.mov
How it Works
Add a positive and/or negative prompt to your template. Use the {prompt}
placeholder in the template to indicate where your prompt should be inserted into the template:
- Template:
highly detailed photo of {prompt}, award-winning, nikon dslr
- Prompt:
a super cute fennec fox cub
- Result:
highly detailed photo of a super cute fennec fox cub, award-winning, nikon dslr
If you omit the placeholder, the template will be appended to the end of your prompt:
- Template:
turtles
- Prompt:
i like
- Result:
i like turtles
Default Prompt Templates
We're shipping a number of templates with the app, many of which were contributed by community members (thanks y'all!). We'll update these as we continue developing Invoke with improvements and new templates.
Screen.Recording.2024-08-22.at.8.06.45.pm.mov
Import and Export
You can import templates from other SD apps. We support CSV and JSON files with these columns/keys:
name
prompt
orpositive_prompt
negative_prompt
Export your prompt templates to share with others. When you export prompt templates, only your own templates are exported.
Screen.Recording.2024-08-22.at.8.10.46.pm.mov
Preview and Flatten
Use the Preview button to see the prompt that will be used for generation. Flatten the prompt template to bake it into your prompts.
Screen.Recording.2024-08-22.at.8.14.38.pm.mov
Compatible with Dynamic Prompts
You can use dynamic prompt in prompt templates, and they will work with dynamic prompts in your positive prompt box.
Screen.Recording.2024-08-22.at.8.26.29.pm.mov
Other Changes
- Enhancement: Added
DPM++ 3M
,DPM++ 3M Karras
,DEIS Karras
,KDPM 2 Karras
,KDPM 2 Ancestral Karras
andUniPC Karras
schedulers @StAlKeR7779 - Enhancement: Updated translations - Italian is 100%! Thanks @Harvester62!
- Enhancement: Grounded SAM node (text prompt image segmentation) @RyanJDick
- Enhancement: Update DepthAnything to V2 (small variant only) @blessedcoolant
- Fix: Image downloads with correct filename
- Fix: Delays with events (progress images will be smoother)
- Fix: Jank with board selection when hiding or deleting boards
- Fix: Error deleting images on systems without a "trash bin"
- Fix: Upscale metadata included in SDXL Multidiffusion upscales @maryhipp
- Fix:
invoke.sh
works with symlinks @max-maag - Internal: Continued work on the modular backend refactor @StAlKeR7779
Installation and Updating
To install or update to v4.2.8, download the installer and follow the installation instructions.
To update, select the same installation location. Your user data (images, models, etc) will be retained.
Missing models after updating from v3 to v4
See this FAQ.
Error during installation ModuleNotFoundError: No module named 'controlnet_aux'
See this FAQ
What's Changed
- Modular backend - Seamless by @StAlKeR7779 in #6651
- Modular backend - T2I Adapter by @StAlKeR7779 in #6662
- fix(ui): deleting a board or hiding archived should reset selected & auto-add boards by @psychedelicious in #6694
- Modular backend - inpaint by @StAlKeR7779 in #6643
- update delete board modal to be more descriptive by @chainchompa in #6690
- Add more karras schedulers by @StAlKeR7779 in #6695
- Fix gradient mask values range by @StAlKeR7779 in #6688
- Modular backend - LoRA/LyCORIS by @StAlKeR7779 in #6667
- add base prop for destination to direct users to different tabs on initial load by @chainchompa in #6706
- Add Grounded SAM support (text prompt image segmentation) by @RyanJDick in #6701
- fix(ui): include upscale metadata for SDXL multidiffusion by @maryhipp in #6704
- feat(app): delete images without send2trash by @psychedelicious in #6713
- build: exclude matplotlib 3.9.1 by @psychedelicious in #6718
- feat(ui): restore optional upper limit on upscale resolution size by @maryhipp in #6721
- ui: translations update from weblate by @weblate in #6684
- Depth Anything V2 by @blessedcoolant in #6674
- LyCORIS - LoKR and Norm layers by @StAlKeR7779 in #6724
- fix(ui): show warning for maxUpscaleDimension if model tab is disabled by @maryhipp in #6733
- chore(ui): bump deps by @psychedelicious in #6734
- fix(api): image downloads with correct filename by @psychedelicious in #6735
- fix(app): delays in events by @psychedelicious in #6716
- fix(ui): combobox scroll by @psychedelicious in #6738
- feat(ui, api): prompt templates by @maryhipp in #6729
- ui: translations update from weblate by @weblate in #6727
- feat(api,ui): import prompt template CSV by @maryhipp in #6743
- feat: add base prop for selectedWorkflow to allow loading a workflow on launch by @chainchompa in #6742
- ui: translations update from weblate by @weblate in #6746
- feat(ui, api): prompt template export by @maryhipp in #6745
- Fix invoke.sh not detecting symlinks by @max-maag in #6731
- chore: bump version to v4.2.8rc1 by @psychedelicious in #6748
- fix: bundle style preset defaults, bump version to v4.2.8rc2 by @psychedelicious in #6750
- fix(ui): use translations for style preset strings by @psychedelicious in #6752
- fix(ui): prompt template preset preview out of order by @psychedelicious in #6754
- some style preset follow-ups by @maryhipp in #6761
- fix(ui): clear prompt template when prompts are recalled by @maryhipp in #6763
- fix(ui): more prompt template follow-ups by @maryhipp in #6762
- fix(ui): translation fixes by @psychedelicious in #6758
- ui: translations update from weblate by @weblate in #6747
- chore: bump version to v4.2.8 by @psychedelicious in #6767
New Contributors
Full Changelog: v4.2.7post1...v4.2.8
v4.2.8rc2
v4.2.8rc2 brings Prompt Templates to Invoke, plus a number of minor fixes and enhancements.
This second RC fixes an issue where the default prompt templates were not packaged correctly, causing an error on startup.
Prompt Templates
We've added the ability to create, import and export prompt templates. These are saved prompts that you may add to your existing prompt.
How it Works
Add a positive and/or negative prompt to your template. Use the {prompt}
placeholder in the template to indicate where your prompt should be inserted into the template:
- Template:
highly detailed photo of {prompt}, award-winning, nikon dslr
- Prompt:
a super cute fennec fox cub
- Result:
highly detailed photo of a super cute fennec fox cub, award-winning, nikon dslr
If you omit the placeholder, the template will be appended to the end of your prompt:
- Template:
turtles
- Prompt:
i like
- Result:
i like turtles
Creating a Prompt Template
You can create a prompt templates from within Invoke in two ways:
- Directly, by providing the name, positive prompt and negative prompt. You can upload an image to be the preview image for the template.
- Via metadata from an image generated with Invoke. We'll use the positive and negative prompts from the image's metadata, and that image will be the preview image for that template.
Default Prompt Templates
We're shipping a number of templates with the app. We'll update these as we continue developing Invoke with improvements and new templates.
Import and Export
You can import templates from other SD apps. We support CSV and JSON files with these columns/keys:
name
prompt
orpositive_prompt
negative_prompt
Export your prompt templates to share with others. When you export prompt templates, only your own templates are exported.
Preview and Flatten
Use the Preview button to see the prompt that will be used for generation. Flatten the prompt template to bake it into your prompts.
Thanks to @maryhipp for implementing Prompt Templates!
Other Changes
- Enhancement: Added
DPM++ 3M
,DPM++ 3M Karras
,DEIS Karras
,KDPM 2 Karras
,KDPM 2 Ancestral Karras
andUniPC Karras
schedulers @StAlKeR7779 - Enhancement: Updated translations - Italian is 100%! Thanks @Harvester62!
- Enhancement: Grounded SAM node (text prompt image segmentation) @RyanJDick
- Enhancement: Update DepthAnything to V2 (small variant only) @blessedcoolant
- Fix: Image downloads with correct filename
- Fix: Delays with events (progress images will be smoother)
- Fix: Jank with board selection when hiding or deleting boards
- Fix: Error deleting images on systems without a "trash bin"
- Fix: Upscale metadata included in SDXL Multidiffusion upscales @maryhipp
- Fix:
invoke.sh
works with symlinks @max-maag - Internal: Continued work on the modular backend refactor @StAlKeR7779
Installation and Updating
To install or update to v4.2.8rc2, download the installer and follow the installation instructions.
To update, select the same installation location. Your user data (images, models, etc) will be retained.
Missing models after updating from v3 to v4
See this FAQ.
Error during installation ModuleNotFoundError: No module named 'controlnet_aux'
See this FAQ
What's Changed
- Modular backend - Seamless by @StAlKeR7779 in #6651
- Modular backend - T2I Adapter by @StAlKeR7779 in #6662
- fix(ui): deleting a board or hiding archived should reset selected & auto-add boards by @psychedelicious in #6694
- Modular backend - inpaint by @StAlKeR7779 in #6643
- update delete board modal to be more descriptive by @chainchompa in #6690
- Add more karras schedulers by @StAlKeR7779 in #6695
- Fix gradient mask values range by @StAlKeR7779 in #6688
- Modular backend - LoRA/LyCORIS by @StAlKeR7779 in #6667
- add base prop for destination to direct users to different tabs on initial load by @chainchompa in #6706
- Add Grounded SAM support (text prompt image segmentation) by @RyanJDick in #6701
- fix(ui): include upscale metadata for SDXL multidiffusion by @maryhipp in #6704
- feat(app): delete images without send2trash by @psychedelicious in #6713
- build: exclude matplotlib 3.9.1 by @psychedelicious in #6718
- feat(ui): restore optional upper limit on upscale resolution size by @maryhipp in #6721
- ui: translations update from weblate by @weblate in #6684
- Depth Anything V2 by @blessedcoolant in #6674
- LyCORIS - LoKR and Norm layers by @StAlKeR7779 in #6724
- fix(ui): show warning for maxUpscaleDimension if model tab is disabled by @maryhipp in #6733
- chore(ui): bump deps by @psychedelicious in #6734
- fix(api): image downloads with correct filename by @psychedelicious in #6735
- fix(app): delays in events by @psychedelicious in #6716
- fix(ui): combobox scroll by @psychedelicious in #6738
- feat(ui, api): prompt templates by @maryhipp in #6729
- ui: translations update from weblate by @weblate in #6727
- feat(api,ui): import prompt template CSV by @maryhipp in #6743
- feat: add base prop for selectedWorkflow to allow loading a workflow on launch by @chainchompa in #6742
- ui: translations update from weblate by @weblate in #6746
- feat(ui, api): prompt template export by @maryhipp in #6745
- Fix invoke.sh not detecting symlinks by @max-maag in #6731
- chore: bump version to v4.2.8rc1 by @psychedelicious in #6748
- fix: bundle style preset defaults, bump version to v4.2.8rc2 by @psychedelicious in #6750
New Contributors
Full Changelog: v4.2.7...v4.2.8rc2
v4.2.8rc1
v4.2.8rc1 brings Prompt Templates to Invoke, plus a number of minor fixes and enhancements.
Prompt Templates
We've added the ability to create, import and export prompt templates. These are saved prompts that you may add to your existing prompt.
How it Works
Add a positive and/or negative prompt to your template. Use the {prompt}
placeholder in the template to indicate where your prompt should be inserted into the template:
- Template:
highly detailed photo of {prompt}, award-winning, nikon dslr
- Prompt:
a super cute fennec fox cub
- Result:
highly detailed photo of a super cute fennec fox cub, award-winning, nikon dslr
If you omit the placeholder, the template will be appended to the end of your prompt:
- Template:
turtles
- Prompt:
i like
- Result:
i like turtles
Creating a Prompt Template
You can create a prompt templates from within Invoke in two ways:
- Directly, by providing the name, positive prompt and negative prompt. You can upload an image to be the preview image for the template.
- Via metadata from an image generated with Invoke. We'll use the positive and negative prompts from the image's metadata, and that image will be the preview image for that template.
Default Prompt Templates
We're shipping a number of templates with the app. We'll update these as we continue developing Invoke with improvements and new templates.
Import and Export
You can import templates from other SD apps. We support CSV and JSON files with these columns/keys:
name
prompt
orpositive_prompt
negative_prompt
Export your prompt templates to share with others. When you export prompt templates, only your own templates are exported.
Preview and Flatten
Use the Preview button to see the prompt that will be used for generation. Flatten the prompt template to bake it into your prompts.
Thanks to @maryhipp for implementing Prompt Templates!
Other Changes
- Enhancement: Added
DPM++ 3M
,DPM++ 3M Karras
,DEIS Karras
,KDPM 2 Karras
,KDPM 2 Ancestral Karras
andUniPC Karras
schedulers @StAlKeR7779 - Enhancement: Updated translations - Italian is 100%! Thanks @Harvester62!
- Enhancement: Grounded SAM node (text prompt image segmentation) @RyanJDick
- Enhancement: Update DepthAnything to V2 (small variant only) @blessedcoolant
- Fix: Image downloads with correct filename
- Fix: Delays with events (progress images will be smoother)
- Fix: Jank with board selection when hiding or deleting boards
- Fix: Error deleting images on systems without a "trash bin"
- Fix: Upscale metadata included in SDXL Multidiffusion upscales @maryhipp
- Fix:
invoke.sh
works with symlinks @max-maag - Internal: Continued work on the modular backend refactor @StAlKeR7779
Installation and Updating
To install or update to v4.2.8rc1, download the installer and follow the installation instructions.
To update, select the same installation location. Your user data (images, models, etc) will be retained.
Missing models after updating from v3 to v4
See this FAQ.
Error during installation ModuleNotFoundError: No module named 'controlnet_aux'
See this FAQ
What's Changed
- Modular backend - Seamless by @StAlKeR7779 in #6651
- Modular backend - T2I Adapter by @StAlKeR7779 in #6662
- fix(ui): deleting a board or hiding archived should reset selected & auto-add boards by @psychedelicious in #6694
- Modular backend - inpaint by @StAlKeR7779 in #6643
- update delete board modal to be more descriptive by @chainchompa in #6690
- Add more karras schedulers by @StAlKeR7779 in #6695
- Fix gradient mask values range by @StAlKeR7779 in #6688
- Modular backend - LoRA/LyCORIS by @StAlKeR7779 in #6667
- add base prop for destination to direct users to different tabs on initial load by @chainchompa in #6706
- Add Grounded SAM support (text prompt image segmentation) by @RyanJDick in #6701
- fix(ui): include upscale metadata for SDXL multidiffusion by @maryhipp in #6704
- feat(app): delete images without send2trash by @psychedelicious in #6713
- build: exclude matplotlib 3.9.1 by @psychedelicious in #6718
- feat(ui): restore optional upper limit on upscale resolution size by @maryhipp in #6721
- ui: translations update from weblate by @weblate in #6684
- Depth Anything V2 by @blessedcoolant in #6674
- LyCORIS - LoKR and Norm layers by @StAlKeR7779 in #6724
- fix(ui): show warning for maxUpscaleDimension if model tab is disabled by @maryhipp in #6733
- chore(ui): bump deps by @psychedelicious in #6734
- fix(api): image downloads with correct filename by @psychedelicious in #6735
- fix(app): delays in events by @psychedelicious in #6716
- fix(ui): combobox scroll by @psychedelicious in #6738
- feat(ui, api): prompt templates by @maryhipp in #6729
- ui: translations update from weblate by @weblate in #6727
- feat(api,ui): import prompt template CSV by @maryhipp in #6743
- feat: add base prop for selectedWorkflow to allow loading a workflow on launch by @chainchompa in #6742
- ui: translations update from weblate by @weblate in #6746
- feat(ui, api): prompt template export by @maryhipp in #6745
- Fix invoke.sh not detecting symlinks by @max-maag in #6731
- chore: bump version to v4.2.8rc1 by @psychedelicious in #6748
New Contributors
Full Changelog: v4.2.7...v4.2.8rc1
v4.2.7post1
🚨 v4.2.7post1 resolves an issue with Windows installs. 🚨
v4.2.7 includes gallery improvements and some major features focused on upscaling.
Upscaling
We've added a dedicated upscaling tab, support for custom upscaling models, and some new nodes.
Thanks to @RyanJDick (backend implementation), @chainchompa (frontend) and @maryhipp (frontend) for working on this!
Dedicated Upscaling Tab
The new upscaling tab provides a simple and powerful UI to Invoke's MultiDiffusion
implementation. This builds on the workflow released in v4.2.6, allowing for memory-efficient upscaling to huge output image sizes.
Upscaling.Tab.mov
We're pretty happy with the results!
4x scale,
4x_NMKD-Siax_200k
upscale model,Deliberate_v5
SD1.5 model,KDPM 2 scheduler @ 30 steps
, all other settings default
Requirements
You need 3 models installed to use this feature:
- An upscale model for the first pass upscale
- A main SD model (SD1.5 or SDXL) for the image-to-image
- A tile ControlNet model of the same model architecture as your main SD model
If you are missing any of these, you'll see a warning directing you to the model manager to install them. You can search the starter models for upscale
, main
, and tile
to get you started.
Tips
- The main SD model architecture has the biggest impact on VRAM usage. For example, SD1.5 @ 2k needs just under 4GB, while SDXL @ 2k needs just under 9GB. VRAM usage increases a small amount as output size increases - SD1.5 @ 8k needs ~4.5GB while SDXL @ 8k needs ~10.5GB.
- The upscale and main SD model choices matter. Choose models best suited to your input image or desired output characteristics.
- Some schedulers work better than others.
KDPM 2
is a good choice. - LoRAs - like a detail-adding LoRA - can make a big impact.
- Higher
Creativity
values give the SD model more leeway in creating new details. This parameter controls denoising start and end percentages. - Higher
Structure
values tell the SD model to stick closer to the input image's structure. This parameter controls the tile ControlNet.
Custom Upscaling Models
You can now install and use custom upscaling models in Invoke. The excellent spandrel
library handles loading and running the models.
Custom.Upscaling.Models.mov
spandrel
can do a lot more than upscaling - it supports a wide range of "image to image" models. This includes single-image super resolution like ESRGAN (upscalers) but also things like GFPGAN (face restoration) and DeJPEG (cleans up JPEG compression artifacts).
A complete list of supported architectures can be found here.
Note: We have not enabled the restrictively-licensed architectures, which are denoted with a
+
symbol in the list.
Installing Models
We've added a few popular upscaling models to the Starter Models tab in the Model Manager - search for "upscale" to find them.
You can install models found online via the Model Manager, just like any other model. OpenModelDB is a popular place to get these models. For most of them, you can copy the model's download link and paste in into the Model Manager to install.
Nodes
Two nodes have been added to support processing images with spandrel
- be that upscaling or any of the other tasks these models support.
Image-to-Image
- Runs the selected model without any extra processing.Image-to-Image (Autoscale)
- Runs the selected model repeatedly until the desired scale is reached. This node is intended for upscaling models specifically, providing some useful extra functionality:- If the model overshoots the target scale, the final image will be downscaled to the target scale with Lanczos resampling.
- As a convenience, the output image width and height can be fit to a multiple of 8, as is required for SD. This will only resize down, and may change the aspect ratio slightly.
- If the model doesn't actually upscale the image, the
scale
parameter will be ignored.
Gallery Improvements
Thanks to @maryhipp and @chainchompa for continued iteration on the gallery!
- Cleaner boards UI.
- Improved boards and image search UI.
- Fixed issues where board counts don't update when images are moved between boards.
- Added a "Jump" button to allow you to skip pages of the gallery
Gallery_Jump_Example.mp4
Other Changes
- Enhancement: When installing starter models, the description is carried over. Thanks @lstein!
- Enhancement: Updated translations.
- Fix: Model unpatching when running on CPU, causing bad/no outputs.
- Fix: Occasional visible seams on images with smooth textures, like skies.
MultiDiffusion
tiling now uses gradient blending to mitigate this issue. - Fix: Model names overflow the model selection drop-downs.
- Internal: Backend SD pipeline refactor (WIP). This will allow contributors to add functionality to Invoke more easily. This will be behind a feature flag until the refactor is complete and tested. Thanks to @StAlKeR7779 for leading the effort, with major contributions from @dunkeroni and @RyanJDick.
Installation and Updating
To install or update to v4.2.7post1, download the installer and follow the installation instructions.
To update, select the same installation location. Your user data (images, models, etc) will be retained.
Missing models after updating from v3 to v4
See this FAQ.
Error during installation ModuleNotFoundError: No module named 'controlnet_aux'
See this FAQ
What's Changed
- fix(backend): revert non-blocking device transfer by @psychedelicious in #6624
- chore: bump version to 4.2.6post1 by @psychedelicious in #6625
- Add support for Spandrel Image-to-Image models (e.g. ESRGAN, Real-ESRGAN, Swin-IR, DAT, etc.) by @RyanJDick in #6556
- Add tiling to SpandrelImageToImageInvocation by @RyanJDick in #6594
- Add Spandrel upscale starter models by @RyanJDick in #6605
- Fix model unpatching process when running on CPU by @lstein in #6631
- Add gradient blending to tile seams in MultiDiffusion by @RyanJDick in #6635
- Base of modular backend by @StAlKeR7779 in #6606
- add sdxl tile to starter models by @maryhipp in #6634
- Fix function call that we forgot to update in #6606 by @RyanJDick in #6636
- Bump fastapi-events dependency by @ebr in #6644
- fix: update uncategorized board totals when deleting and moving images by @chainchompa in #6646
- feat(ui): upscaling tab by @maryhipp in #6633
- Math Updates by @hipsterusername in #6648
- Modular backend - add rescale cfg by @StAlKeR7779 in #6640
- Modular backend - add FreeU by @StAlKeR7779 in #6641
- Modular backend - add ControlNet by @StAlKeR7779 in #6642
- feat(ui): add upsells for pro edition to settings menu by @maryhipp in #6650
- Update Simple Upscale Button to work with spandrel models by @chainchompa in #6649
- Simple upscale bugfixes by @chainchompa in #6655
- fix(ui): settings menu layout by @psychedelicious in #6654
- [MM2] Use typed ModelRecordChanges for model_install() rather than untyped dict by @lstein in #6645
- fix(ui): restore pnpm-lock.yaml by @psychedelicious in #6659
- feat(ui): upscaling & ad-hoc post-processing misc by @psychedelicious in #6658
- fix(ui): model select overflowing when model names are too long by @psychedelicious in #6660
- feat(ui): more gallery UX updates by @maryhipp in #6652
- fix(ui): few cases where board totals don't updated when moving by @psychedelicious in #6665
- ui: translations update from weblate by @weblate in #6653
- chore: bump version v...
v4.2.7
v4.2.7 includes gallery improvements and some major features focused on upscaling.
Upscaling
We've added a dedicated upscaling tab, support for custom upscaling models, and some new nodes.
Thanks to @RyanJDick (backend implementation), @chainchompa (frontend) and @maryhipp (frontend) for working on this!
Dedicated Upscaling Tab
The new upscaling tab provides a simple and powerful UI to Invoke's MultiDiffusion
implementation. This builds on the workflow released in v4.2.6, allowing for memory-efficient upscaling to huge output image sizes.
Upscaling.Tab.mov
We're pretty happy with the results!
4x scale,
4x_NMKD-Siax_200k
upscale model,Deliberate_v5
SD1.5 model,KDPM 2 scheduler @ 30 steps
, all other settings default
Requirements
You need 3 models installed to use this feature:
- An upscale model for the first pass upscale
- A main SD model (SD1.5 or SDXL) for the image-to-image
- A tile ControlNet model of the same model architecture as your main SD model
If you are missing any of these, you'll see a warning directing you to the model manager to install them. You can search the starter models for upscale
, main
, and tile
to get you started.
Tips
- The main SD model architecture has the biggest impact on VRAM usage. For example, SD1.5 @ 2k needs just under 4GB, while SDXL @ 2k needs just under 9GB. VRAM usage increases a small amount as output size increases - SD1.5 @ 8k needs ~4.5GB while SDXL @ 8k needs ~10.5GB.
- The upscale and main SD model choices matter. Choose models best suited to your input image or desired output characteristics.
- Some schedulers work better than others.
KDPM 2
is a good choice. - LoRAs - like a detail-adding LoRA - can make a big impact.
- Higher
Creativity
values give the SD model more leeway in creating new details. This parameter controls denoising start and end percentages. - Higher
Structure
values tell the SD model to stick closer to the input image's structure. This parameter controls the tile ControlNet.
Custom Upscaling Models
You can now install and use custom upscaling models in Invoke. The excellent spandrel
library handles loading and running the models.
Custom.Upscaling.Models.mov
spandrel
can do a lot more than upscaling - it supports a wide range of "image to image" models. This includes single-image super resolution like ESRGAN (upscalers) but also things like GFPGAN (face restoration) and DeJPEG (cleans up JPEG compression artifacts).
A complete list of supported architectures can be found here.
Note: We have not enabled the restrictively-licensed architectures, which are denoted with a
+
symbol in the list.
Installing Models
We've added a few popular upscaling models to the Starter Models tab in the Model Manager - search for "upscale" to find them.
You can install models found online via the Model Manager, just like any other model. OpenModelDB is a popular place to get these models. For most of them, you can copy the model's download link and paste in into the Model Manager to install.
Nodes
Two nodes have been added to support processing images with spandrel
- be that upscaling or any of the other tasks these models support.
Image-to-Image
- Runs the selected model without any extra processing.Image-to-Image (Autoscale)
- Runs the selected model repeatedly until the desired scale is reached. This node is intended for upscaling models specifically, providing some useful extra functionality:- If the model overshoots the target scale, the final image will be downscaled to the target scale with Lanczos resampling.
- As a convenience, the output image width and height can be fit to a multiple of 8, as is required for SD. This will only resize down, and may change the aspect ratio slightly.
- If the model doesn't actually upscale the image, the
scale
parameter will be ignored.
Gallery Improvements
Thanks to @maryhipp and @chainchompa for continued iteration on the gallery!
- Cleaner boards UI.
- Improved boards and image search UI.
- Fixed issues where board counts don't update when images are moved between boards.
- Added a "Jump" button to allow you to skip pages of the gallery
Gallery_Jump_Example.mp4
Other Changes
- Enhancement: When installing starter models, the description is carried over. Thanks @lstein!
- Enhancement: Updated translations.
- Fix: Model unpatching when running on CPU, causing bad/no outputs.
- Fix: Occasional visible seams on images with smooth textures, like skies.
MultiDiffusion
tiling now uses gradient blending to mitigate this issue. - Fix: Model names overflow the model selection drop-downs.
- Internal: Backend SD pipeline refactor (WIP). This will allow contributors to add functionality to Invoke more easily. This will be behind a feature flag until the refactor is complete and tested. Thanks to @StAlKeR7779 for leading the effort, with major contributions from @dunkeroni and @RyanJDick.
Installation and Updating
To install or update to v4.2.7, download the installer and follow the installation instructions.
To update, select the same installation location. Your user data (images, models, etc) will be retained.
Missing models after updating from v3 to v4
See this FAQ.
Error during installation ModuleNotFoundError: No module named 'controlnet_aux'
See this FAQ
What's Changed
- Add support for Spandrel Image-to-Image models (e.g. ESRGAN, Real-ESRGAN, Swin-IR, DAT, etc.) by @RyanJDick in #6556
- Add tiling to SpandrelImageToImageInvocation by @RyanJDick in #6594
- Add Spandrel upscale starter models by @RyanJDick in #6605
- Fix model unpatching process when running on CPU by @lstein in #6631
- Add gradient blending to tile seams in MultiDiffusion by @RyanJDick in #6635
- Base of modular backend by @StAlKeR7779 in #6606
- add sdxl tile to starter models by @maryhipp in #6634
- Fix function call that we forgot to update in #6606 by @RyanJDick in #6636
- Bump fastapi-events dependency by @ebr in #6644
- fix: update uncategorized board totals when deleting and moving images by @chainchompa in #6646
- feat(ui): upscaling tab by @maryhipp in #6633
- Math Updates by @hipsterusername in #6648
- Modular backend - add rescale cfg by @StAlKeR7779 in #6640
- Modular backend - add FreeU by @StAlKeR7779 in #6641
- Modular backend - add ControlNet by @StAlKeR7779 in #6642
- feat(ui): add upsells for pro edition to settings menu by @maryhipp in #6650
- Update Simple Upscale Button to work with spandrel models by @chainchompa in #6649
- Simple upscale bugfixes by @chainchompa in #6655
- fix(ui): settings menu layout by @psychedelicious in #6654
- [MM2] Use typed ModelRecordChanges for model_install() rather than untyped dict by @lstein in #6645
- fix(ui): restore pnpm-lock.yaml by @psychedelicious in #6659
- feat(ui): upscaling & ad-hoc post-processing misc by @psychedelicious in #6658
- fix(ui): model select overflowing when model names are too long by @psychedelicious in #6660
- feat(ui): more gallery UX updates by @maryhipp in #6652
- fix(ui): few cases where board totals don't updated when moving by @psychedelicious in #6665
- ui: translations update from weblate by @weblate in #6653
- chore: bump version v4.2.7rc1 by @psychedelicious in #6670
- feat(ui): add jump to option for gallery pagination by @maryhipp in #6668
- feat(ui): info popovers on by default by @psychedelicious in #66...