Releases
v5.1.0
This release includes drawing tablet support and middle-mouse panning for Canvas, support for GGUF FLUX models, and an assortment of other fixes and enhancements.
❗ We are investigating an issue with Apple Silicon devices and SDXL. Users with Apple Silicon devices may wish to hold off on updating until we resolve this. See the Known Issues section below for more information.
Be sure to review the v5 release notes if you haven’t already upgraded to v5.
Enhancements
- Canvas tablet support for both touch and pen input devices (e.g. drawing tablets).
- Pressure sensitivity for pen input devices. This can be disabled in the Canvas settings.
- Revised Canvas layout to better fit on smaller screens.
- Improved image context menu layout. Thanks @joshistoast!
- Improved Apple Pencil support.
- Added long-press trigger for context menus. The canvas itself does not have a long-press trigger, but the same actions are accessible via menu button at the top-right corner of the canvas.
- Middle-mouse button panning on Canvas. Thanks to @FloeHetling for getting this moving!
- Support for GGUF FLUX models.
- Create a new “session”, resetting all settings and Canvas to their defaults (except for model selection). These functions are in the menu next to the cancel button.
- Crop to bbox on Canvas. You can crop an individual layer, or the whole canvas. Accessed via right-click menus.
- Allow for a broader range of guidance values for flux models. Thanks @rikublock!
- Updated translations. Thanks @rikublock @Ery4z @Vasyanator @Harvester62 @Phrixus2023!
Fixes
- Duplicating a regional guidance layer with a reference image causes an error during graph building, preventing generation from working.
- Recalling LoRAs can create duplicate LoRAs.
- Fixed color picker tool edge case where wrong color could be detected while moving the cursor quickly.
Perf
- Throttled color picker sampling to improve performance.
Internal
- Bump all UI deps to latest.
- Bump
torchandxformersversions to latest. - Gracefully handle promise rejections in the UI’s metadata handlers.
- Updated
docker-compose.ymlto use GHCRlatestimage. Thanks @jkbdco!
Docs
- Added Ollama node to community nodes. Thanks @Jonseed!
- Added FLUX support to docs. Thanks @aakropotkin!
Known Issues
Apple Silicon devices will output mushy noise on SDXL unless Regional Guidance or an IP Adapter is used.
The issue appears to be related to us bumping torch to v2.4.1, which was needed for GGUF FLUX support. The SDXL generation code wasn’t changed in this release. We are investigating the issue.
As a workaround, users can set their attention type to torch-sdp in their invoke.yaml configuration file. This will result in some increased memory utilization, but allow for generations to proceed as normal.
Installation and Updating
To install or update to v5.1.0, download the latest 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(context menu): :sparkles: condense top row of image context menu by @joshistoast in https://github.com/invoke-ai/InvokeAI/pull/7001
- feat(ui): tablet support by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7008
- Initial GGUF support for flux models by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/6890
- fix(ui): show color picker when using pen by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7013
- feat(ui): mmb panning (another approach) by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7014
- feat(ui): add new session functionality by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7017
- feat(ui): layer/canvas crop by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7020
- fix(ui): duplicating regional guidance layer breaks graph generation by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7015
- fix(ui): recall LoRAs may create duplicates by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7016
- chore(ui): bump deps by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7021
- Bump xformers for compatibility with torch by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/7022
- fix(ui): prevent unhandled promise rejections by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7019
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/7010
- chore: bump version to v5.1.0rc2 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7024
- Update communityNodes.md add Ollama node by @Jonseed in https://github.com/invoke-ai/InvokeAI/pull/7002
- Update docker-compose.yml by @jkbdco in https://github.com/invoke-ai/InvokeAI/pull/7023
- fix: install issues w/ torch by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7026
- fix(ui): incorrect hotkeys on floating button tooltips by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7029
- feat(ui): canvas ipad improvements by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7027
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/7030
- chore: bump version to v5.1.0rc4 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7031
- fix(ui): board title editable by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7036
- fix(ui): funky drop targets by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7035
- fix(ui): image context menu buttons don’t close menu by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7038
- chore: bump version to v5.1.0rc5 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7039
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/7040
- fix(ui): board drop targets by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7041
- feat(ui): canvas tool cleanup & perf by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7044
- fix(ui): alternate Apple Pencil interaction fixes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7048
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/7046
- fix(ui): missing translations for canvas drop area by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7055
- docs: list FLUX as supported by @aakropotkin in https://github.com/invoke-ai/InvokeAI/pull/7053
- feat(ui): allow for a broader range of guidance values for flux models by @rikublock in https://github.com/invoke-ai/InvokeAI/pull/7051
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/7054
- fix(ui): duplicate translation string for “layer” by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7056
- chore: bump version to v5.1.0 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7057
New Contributors
- @Jonseed made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/7002
- @jkbdco made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/7023
- @aakropotkin made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/7053
- @rikublock made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/7051
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v5.0.2…v5.1.0
v5.0.2
This minor release fixes a regression with FLUX LoRAs introduced in v5.0.1.
Be sure to review the v5 release notes if you haven’t already upgraded to v5.
Fixes
- Fix regression with FLUX LoRAs introduced in v5.0.1.
Enhancements
- Show CLIP Vision models in the model manager UI, allowing for them to be deleted in case of corruption.
Installation and Updating
To install or update to v5.0.2, 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(ui): show CLIP Vision models in model manager UI by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6994
- Fix regression with FLUX diffusers LoRA models by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6997
- chore: bump version to v5.0.2 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/7003
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v5.0.1…v5.0.2
v5.0.1
This minor release includes support for Kohya FLUX LoRAs and a handful of fixes and enhancements.
Be sure to review the v5 release notes if you haven’t already upgraded to v5.
Enhancements
- Support for Kohya FLUX LoRAs with
lora_te1layers (i.e. CLIP LoRA layers) - Default scheduler is now dpmpp_3m_k
- First round of v5 translations @Harvester62 @Vasyanator @Atalanttore @Ery4z @rikublock
- Improved FLUX img2img/inpainting
- ❗ This is a breaking change. The
trajectory_guidance_strengthfield onFluxDenoiseInvocationwas removed in favor of a simpler solution that doesn’t need the extra field. More details in #6938.
- ❗ This is a breaking change. The
- Revised hotkeys focus tracking
- Recall hotkeys work when viewer is closed and gallery is open
- Added
enterandeschotkeys to apply and cancel filters and transforms - Model default settings support for FLUX guidance parameter
Fixes
- Hide brush preview while staging
- Prevent error toasts from being so large they cannot be closed
- UI crash with
TypeError: i.map is not a function - Canvas erroneously interactable after refresh while staging
Internal
- More efficient image selection handling
- More efficient newly-generated image handling
- Revised resizable panels logic
Installation and Updating
To install or update to v5.0.1, 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
- fix(ui): reduce extraneous image selection by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6930
- feat(ui): cleanup resizable panels by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6932
- fix(ui): incorrect translations for flux bbox constraints by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6933
- fix,feat: canvas followups 18 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6941
- fix(ui): restore send-to functionality by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6937
- update default scheduler to dpmpp_3m_k by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6943
- fix workflow tab translations by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6944
- fix(ui): gallery nav hotkeys not working by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6949
- fix(ui): handle resizable panels not rendered in DOM by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6948
- fix(ui): truncate error description so toast is always close-able by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6946
- fix(ui): new image selection logic by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6951
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/6818
- fix(ui): resizable panels collapsed on first app startup by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6953
- fix(ui): canvas interactable after refresh while staging by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6956
- Further improvements to FLUX image-to-image by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6938
- (ui): add button to learn more about supported models by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6958
- fix(api): UI crash with
TypeError: i.map is not a functionby @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6985 - Support FLUX LoRA models in kohya format with
lora_te1layers (i.e. CLIP LoRA layers) by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6967 - refactor(ui): hotkey/focus handling by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6987
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/6963
- chore: bump version to v5.0.1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6993
- Update communityNodes.md add OBP by @AIrjen in https://github.com/invoke-ai/InvokeAI/pull/6990
- feat(ui,api): add guidance as a default setting option for FLUX models by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6959
New Contributors
- @AIrjen made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/6990
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v5.0.0…v5.0.1
v5.0.0
Invoke 5.0 Release: Our Biggest Update Yet — A new canvas with Layer & Flux support
Today, we’re thrilled to launch the most significant update to Invoke this year: Invoke 5.0. This release introduces Control Canvas, a new tool to generate, iterate, and refine images with unprecedented control and flexibility. We’re also announcing integration with the hugely popular Flux models.
You may notice that some things have moved around. We’ve created a few resources for you to get to know the new Control Canvas and everything new in Invoke 5.0:
- (8 minutes) A short overview of how to complete common tasks in the new Control Canvas
- (23 minutes) A longer workflow demonstration of what is possible in the New Control Canvas and Invoke 5.0
- (~25 minutes) A self-guided tutorial playlist for Getting Started in Invoke
Control Canvas
Building on our Unified Canvas, the new Control Canvas integrates generation, iteration, and refinement into a single workspace. Highlights include:
- Raster Layers: Easily draw, paint, and manipulate shapes or guides that can be moved and resized independently, giving you more flexibility in editing.
- Editable Control Layers: Directly edit Control Layers (e.g., ControlNets) on the canvas, offering precise control over generation tasks without needing to re-upload images.
- Canvas Layer Recall: Save and recall the canvas state of your creation, ensuring that works can be regenerated and saved with the proper metadata.
Flux.1 Model Integration
We’ve partnered with Black Forest Labs to integrate the highly popular Flux.1 models into Invoke. You can now:
- Use Flux’s schnell model for commercial or non-commercial projects and dev models for non-commercial projects in your studio.
- Generate with text-to-image, image-to-image, inpainting, and LoRA support, with more features coming soon.
If you are looking to use Flux [dev] for commercial purposes, you’ll need to obtain a commercial license from Black Forest Labs. This is included as an add-on option in our Professional Edition. If you are interested in learning more, you can get in touch with us.
- Note: Flux Model support is currently only available for local inference on Windows and Linux systems.
Installation and Updating
To install or update to v5.0.0, 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 https://github.com/invoke-ai/InvokeAI/pull/6771
- feat, fix: canvas v2 followups 1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6819
- fix, feat: canvas followups 2 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6821
- fix,feat: canvas followups 3 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6824
- fix,feat: canvas followups 4 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6826
- chore: 5.0.0.a1 version bump by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/6827
- feat,fix,chore: canvas followups 5, release v5.0.0.a2 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6832
- fix,feat: canvas followups 6 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6834
- feat(nodes): migrate cnet nodes away from
controlnet_auxby @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6831 - chore: release v5.0.0.a3 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6838
- feat(ui): viewer UX by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6842
- chore: release v5.0.0.a4 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6843
- Split LoRA layer implementations into separate files. by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6845
- fix(ui): spandrel filter by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6844
- chore: release v5.0.0.a5 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6850
- fix,feat: canvas followups 7 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6849
- Invert the expected
denoise_maskparameter to the FLUX Denoise node by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6853 - fix,feat: canvas followups 8 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6858
- chore: v5.0.0.a6 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6859
- fix,feat: canvas followups 9 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6860
- chore: v5.0.0.a7 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6861
- fix(ui): remove accidentally added staging button by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6862
- fix(ui): map order of layer types to the menu order by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6863
- feat(ui): change upscaling icon by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6867
- fix(ui): restore Settings Modal functionality to render using children by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6864
- fix(nodes): add thresholding to lineart & lineart anime nodes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6869
- fix(worker): fix progress image for FLUX inpainting by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6868
- feat(ui): FLUX in linear UI by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6846
- fix(ui): canvas followups 10 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6872
- feat(ui): update image usage check for canvas v2 layers and upscaling by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6874
- feat(ui): copy layers to clipboard and save layers as assets by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6875
- fix: staging status & queue insanity by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6871
- export hotkeys modal by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6879
- FLUX LoRA Support by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6847
- fix,feat: canvas followups 11 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6878
- chore: v5.0.0.a8 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6882
- Fix typos by @omahs in https://github.com/invoke-ai/InvokeAI/pull/6877
- fix,feat: canvas followups 12 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6884
- fix(ui): update studio destinations by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6880
- feat(ui, worker): FLUX LoRAs in linear UI by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6886
- fix(ui): revert change to grid calc algorithm by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6887
- fix(ui): gallery grid calculation by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6889
- feat(ui): “What’s New” in side nav with indicator badge by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6888
- fix,feat: canvas followups 13 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6893
- UI fixes followup by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/6895
- fix(ui): set crossOrigin on every image load by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6891
- feat(ui): new user experience by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6892
- feat(ui): canvas error handling by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6896
- fix(ui): bbox stuff by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6897
- feat: canvas node cleanup by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6898
- Fix flaky FLUX LoRA unit test by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6899
- fix(ui): align project name with gallery header by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6901
- tweak(ui): open notification by default, get rid of indicator by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6903
- fix(ui): track whether studio destination hook fn has already fired by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6904
- feat(ui): adds notice for FLUX dev’s commercial license by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6902
- Improve FLUX image-to-image (Trajectory Guidance) by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6900
- chore: update version for 5.0.0.rc1 by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/6905
- docs: cleanup by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6913
- fix, feat: canvas followups 14 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6914
- feat: generic progress events by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6908
- (fix) fixed bbox size reset to optimals on ‘Use All’ (Asterisk) button press by @FloeHetling in https://github.com/invoke-ai/InvokeAI/pull/6915
- fix(ui): mark optimized inpainting as beta by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6917
- fix, feat: canvas followups 15 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6919
- update links by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6918
- change order of infill methods by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6920
- chore: 5.0.0.rc2 version bump by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/6921
- Maryhipp/release notes link by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6922
- fix(ui): race condition when filtering causing errors/stuck filter by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6923
- fix(ui): prefer ‘lama’ infill when handling infill fallback by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6924
- Update README.md by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6926
- fix,feat: canvas followups 16 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6927
- fix: filter event listeners by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6928
- chore: 5.0.0 version bump by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/6935
New Contributors
- @omahs made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/6877
- @FloeHetling made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/6915
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v4.2.9…v5.0.0
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 https://github.com/invoke-ai/InvokeAI/pull/6661
- fix(ui): use empty string fallback if unable to parse prompts when creating style preset from existing image by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6769
- Added support for bounding boxes in the Invocation API by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/6781
- fix(ui): disable export button if no non-default presets by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6773
- Brandon/flux model loading by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/6739
- build: remove broken scripts by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6783
- fix(ui): fix translations of model types in MM by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6784
- Add selectedStylePreset to app parameters by @chainchompa in https://github.com/invoke-ai/InvokeAI/pull/6787
- feat(ui, nodes): add fields for CLIPEmbedModel and FluxVAEModel by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6794
- FLUX memory management improvements by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6791
- Fix source string in hugging face installs with subfolders by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/6797
- Add a new FAQ for converting checkpoints to diffusers by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6736
- scripts: add allocate_vram script by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6617
- Add FLUX image-to-image and inpainting by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6798
- [MM] add API routes for getting & setting MM cache sizes by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6523
- feat: flux preview images by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/6804
- Add install probes for T5_encoder and ClipTextModel by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6800
- Build container image on-demand by @ebr in https://github.com/invoke-ai/InvokeAI/pull/6806
- feat: support checkpoint bundles containing more than the transformer by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/6808
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/6772
- Brandon/cast unquantized flux to bfloat16 by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/6815
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v4.2.8…v4.2.9
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.
You can also create a prompt template from scratch, uploading a cover image.
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.
Import and Export
You can import templates from other SD apps. We support CSV and JSON files with these columns/keys:
namepromptorpositive_promptnegative_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.
Compatible with Dynamic Prompts
You can use dynamic prompt in prompt templates, and they will work with dynamic prompts in your positive prompt box.
Other Changes
- Enhancement: Added
DPM++ 3M,DPM++ 3M Karras,DEIS Karras,KDPM 2 Karras,KDPM 2 Ancestral KarrasandUniPC Karrasschedulers @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.shworks 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 https://github.com/invoke-ai/InvokeAI/pull/6651
- Modular backend - T2I Adapter by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/6662
- fix(ui): deleting a board or hiding archived should reset selected & auto-add boards by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6694
- Modular backend - inpaint by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/6643
- update delete board modal to be more descriptive by @chainchompa in https://github.com/invoke-ai/InvokeAI/pull/6690
- Add more karras schedulers by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/6695
- Fix gradient mask values range by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/6688
- Modular backend - LoRA/LyCORIS by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/6667
- add base prop for destination to direct users to different tabs on initial load by @chainchompa in https://github.com/invoke-ai/InvokeAI/pull/6706
- Add Grounded SAM support (text prompt image segmentation) by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6701
- fix(ui): include upscale metadata for SDXL multidiffusion by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6704
- feat(app): delete images without send2trash by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6713
- build: exclude matplotlib 3.9.1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6718
- feat(ui): restore optional upper limit on upscale resolution size by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6721
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/6684
- Depth Anything V2 by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/6674
- LyCORIS - LoKR and Norm layers by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/6724
- fix(ui): show warning for maxUpscaleDimension if model tab is disabled by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6733
- chore(ui): bump deps by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6734
- fix(api): image downloads with correct filename by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6735
- fix(app): delays in events by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6716
- fix(ui): combobox scroll by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6738
- feat(ui, api): prompt templates by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6729
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/6727
- feat(api,ui): import prompt template CSV by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6743
- feat: add base prop for selectedWorkflow to allow loading a workflow on launch by @chainchompa in https://github.com/invoke-ai/InvokeAI/pull/6742
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/6746
- feat(ui, api): prompt template export by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6745
- Fix invoke.sh not detecting symlinks by @max-maag in https://github.com/invoke-ai/InvokeAI/pull/6731
- chore: bump version to v4.2.8rc1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6748
- fix: bundle style preset defaults, bump version to v4.2.8rc2 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6750
- fix(ui): use translations for style preset strings by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6752
- fix(ui): prompt template preset preview out of order by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6754
- some style preset follow-ups by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6761
- fix(ui): clear prompt template when prompts are recalled by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6763
- fix(ui): more prompt template follow-ups by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6762
- fix(ui): translation fixes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6758
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/6747
- chore: bump version to v4.2.8 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6767
New Contributors
- @max-maag made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/6731
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v4.2.7post1…v4.2.8
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.
We’re pretty happy with the results!
4x scale,
4x_NMKD-Siax_200kupscale model,Deliberate_v5SD1.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 2is a good choice. - LoRAs - like a detail-adding LoRA - can make a big impact.
- Higher
Creativityvalues give the SD model more leeway in creating new details. This parameter controls denoising start and end percentages. - Higher
Structurevalues 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.
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
scaleparameter 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
<video src=https://github.com/user-attachments/assets/b834cc36-995a-464e-af3f-68cf3b38818f>
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.
MultiDiffusiontiling 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 https://github.com/invoke-ai/InvokeAI/pull/6624
- chore: bump version to 4.2.6post1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6625
- Add support for Spandrel Image-to-Image models (e.g. ESRGAN, Real-ESRGAN, Swin-IR, DAT, etc.) by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6556
- Add tiling to SpandrelImageToImageInvocation by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6594
- Add Spandrel upscale starter models by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6605
- Fix model unpatching process when running on CPU by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6631
- Add gradient blending to tile seams in MultiDiffusion by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6635
- Base of modular backend by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/6606
- add sdxl tile to starter models by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6634
- Fix function call that we forgot to update in #6606 by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6636
- Bump fastapi-events dependency by @ebr in https://github.com/invoke-ai/InvokeAI/pull/6644
- fix: update uncategorized board totals when deleting and moving images by @chainchompa in https://github.com/invoke-ai/InvokeAI/pull/6646
- feat(ui): upscaling tab by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6633
- Math Updates by @hipsterusername in https://github.com/invoke-ai/InvokeAI/pull/6648
- Modular backend - add rescale cfg by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/6640
- Modular backend - add FreeU by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/6641
- Modular backend - add ControlNet by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/6642
- feat(ui): add upsells for pro edition to settings menu by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6650
- Update Simple Upscale Button to work with spandrel models by @chainchompa in https://github.com/invoke-ai/InvokeAI/pull/6649
- Simple upscale bugfixes by @chainchompa in https://github.com/invoke-ai/InvokeAI/pull/6655
- fix(ui): settings menu layout by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6654
- [MM2] Use typed ModelRecordChanges for model_install() rather than untyped dict by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6645
- fix(ui): restore pnpm-lock.yaml by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6659
- feat(ui): upscaling & ad-hoc post-processing misc by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6658
- fix(ui): model select overflowing when model names are too long by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6660
- feat(ui): more gallery UX updates by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6652
- fix(ui): few cases where board totals don’t updated when moving by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6665
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/6653
- chore: bump version v4.2.7rc1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6670
- feat(ui): add jump to option for gallery pagination by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6668
- feat(ui): info popovers on by default by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6673
- fix(ui): copied edges must have new ids set by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6676
- fix(backend): add refiner to single-file
load_classesby @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6675 - fix(ui): model manager goes blank by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6679
- feat(ui): upscale folllow-ups by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6671
- feat(ui): update qr code cnet starter model by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6680
- feat(app): update default workflows by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6681
- bump version to 4.2.7 by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6687
- Update docker image to use pnpm version 8 by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/6689
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v4.2.6…v4.2.7post1
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.
We’re pretty happy with the results!
4x scale,
4x_NMKD-Siax_200kupscale model,Deliberate_v5SD1.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 2is a good choice. - LoRAs - like a detail-adding LoRA - can make a big impact.
- Higher
Creativityvalues give the SD model more leeway in creating new details. This parameter controls denoising start and end percentages. - Higher
Structurevalues 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.
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
scaleparameter 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
<video src=https://github.com/user-attachments/assets/b834cc36-995a-464e-af3f-68cf3b38818f>
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.
MultiDiffusiontiling 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 https://github.com/invoke-ai/InvokeAI/pull/6556
- Add tiling to SpandrelImageToImageInvocation by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6594
- Add Spandrel upscale starter models by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6605
- Fix model unpatching process when running on CPU by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6631
- Add gradient blending to tile seams in MultiDiffusion by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6635
- Base of modular backend by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/6606
- add sdxl tile to starter models by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6634
- Fix function call that we forgot to update in #6606 by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6636
- Bump fastapi-events dependency by @ebr in https://github.com/invoke-ai/InvokeAI/pull/6644
- fix: update uncategorized board totals when deleting and moving images by @chainchompa in https://github.com/invoke-ai/InvokeAI/pull/6646
- feat(ui): upscaling tab by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6633
- Math Updates by @hipsterusername in https://github.com/invoke-ai/InvokeAI/pull/6648
- Modular backend - add rescale cfg by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/6640
- Modular backend - add FreeU by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/6641
- Modular backend - add ControlNet by @StAlKeR7779 in https://github.com/invoke-ai/InvokeAI/pull/6642
- feat(ui): add upsells for pro edition to settings menu by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6650
- Update Simple Upscale Button to work with spandrel models by @chainchompa in https://github.com/invoke-ai/InvokeAI/pull/6649
- Simple upscale bugfixes by @chainchompa in https://github.com/invoke-ai/InvokeAI/pull/6655
- fix(ui): settings menu layout by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6654
- [MM2] Use typed ModelRecordChanges for model_install() rather than untyped dict by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6645
- fix(ui): restore pnpm-lock.yaml by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6659
- feat(ui): upscaling & ad-hoc post-processing misc by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6658
- fix(ui): model select overflowing when model names are too long by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6660
- feat(ui): more gallery UX updates by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6652
- fix(ui): few cases where board totals don’t updated when moving by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6665
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/6653
- chore: bump version v4.2.7rc1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6670
- feat(ui): add jump to option for gallery pagination by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6668
- feat(ui): info popovers on by default by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6673
- fix(ui): copied edges must have new ids set by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6676
- fix(backend): add refiner to single-file
load_classesby @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6675 - fix(ui): model manager goes blank by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6679
- feat(ui): upscale folllow-ups by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6671
- feat(ui): update qr code cnet starter model by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6680
- feat(app): update default workflows by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6681
- bump version to 4.2.7 by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6687
- Update docker image to use pnpm version 8 by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/6689
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v4.2.6post1…v4.2.7
v4.2.6post1
v4.2.6post1 fixes issues some users may experience with memory management and sporadic black image outputs.
Please see the v4.2.6 release for full release notes.
💾 Installation and Updating
To install or update to v4.2.6post1, 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 https://github.com/invoke-ai/InvokeAI/pull/6624
- chore: bump version to 4.2.6post1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6625
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v4.2.6…v4.2.6post1
v4.2.6
v4.2.6 includes a handful of fixes and improvements, plus three major changes:
- Gallery updates
- Tiled upscaling via
MultiDiffusion - Checkpoint models work without conversion to diffusers
Gallery Updates
We’ve made some changes to the gallery, adding features, improving the performance of the app and reducing memory usage. The changes also fix a number of bugs relating to stale data - for example, a board not updating as expected after moving an image to it.
Thanks to @chainchompa and @maryhipp for working on this major effort.
Pagination & Selection
Infinite scroll is dead, long live infinite scroll!
The gallery is now paginated. Selection logic has been updated to work with pagination. An indicator shows how many images are selected and allows you to clear the selection entirely. Arrow keys still navigate.
https://github.com/invoke-ai/InvokeAI/assets/4822129/128c998a-efac-41e5-8639-b346da78ca5b
The number of images per page is dynamically calculated as the panel is resized, ensuring the panel is always filled with images.
Boards UI Refresh
The bulky tiled boards grid has been replaced by a scrollable list. The boards list panel is now a resizable, collapsible panel.
https://github.com/invoke-ai/InvokeAI/assets/4822129/2dd7c316-36e3-4f8d-9d0c-d38d7de1d423
Boards and Image Search
Search for boards by name and images by metadata. The search term is matched against the image’s metadata as a string. We landed on full-text search as a flexible yet simple implementation after considering a few methods for search.
https://github.com/invoke-ai/InvokeAI/assets/4822129/ebe2ecfe-edb4-4e09-aef8-212495b32d65
Archived Boards
Archive a board to hide it from the main boards list. This is purely an organizational enhancement. You can still interact with archived boards as you would any other board.
https://github.com/invoke-ai/InvokeAI/assets/4822129/7033b7a1-1cb7-4fa0-ae30-5e1037ba3261
Image Sorting
You can now change the sort for images to show oldest first. A switch allows starred images to be placed in the list according to their age, instead of always showing them first.
https://github.com/invoke-ai/InvokeAI/assets/4822129/f1ec68d0-3ba5-4ed0-b1e8-8e8bc9ceb957
Tiled Upscaling via MultiDiffusion
MultiDiffusion is a fairly straightforward technique for tiled denoising. The gist is similar to other tiled upscaling methods - split the input image up in to tiles, process each independently, and stitch them back together. The main innovation for MultiDiffusion is to do this in latent space, blending the tensors together continuously. This results in excellent consistency across the output image, with no seams.
This feature is exposed as a Tiled MultiDiffusion Denoise Latents node, currently classified as a beta version. It works much the same as the OG Denoise Latents node. You can find an example workflow in the workflow library’s default workflows.
We are still thinking about to expose this in the linear UI. Most likely, we expose this with very minimal settings. If you want to tweak it, use the workflow.
Thanks to @RyanJDick for designing and implementing MultiDiffusion.
How to use it
This technique is fundamentally the same as normal img2img. Appropriate use of conditioning and control will greatly improve the output. The one hard requirement is to use the Tile ControlNet model.
Besides that, here are some tips from our initial testing:
- Use a detail-adding or style LoRAs.
- Use a base model best suited for the desired output style.
- Prompts make a difference.
- The initial upscaling method makes a difference.
- Scheduler makes a difference. Some produce softer outputs.
VRAM Usage
This technique can upscale images to very large sizes without substantially increasing VRAM usage beyond what you’d see for a “normal” sized generation. The VRAM bottlenecks then become the first VAE encode (Image to Latents) and final VAE decode (Latents to Image) steps.
You may run into OOM errors during these steps. The solution is to enable tiling using the toggle on the Image to Latents and Latents to Image nodes. This allows the VAE operations to be done piecewise, similar to the tiled denoising process, without using gobs of VRAM.
There’s one caveat - VAE tiling often introduces inconsistency across tiles. Textures and colors may differ from tile to tile. This is a function of diffusers’ handling of VAE tiling, not the new tiled denoising process. We are investigating ways to improve this.
Takeaway: If your GPU can handle non-tiled VAE encode and decode for a given output size, use that for best results.
Checkpoint models work without conversion to diffusers
The required conversion of checkpoint format models to diffusers format has long been a pain point. The diffusers library now supports loading single-file (checkpoint) models directly, and we have removed the mandatory checkpoint-to-diffusers conversion step.
The main user-facing change is that there is no longer a conversion cache directory.
Major thanks to @lstein for getting this working.
📈 Patch Nodes for v4.2.6
Enhancements
- When downloading image metadata, graphs or workflows, the JSON file includes the image name and type of data. Thanks @jstnlowe!
- Add
clear_queue_on_startupconfig setting to clear problematic queues. This is useful for a rare edge case where your queue is full of items that somehow crash the app. Set this to true, and the queue will clear before it has time to attempt to execute the problematic item. Thanks @steffy-lo! - Performance and memory efficiency improvements for LoRA patching and model offloading.
- Addition of a simplified model installation methods to the Invocation API:
download_and_cache_model,load_local_modelandload_remote_model. These methods allow models to be used without needing them to be added to the model manager. For example, we are now using these methods to load ESRGAN models. - Support for probing and loading SDXL VAE checkpoint.
- Updated gallery UI.
- Checkpoint models work without conversion to diffusers.
- When using a VAE in tiled mode, you may now select the tile size.
Fixes
- Fix handling handling of 0-step denoising process.
- If a control image’s processed version is missing when the app loads, it is now re-processed.
- Fixed an issue where a model’s size could be misreported as 0, possibly causing memory issues.
- Fixed an issue where images - especially large images - may fail to delete.
Performance improvements
- Improved LoRA patching.
- Improved RAM <-> VRAM model transfer performance.
Internal changes
- The
DenoiseLatentsInvocationhas had its internal methods split up to support tiled upscaling viaMultiDiffusion. This included some amount of file shuffling and renaming. Theinvokeaipackage’s exported classes should still be the same. Please let us know if this has broken an import for you. - Internal cleanup, intending to eliminate circular import issues. There’s a lot left to do for this issue, but we are making progress.
💾 Installation and Updating
To install or update to v4.2.6, 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
- Prefixed JSON filenames with the image UUID by @jstnlowe in https://github.com/invoke-ai/InvokeAI/pull/6486
- feat(ui): control layers internals cleanup by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6487
- LoRA patching optimization by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6439
- fix(ui): re-process control image if processed image is missing on page load by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6494
- Split up latent.py (code reorganization, no functional changes) by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6491
- Add simplified model manager install API to InvocationContext by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6132
- fix: Some imports from previous PR’s by @blessedcoolant in https://github.com/invoke-ai/InvokeAI/pull/6501
- Improve RAM<->VRAM memory copy performance in LoRA patching and elsewhere by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6490
- Fix
DEFAULT_PRECISIONhandling by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6492 - added route to install huggingface models from model marketplace by @chainchompa in https://github.com/invoke-ai/InvokeAI/pull/6515
- Model hash validator by @brandonrising in https://github.com/invoke-ai/InvokeAI/pull/6520
- Tidy
SilenceWarningscontext manager by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6493 - [#6333] Add clear_queue_on_startup config to clear problematic queues by @steffy-lo in https://github.com/invoke-ai/InvokeAI/pull/6502
- [MM] Add support for probing and loading SDXL VAE checkpoint files by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6524
- Add
TiledMultiDiffusionDenoiseLatentsinvocation (for upscaling workflows) by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6522 - Update prevention exception message by @hipsterusername in https://github.com/invoke-ai/InvokeAI/pull/6543
- Fix handling handling of 0-step denoising process by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6544
- chore: bump version v4.2.5 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6547
- feat(ui): gallery pagination by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6527
- fix(backend): mps should not use
non_blockingby @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6549 - Load single-file checkpoints directly without conversion by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6510
- feat(ui, api): archive boards by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6546
- Update controlnet starters by @hipsterusername in https://github.com/invoke-ai/InvokeAI/pull/6537
- feat(ui, api): gallery sort by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6551
- fix(app): fix SQL query w/ enum for python 3.11 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6557
- feat(ui, api): gallery search by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6561
- Update README.md by @hipsterusername in https://github.com/invoke-ai/InvokeAI/pull/6519
- fix(ui): don’t mess up redux actions if 403 gets thrown by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6567
- (ui) clarify auto-add logic by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6566
- feat(ui): gallery ux by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6568
- Make the VAE tile size configurable for tiled VAE by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6555
- fix(ui): reset page when search term changes by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6569
- Fix access token lookup for model downloads by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6570
- fix sort order by @maryhipp in https://github.com/invoke-ai/InvokeAI/pull/6573
- Update pnpm github action by @ebr in https://github.com/invoke-ai/InvokeAI/pull/6574
- [MM bugfix] Put model install errors on the event bus by @lstein in https://github.com/invoke-ai/InvokeAI/pull/6578
- Fix some models treated as having size 0 in the model cache by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6571
- Enforce absolute imports with ruff by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6576
- Delete unused duplicate libc_util.py file by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6579
- Update the PR template QA instructions by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6580
- Fix circular imports related to SCHEDULER_NAME_VALUES by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6582
- Fixed 404 error on latest release link (line 16): by @ddm21 in https://github.com/invoke-ai/InvokeAI/pull/6583
- Demote error log to warning for models treated as having size 0 by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6589
- Overhaul docker documentation and fix minor bugs by @ebr in https://github.com/invoke-ai/InvokeAI/pull/6540
- Boards UI update and add support for private boards by @chainchompa in https://github.com/invoke-ai/InvokeAI/pull/6588
- More Styling Updates for Boards and Gallery UI by @chainchompa in https://github.com/invoke-ai/InvokeAI/pull/6592
- chore: bump version to 4.2.6a1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6595
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/6498
- Do not crash if there are invalid model configs in the DB by @RyanJDick in https://github.com/invoke-ai/InvokeAI/pull/6593
- fix(ui): gallery followups by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6601
- fix(app): vae tile size field description by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6600
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/6604
- fix(api): delete image race condition by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6607
- chore: bump version to 4.2.6rc1 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6608
- fix(ui): clear selection when deleting last image in board by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6612
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/6616
- chore: update default workflows by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6621
- fix(ui): boards cut off when search open by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6619
- chore: bump version to v4.2.6 by @psychedelicious in https://github.com/invoke-ai/InvokeAI/pull/6620
New Contributors
- @jstnlowe made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/6486
- @ddm21 made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/6583
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v4.2.4…v4.2.6