Skip to content

Releases: invoke-ai/InvokeAI

v5.4.3rc1

21 Nov 18:57
Compare
Choose a tag to compare
v5.4.3rc1 Pre-release
Pre-release

This minor release adds arrow key nudge on Canvas, plus a handful of fixes and enhancements.

Changes

Enhancements

  • Add 1-pixel nudge to the move tool on Canvas. Use the arrow keys to make fine adjustments to a layer's position. Thanks @hippalectryon-0!
  • Change the default infill method from patchmatch to lama. You can use patchmatch.
  • Add empty state for Global Reference Images and Regional Guidance Reference Images, similar to the empty state for Control Layers. A blurb directs users to upload an image or drag an image from gallery to set the image.

Fixes

  • Soft Edge (Lineart, Lineart Anime) Control Layers default to the Soft Edge filter correctly.
  • Remove the nonfunctional width and height outputs from the Image Batch node. If you want to use width and height in a batch, route the image from Image Batch to an Image Primitive node, which outputs width and height.
  • Ensure invocation templates have fully parsed before running studio init actions.

Internal

  • Add redux actions for support video modal.

Installation and Updating

To install or update, 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

Full Changelog: v5.4.2...v5.4.3rc1

v5.4.2

19 Nov 22:53
Compare
Choose a tag to compare

This release includes support for FLUX IP Adapter v2 and image "batching" for Workflows.

Image Batching for Workflows

The Workflow Editor now supports running a given workflow for each image in a collection of images.

Add an Image Batch node, drag some images into its image collection, and connect its output to any other node(s). Invoke will run the workflow once for each image in the collection.

Here are a few examples to help build intuition for the feature. Click the arrow to expand each example.

Example 1 - Single Batch -> Single Node

The simplest case is using a batch image output with a single node. Here's a workflow that resizes 5 images to 200x200 thumbnails.

Workflow

image

Results

image

This batch queues 5 graphs, each containing a single resize node with one of the 5 images in the batch list. Note the images are 200x200 pixels.

Example 2 - Single Batch -> Multiple Nodes

You can also use a batch image output with multiple nodes. This contrived workflow resizes the image to a 200x200 thumbnail, like the previous example, the pastes the thumbnail on the full size image.

Workflow

image

Results

image

This batch also queues 5 graphs, each of which contains one resize and one paste node. In each graph, the nodes get the image of the 5 images in the batch collection. The batch node can connect to any number of other nodes. For each queued graph, all connected nodes will get the same image.

Example 3 - Multiple Batches (Product Batching)

When multiple batches are used, they are combined such that all permutations are queued (e.g. the product of batches is taken).

Workflow

image

Results

image

In this case, the product of the two batches is 15 graphs. Each image of the 3-image batch is used as the base image, and a thumbnail of each tiger is pasted on top of it. We'll call this "product" batching.

Zipped Batching

The batching API supports "zipped" batches, where the batch collections are merged into a single batch.

For example, imagine two batches of 5 images. As described in the "product" example above, you'd get 5 images * 5 images = 25 graphs. Zipped batching would instead take the first image from each of the two batches and use them together in the first graph, then take the second two images for the second graph, and so on.

Zipped batching is not supported in the UI at this time.

Versus Iterate Nodes

We support similar functionality to batching with Iterate nodes, so why add batching? In short, Iterate nodes have some technical issues which are addressed by batching.

Why `Iterate` Nodes are Scary

They result in unbounded graph complexity and size. If you don't know what these words mean, but they sound kinda scary, congrats! You are on the right track. They are indeed scary words.

  • When using Iterate nodes, the graph is expanded with new nodes and edges during execution. Pretty scary.
  • We cannot know ahead of time how much the graph will expand, because iterate nodes' collections are dynamic. Terrifying.
  • Multiple iterate nodes combine via Cartesian product, resulting in combinatorial explosion. Your graph could be running at the heat death of the universe. Existential dread.

Batch collections are defined up front and don't expand the graph. We know exactly the complexity we are getting into before the graph executes. Sanity restored!

Batching also more intuitive - we run exactly this graph, once for each image.

Unlike Iterate nodes, Image Batch nodes' collections cannot be provided by other nodes in the graph. The collection must be defined up-front, so you cannot replace Iterate with Image Batch for all use-cases.

Nevertheless, we suggest using batching where possible.

Other Notes

  • We've added Image Batch nodes first because it images are the highest-impact field type, but the batching API supports arbitrary field types. In fact, the Canvas uses both int and str fields internally. We'll save nodes for other field types for a future enhancement.
  • If you want to batch over a board, you'll need to drag all images from the board into the batch collection. We'll explore a simpler way to use a board's images for a batch in a future enhancement.
  • It is not possible to combine all outputs from a batch within the same workflow.

Other Changes

Enhancements

  • Support for FLUX IP Adapter v2. We've optimized internal handling for v2, and you may find FLUX IP Adapter v1 results are degraded. Update to v2 to fix this.
  • Updated image collection inputs for nodes. You may now drag images into collections directly.
  • Brought some of @dwringer's often-requested composition nodes into Invoke's core nodes. They have been renamed to not conflict with your existing install of the node pack. Thanks for your work on these very useful nodes @dwringer!
  • Show tab-specific info in the Invoke button's tooltip.
  • Update the New from Image context menu actions. The actions that resize the image after creating a new Canvas are clearly named.
  • Change the Reset Canvas button, which was too similar to the Delete Image button, into a menu with more options:
    • New Canvas Session: Resets all generation settings, resets all layers, and enables Send to Canvas.
    • New Gallery Session: Resets all generation settings, resets all layers, and enables Send to Gallery.
    • Reset Generation Settings: Resets all generation settings, leaving layers alone.
    • Reset Canvas Layers: Resets all layers, leaving generation settings alone.
  • New Support Videos button in the bottom-left corner of the app, which lists and links to videos on our YouTube channel.

Fixes

  • Added padding to the metadata recall buttons in the metadata viewer, so they aren't cut off by other UI elements.
  • The progress bar stopped throbbing in the last release. We apologize for this oversight. Throbbing has been restored.
  • Addressed some edge cases that could cause the UI to crash with an error about an entity not found.
  • Updated grid size for SD3.5 models to 16px. Thanks for the heads up @dunkeroni.

Internal

  • Removed a node with a GPL-3 dependency (easing-functions), which had been contributed in the step_param_easing node that used it. While this node has been deprecated, please let us know if you were using this node, and the use-cases, so that we can better design inputs where these are found helpful.

Translations

We have had some issues communicating with "walk-in" translators on Weblate, resulting in translations being changed when they are already correct. To mitigate this, we are trying a more restricted Weblate translation setup. Access to contribute translations must be granted by @Harvester62. Please @ them in the #translators channel on discord to get access.

Our Weblate also has an account issue and is currently locked. This is unrelated to the access restriction changes.

We apologize for any inconvenience this change may cause. Thanks to all our translators for their continued efforts!

  • Updated Chinese (Simplified). Thanks @youo0o0!
  • Updated Italian. Thanks @Harvester62!
  • Updated Spanish. Thanks gallegonovato (weblate user)!

Installation and Updating

To install or update, 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

Read more

v5.4.2rc1

19 Nov 04:53
Compare
Choose a tag to compare
v5.4.2rc1 Pre-release
Pre-release

This release candidate includes support for FLUX IP Adapter v2 and image "batching" for Workflows.

Image Batching for Workflows

Invoke's Workflow Editor now supports running a given workflow for each image in a collection of images.

Add an Image Batch node, drag some images into its image collection, and connect its output to any other node(s). Invoke will run the workflow once for each image in the collection.

Here are a few examples to help build intuition for the feature.

Example 1 - Single Batch -> Single Node

The simplest case is using a batch image output with a single node. Here's a workflow that resizes 5 images to 200x200 thumbnails.

Workflow

image

Results

image

This batch queues 5 graphs, each containing a single resize node with one of the 5 images in the batch list. Note the images are 200x200 pixels.

Example 2 - Single Batch -> Multiple Nodes

You can also use a batch image output with multiple nodes. This contrived workflow resizes the image to a 200x200 thumbnail, like the previous example, the pastes the thumbnail on the full size image.

Workflow

image

Results

image

This batch also queues 5 graphs, each of which contains one resize and one paste node. In each graph, the nodes get the image of the 5 images in the batch collection. The batch node can connect to any number of other nodes. For each queued graph, all connected nodes will get the same image.

Example 3 - Multiple Batches (Product Batching)

When multiple batches are used, they are combined such that all permutations are queued (e.g. the product of batches is taken).

Workflow

image

Results

image

In this case, the product of the two batches is 15 graphs. Each image of the 3-image batch is used as the base image, and a thumbnail of each tiger is pasted on top of it. We'll call this "product" batching.

Zipped Batching

The batching API supports "zipped" batches, where the batch collections are merged into a single batch.

For example, imagine two batches of 5 images. As described in the "product" example above, you'd get 5 images * 5 images = 25 graphs. Zipped batching would instead take the first image from each of the two batches and use them together in the first graph, then take the second two images for the second graph, and so on.

Zipped batching is not supported in the UI at this time.

Versus Iterate Nodes

We support similar functionality to batching with Iterate nodes, so why add batching? In short, Iterate nodes have some technical issues avoided by batching.

Why `Iterate` Nodes are Scary

They result in unbounded graph complexity and size. If you don't know what these words mean, but they sound kinda scary, congrats! You are on the right track. They are indeed scary words.

  • When using Iterate nodes, the graph is expanded with new nodes and edges during execution. Pretty scary.
  • We cannot know ahead of time how much the graph will expand, because iterate nodes' collections are dynamic. Terrifying.
  • Multiple iterate nodes combine via Cartesian product, resulting in combinatorial explosion. Your graph could be running at the heat death of the universe. Existential dread.

Batch collections are defined up front and don't expand the graph. We know exactly the complexity we are getting into before the graph executes. Sanity restored!

Batching also more intuitive - we run exactly this graph, once for each image.

Unlike Iterate nodes, Image Batch nodes' collections cannot be provided by other nodes in the graph. The collection must be defined up-front, so you cannot replace Iterate with Image Batch for all use-cases.

Nevertheless, we suggest using batching where possible.

Other Notes

  • We've added Image Batch nodes first because it images are the highest-impact field type, but the batching API supports arbitrary field types. In fact, the Canvas uses both int and str fields internally. We'll save nodes for other field types for a future enhancement.
  • If you want to batch over a board, you'll need to drag all images from the board into the batch collection. We'll explore a simpler way to use a board's images for a batch in a future enhancement.
  • It is not possible to combine all outputs from a batch within the same workflow.

Other Changes

Enhancements

  • Support for FLUX IP Adapter v2. We've optimized internal handling for v2, and you may find FLUX IP Adapter v1 results are degraded. Update to v2 to fix this.
  • Updated image collection inputs for nodes. You may now drag images into collections directly.

Fixes

  • Added padding to the metadata recall buttons in the metadata viewer, so they aren't cut off by other UI elements.
  • The progress bar stopped throbbing in the last release. We apologize for this oversight. Throbbing has been restored.
  • Addressed some edge cases that could cause the UI to crash with an error about an entity not found.
  • Updated grid size for SD3.5 models to 16px. Thanks for the heads up @dunkeroni.

Internal

  • Removed a node with a GPL-3 dependency (easing-functions), which had been contributed in the step_param_easing node that used it. While this node has been deprecated, please let us know if you were using this node, and the use-cases, so that we can better design inputs where these are found helpful.

Translations

We have had some issues communicating with "walk-in" translators on Weblate, resulting in translations being changed when they are already correct. To mitigate this, we are trying a more restricted Weblate translation setup. Access to contribute translations must be granted by @Harvester62. Please @ them in the #translators channel on discord to get access.

We apologize for any inconvenience this change may cause. Thanks to all our translators for their continued efforts!

  • Updated Chinese (Simplified). Thanks @youo0o0!
  • Updated Italian. Thanks @Harvester62!
  • Updated Spanish. Thanks gallegonovato (weblate user)!

Installation and Updating

To install or update, 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

Full Changelog: v5.4.1...v5.4.2rc1

v5.4.1

15 Nov 02:35
Compare
Choose a tag to compare

This release includes support for SD 3.5, plus a number of fixes and improvements.

We pulled v5.4.0 due to issues with model installation and loading. This release (v5.4.1) resolves those issues and includes all changes from v5.4.0.

Enhancements

  • Support for SD 3.5 Medium and Large. You can download them in the starter models.
  • Moved Denoising Strength slider to top of Layers panel with updated UI and info popover.
  • Update viewer styling to have a menubar-ish header. Also used for image comparison.
  • Layer preview tooltip with larger sized preview.
  • Empty state for Control Layers, guiding user to upload an image, drag an image from gallery or start drawing.
  • "Simple" mode for control layers filtering, triggered when you select a control model. This automatically selects and processes the default filter for that model, if a default exists. If the user clicks Advanced, they get the full filter settings UI. Control Layers now start with no model selected, implicitly directing users into this flow.
  • Updated default control weight to 0.75 and end step % to 0.75. Updated label for the Balanced control mode, indicating it is the recommended setting.
  • The FLUX Denoise node now has a flag to skip adding noise to input latents. This is useful for switching models mid-generation and other fancy denoising techniques. Thanks @JPPhoto!
  • Migrated the UI's drag-and-drop functionality to a new library, improving the overall performance of dnd. It also allows us to support external dnd. For example, dragging images from the OS directly into the canvas is now possible (not implemented in this release).
  • Canvas layers may be sorted via drag-and-drop.
  • When graph building fails, you will see an error toast. Previously, it only logged a message to the browser's JS console.
  • Updated model warnings on Upscaling tab to not be misleading.
  • More FLUX LoRA format support.
  • Show alert over canvas/viewer with invocation progress event messages.
  • Tweak gallery image selection styles to better differentiate between hovered and selected.
  • Output Only Masked Regions renamed to Output only Generated Regions and now enabled by default.

Fixes

  • Canvas progress images do not clear when canceling generation after at least one image has been staged.
  • Tooltips on boards list stay open when scrolling, potentially causing the whole app to scroll.
  • Saving canvas to gallery does not create a new image in gallery.
  • Applying a filter could erase or otherwise change a layer's data unexpectedly, causing a range of user-facing generation issues.
  • Unable to queue graphs with the Segment Anything node when its inputs were provided by connection.
  • Unable to load a workflow from file when using the three-dots menu.
  • pip downloads torch twice. This didn't cause any application issues - just a waste of time and bandwidth. We pinned torch to <2.5.0 to prevent pip's dependency resolver from getting confused.
  • mediapipe install issue on Windows, related to its latest release. We pinned mediapipe to a known working version.
  • CLIP Vision error when using FLUX IP Adapter.
  • Fit bbox to layers math could result in a slightly-too-large bbox.
  • Outdated link to FLUX IP Adapter. Thanks @RadTechDad!
  • Force a compatible precision for FLUX VAEs to prevent black outputs.

Translations

We have had some issues communicating with "walk-in" translators on Weblate, resulting in translations being changed when they are already correct. To mitigate this, we are trying a more restricted Weblate translation setup. Access to contribute translations must be granted by @Harvester62. Please @ them in the #translators channel on discord to get access.

We apologize for any inconvenience this change may cause. Thanks to all our translators for their continued efforts!

  • Updated German. Thanks @rikublock!
  • Updated Chinese (Simplified). Thanks @youo0o0!
  • Updated Italian. Thanks @Harvester62 & @dakota2472!
  • Updated Spanish. Thanks gallegonovato (weblate user)!
  • Updated Vietnamese. Thanks Linos (weblate user)!
  • Updated Japanese. Thanks @GGSSKK!

Internal

  • Simplified parameter schema declarations. Thanks @rikublock!
  • Simplified dnd image and gallery rendering, resulting in improved performance.

Installation and Updating

To install or update, 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

New Contributors

Read more

v5.4.1rc2

08 Nov 00:00
Compare
Choose a tag to compare
v5.4.1rc2 Pre-release
Pre-release

This release brings support for SD 3.5 to Workflows, plus a number of fixes and improvements.

We pulled v5.4.0 due to issues with model installation and loading. This release (v5.4.1) resolves those issues and includes all changes from v5.4.0.

SD 3.5

We've added initial support for SD 3.5 in workflows. Currently, only Text-to-Image is supported. We'll add Image-to-Image support along Canvas support in the next few days.

Both SD 3.5 Large and Medium are supported and available via starter models. A sample workflow to get you started is in the Workflow Library. The node is marked as prototype; it's possible we will make some changes to it before marking it stable.

Other Changes

Enhancements

  • Moved Denoising Strength slider to top of Layers panel with updated UI and info popover.
  • Update viewer styling to have a menubar-ish header. Also used for image comparison.
  • Layer preview tooltip with larger sized preview.
  • Empty state for Control Layers, guiding user to upload an image, drag an image from gallery or start drawing.
  • "Simple" mode for control layers filtering, triggered when you select a control model. This automatically selects and processes the default filter for that model, if a default exists. If the user clicks Advanced, they get the full filter settings UI. Control Layers now start with no model selected, implicitly directing users into this flow.
  • Updated default control weight to 0.75 and end step % to 0.75. Updated label for the Balanced control mode, indicating it is the recommended setting.
  • The FLUX Denoise node now has a flag to skip adding noise to input latents. This is useful for switching models mid-generation and other fancy denoising techniques. Thanks @JPPhoto!
  • Migrated the UI's drag-and-drop functionality to a new library, improving the overall performance of dnd. It also allows us to support external dnd. For example, dragging images from the OS directly into the canvas is now possible (not implemented in this release).
  • Canvas layers may be sorted via drag-and-drop.
  • When graph building fails, you will see an error toast. Previously, it only logged a message to the browser's JS console.

Fixes

  • Canvas progress images do not clear when canceling generation after at least one image has been staged.
  • Tooltips on boards list stay open when scrolling, potentially causing the whole app to scroll.
  • Saving canvas to gallery does not create a new image in gallery.
  • Applying a filter could erase or otherwise change a layer's data unexpectedly, causing a range of user-facing generation issues.
  • Unable to queue graphs with the Segment Anything node when its inputs were provided by connection.
  • Unable to load a workflow from file when using the three-dots menu.
  • pip downloads torch twice. This didn't cause any application issues - just a waste of time and bandwidth. We pinned torch to <2.5.0 to prevent pip's dependency resolver from getting confused.
  • mediapipe install issue on Windows, related to its latest release. We pinned mediapipe to a known working version.
  • CLIP Vision error when using FLUX IP Adapter.

Internal

  • Simplified parameter schema declarations. Thanks @rikublock!
  • Simplified dnd image and gallery rendering, resulting in improved performance.

Installation and Updating

To install or update, 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

Full Changelog: v5.3.1...v5.4.1rc2

v5.4.1rc1

07 Nov 01:37
Compare
Choose a tag to compare
v5.4.1rc1 Pre-release
Pre-release

This release brings support for SD 3.5 to Workflows, plus a number of fixes and improvements.

We pulled v5.4.0 due to issues with model installation and loading. This release (v5.4.1) resolves those issues and includes all changes from v5.4.0.

SD 3.5

We've added initial support for SD 3.5 in workflows. Currently, only Text-to-Image is supported. We'll add Image-to-Image support along Canvas support in the next few days.

Both SD 3.5 Large and Medium are supported and available via starter models. A sample workflow to get you started is in the Workflow Library. The node is marked as prototype; it's possible we will make some changes to it before marking it stable.

Other Changes

Enhancements

  • Moved Denoising Strength slider to top of Layers panel with updated UI and info popover.
  • Update viewer styling to have a menubar-ish header. Also used for image comparison.
  • Layer preview tooltip with larger sized preview.
  • Empty state for Control Layers, guiding user to upload an image, drag an image from gallery or start drawing.
  • "Simple" mode for control layers filtering, triggered when you select a control model. This automatically selects and processes the default filter for that model, if a default exists. If the user clicks Advanced, they get the full filter settings UI. Control Layers now start with no model selected, implicitly directing users into this flow.
  • Update default control weight to 0.75, end step % to 0.75. Update label for the Balanced control mode, indicating it is the recommended setting.

Fixes

  • Canvas progress images do not clear when canceling generation after at least one image has been staged.
  • Tooltips on boards list stay open when scrolling, potentially causing the whole app to scroll.
  • Saving canvas to gallery does not create a new image in gallery.
  • Applying a filter could erase or otherwise change a layer's data unexpectedly, causing a range of user-facing generation issues.
  • Unable to queue graphs with the Segment Anything node when its inputs were provided by connection.
  • Unable to load a workflow from file when using the three-dots menu.
  • pip downloads torch twice. This didn't cause any application issues - just a waste of time and bandwidth. We pinned torch to <2.5.0 to prevent pip's dependency resolver from getting confused.
  • mediapipe install issue on Windows, related to its latest release. We pinned mediapipe to a known working version.

Internal

  • Simplified parameter schema declarations. Thanks @rikublock!

Installation and Updating

To install or update, 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

Full Changelog: v5.3.1...v5.4.1rc1

v5.4.0

04 Nov 23:41
Compare
Choose a tag to compare
v5.4.0 Pre-release
Pre-release

This release brings support for SD 3.5 to Workflows, plus a number of fixes.

❗ We've discovered an issue with model installation and loading on this release. If you installed v5.4.0 and experience problems with model installation and loading, you can roll back to v5.3.1 by running the installer and choosing v5.3.1.

SD 3.5

We've added initial support for SD 3.5 in workflows. Currently, only Text-to-Image is supported. We'll add Image-to-Image support along Canvas support in the next few days.

Both SD 3.5 Large and Medium are supported and available via starter models. A sample workflow to get you started is in the Workflow Library. The node is marked as prototype; it's possible we will make some changes to it before marking it stable.

Fixes

  • Canvas progress images do not clear when canceling generation after at least one image has been staged.
  • Tooltips on boards list stay open when scrolling, potentially causing the whole app to scroll.
  • Saving canvas to gallery does not create a new image in gallery.
  • Applying a filter could erase or otherwise change a layer's data unexpectedly, causing a range of user-facing generation issues.
  • Unable to queue graphs with the Segment Anything node when its inputs were provided by connection.
  • Unable to load a workflow from file when using the three-dots menu.
  • pip downloads torch twice. This didn't cause any application issues - just a waste of time and bandwidth. We pinned torch to <2.5.0 to prevent pip's dependency resolver from getting confused.
  • mediapipe install issue on Windows, related to its latest release. We pinned mediapipe to a known working version.

Installation and Updating

To install or update, 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

Full Changelog: v5.3.1...v5.4.0

v5.3.1

01 Nov 03:00
Compare
Choose a tag to compare

This release expands layer merging capabilities in the Canvas and makes a number of other fixes and enhancements.

Layer Merging

We've expanded layer merging capabilities to all layer types and made one change to the existing Merge Visible operation.

Merge Down (new)

The selected layer and the one immediately below it are merged into a single layer. The two input layers are deleted as part of this process.

Merge Visible (changed)

Previously, in Invoke, Merge Visible deleted all the layers that were merged together.

This has been changed to match image editors like Affinity Photo and PS, where the merged layer is added as a new layer, leaving all other layers untouched.

Merging Regional Guidance

When merging Regional Guidance, the resultant merged Regional Guidance has no prompt or reference image. It's not possible to merge those settings. Keep this in mind when doing a Merge Down, which will delete the two input Regional Guidance layers.

Merging Control Layers

When merging Control Layers, the resultant merged Control Layer has no model or control settings. Like Regional Guidance, it's not possible to merge the settings, and Merge Down will delete the two input layers.

Control Layers require some special handling. For example, we display them with a "transparency effect" to help you visualize how they stack up. When merging them, we first apply a similar effect to the layer. Specifically, we use the "lighter" blend mode, optimizing for control images with black backgrounds.

All Changes

Enhancements

  • Layer merging improvements.
  • Updated "What's New" popover.
  • Inpaint Mask and Regional Guidance may be saved to assets.
  • Support for HF tokens in the model manager UI. This prepares Invoke's MM for SD3.5, which requires you to authenticate with HF to download the model. You can paste your token into the MM to allow the the model to download, instead of needing to configure it with the HF CLI.
  • Add a safeguard for invocation classes, requiring they implement the invoke method and have a correct output annotation.

Fixes

  • Canvas alerts prevent clicks on the metadata viewer tabs.
  • Save as-ing a Filtered layer may result in the wrong image data being used during generation.
  • More resilient Filter handling.
  • SDXL T2I OpenPose model gets input images with the correct channel order, which makes this model work correctly. Thanks @dunkeroni!
  • T2I Adapters now work with any output size supported by the main model. Previously, they required output sizes to be in multiples of 32 or 64. Thanks @dunkeroni!
  • Recall of seamless metadata settings. Thanks @rikublock!
  • Fixed broken link in installer. Thanks @hippalectryon-0!
  • Fixed (another) broken link in installer. Thanks @ventureOptimism!

Internal

  • Bump diffusers, accelerate and huggingface-hub dependencies to latest versions.
  • Refactored CanvasCompositorModule to support new merge capabilities.
  • Remove version pins for several packages including torch and numpy. This is in preparation for an updated installer and also makes it easier for advanced users to customize the versions of various packages.
  • Canvas inpaint and outpaint graphs output one less intermediate image, saving one expensive PNG encode (and your disk space).
  • Added caches for generation mode calculations in Canvas, providing a substantial reduction in intermediate images created and faster Invoke-to-Queue times.

Docs

Translations

Installation and Updating

To install or update, 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

New Contributors

Full Changelog: v5.3.0...v5.3.1

v5.3.1rc1

30 Oct 05:42
Compare
Choose a tag to compare
v5.3.1rc1 Pre-release
Pre-release

This release candidate expands layer merging capabilities in Canvas, plus a number of other fixes and enhancements.

Layer Merging

We've expanded layer merging capabilities to all layer types and made one change to the existing Merge Visible operation.

Merge Down (new)

The selected layer and the one immediately below it are merged into a single layer. The two input layers are deleted as part of this process.

Merge Visible (changed)

Previously, in Invoke, Merge Visible deleted all the layers that were merged together.

This has been changed to match image editors like Affinity Photo and PS, where the merged is added as a new layer, leaving all other layers untouched.

Merging Regional Guidance

When merging Regional Guidance, the resultant merged Regional Guidance has no prompt or reference image. It's not possible to merge those settings. Keep this in mind when doing a Merge Down, which will delete the two input Regional Guidance layers.

Merging Control Layers

When merging Control Layers, the resultant merged Control Layer has no model or control settings. Like Regional Guidance, it's not possible to merge the settings, and Merge Down will delete the two input layers.

Control Layers require some special handling. For example, we display them with a "transparency effect" to help you visualize how they stack up. When merging them, we first apply a similar effect to the layer. Specifically, we use the "lighter" blend mode, optimizing for control images with black backgrounds.

All Changes

Enhancements

  • Layer merging improvements.
  • Updated "What's New" popover.
  • Inpaint Mask and Regional Guidance may be saved to assets.

Performance

  • Canvas inpaint and outpaint graphs output one less intermediate image, saving one expensive PNG encode (and your disk space).
  • Added caches for generation mode calculations in Canvas, providing a substantial reduction in intermediate images created and faster Invoke-to-Queue times.

Fixes

  • Canvas alerts prevent clicks on the metadata viewer tabs.
  • Save as-ing a Filtered layer may result in the wrong image data being used during generation.
  • More resilient Filter handling.
  • SDXL T2I OpenPose get get input images in the expected channel order. Thanks @dunkeroni!
  • Recall of seamless metadata settings. Thanks @rikublock!

Internal

  • Bump diffusers, accelerate and huggingface-hub dependencies to latest versions.
  • Refactored CanvasCompositorModule to support new merge capabilities.

Installation and Updating

To install or update, 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

Full Changelog: v5.3.0...v5.3.1rc1

v5.3.0

26 Oct 06:01
Compare
Choose a tag to compare

This release includes a number of enhancements and fixes. Standouts include:

  • Object selection in Canvas (via Segment Anything).
  • Support for XLabs FLUX IP Adapters.
  • Installer improvements, which should resolve all xformers-related issues.
  • Improved FLUX support for MPS (Apple Silicon) devices.
  • Reworked context menus, now with sub-menus.

Be sure to review the v5 release notes if you haven't already upgraded to v5.

Canvas Select Object

Click the Canvas to add Include and Exclude points to select an object in a layer, then use the selection as an Inpaint Mask.

select-object-save-as-inpaint-mask.mov

In the next example, we want to select the fox and the ground, but the model has a hard time with this, as it is trained to select single objects. We are able to work around this by selecting the background and inverting the selection.

select-object-invert-apply.mov

As demonstrated, applying the selection masks the layer with the selection. You can also save the selection as a Raster Layer, Control Layer or Regional Guidance. This enables some useful workflows.

select-object-apply-convert-control.mov

Internally, this uses Segment Anything v1. We'll upgrade to SAM v2, which substantially improves object selection, once support for it lands in transformers.

FLUX IP Adapters

We now support XLabs FLUX IP Adapters. There's only the one model right now, which we've added to the starter models.

Workflow & Input Image Output

Internally, IP Adapter requires CFG to work. For now, this is only exposed via workflows. Negative conditioning is also now available in workflows. We're exploring a sane way to expose this in the linear UI.

Negative conditioning requires a CFG value >1. Leave CFG at 1 to disable it and ignore negative conditioning.

Note: CFG doubles denoising time, and negative conditioning requires a good additional chunk of VRAM.

All Changes

Enhancements

  • Object selection in Canvas (via Segment Anything).
  • Support for XLabs FLUX IP Adapters.
  • Support for CFG and Negative Conditioning for FLUX in workflows only.
  • Added RealVisXL5 to SDXL Starter Model Bundle.
  • Model manager in-place checkbox remembers your choice. Thanks @rikublock!
  • Better tooltips in the model manager, including a starter bundle contents.
  • Support for sub-menus, which are now used in the Image context menu and various Canvas context menus.
  • Support more conversions between Canvas layers. Both in-place and copy conversions are supported. For example, convert between Inpaint Masks and Regional Guidance, or copy a Raster Layer into a new Inpaint Mask.
  • Model descriptions are now displayed in model selection drop-downs. You can disable this in settings.
  • We now track whether or not enabled model default settings are currently set. When they are not, we list the defaults that differ in a tooltip on the little button next to the main model drop-down.
  • Always show staging images when staging starts, even if user hid them last staging session.
  • Canvas alerts (e.g. the Sending to Gallery alert overlaid on the canvas) are moved to the top-left corner of the center panel.
  • Updated translations. Thanks @rikublock, @Vasyanator, @Harvester62, @Ery4z!

Fixes

  • Improved FLUX support for MPS devices. Thanks @Vargol!
  • FLUX denoise node erroneously required controlnet_vae field.
  • Uninstall xformers before installation, fixing issues w/ xformers version mismatch.
  • Fixed installer text output. Thanks @max-maag!
  • Fixed ROCm PyPI indices. Thanks @max-maag!
  • Normalize solid infill alpha values from 0-1 to 0-255 when building canvas graphs. This issue didn't cause any problems, because VAE ignores the alpha channel, but it should be fixed regardless.
  • View/Hide Boards button cut off with certain translations.
  • Fix a longstanding issue where nodes could mutate the objects (images, tensors, conditioning data) in disk-backed in-memory caches. For example, node 1 might retrieve image X and do some in-place operation on it to create image Y. Node 2 retrieves image X but gets image Y instead. This issue only affected the in-memory caches; mutations were not pushed to disk. The invocation API now returns clones of all objects, so nodes can safely mutate their inputs in-place.

Internal

  • Reworked logging implementation.
  • Directory traversal issue when deleting images.

Documentation

Installation and Updating

To install or update, 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

New Contributors

Full Changelog: v5.2.0...v5.3.0