github invoke-ai/InvokeAI v5.0.0.a6

latest release: v5.0.0.a7
pre-release4 days ago

This is an alpha release. Features in this version are still under active development and may not be stable.

Your feedback is particularly important for this release, which makes big changes.

Changes since Alpha 5

Fixes

  • Fix: Doing almost anything w/ an IP adapter errors
  • Fix: Disable the transformer while canvas is busy, preventing accidentally moving layers during staging or other operations
  • Fix: Cursor sometimes disappears or is unresponsive during staging
  • Fix: Bbox sometimes not interactable after staging
  • Fix: Do not floor stage coordinates when setting thing (I don't think this actually had any functional impact)
  • Fix: Wonky layouting for overlay alerts
  • Fix: Output only masked regions was inverted
  • Fix: Checkerboard background slightly larger than canvas (it is now rendered on the canvas instead of as a DOM element)
  • Fix: Progressive image quality degradation

Enhancements

  • Feat: Move canvas reset button out of the settings popover
  • Feat: Bbox overlay (adds dark overlay outside the bbox)
  • Feat: More detailed repr outputs for all classes
  • Feat: Preserve mask (i.e. inverted inpaint mask)
  • Feat: Middle-mouse click on any image opens it in new tab
  • Feat: Use Phosphor icons for all icons (except discord and GH logos)
  • Feat: Rename Generation tab to Canvas
  • Feat: Diff icons for canvas context menu

Internal

  • Internal: Cleanup some use of nanostores

Canvas v2

image

The Generation & Canvas UIs have been merged into a unified experience as part of our Control Canvas release. This enhances the interaction between all your favorite features for a more intuitive and efficient workflow. Highlighted below are the key improvements and new additions that bring this experience to life.

Control Canvas

To orient existing users, you’ll find that the core generation experience is now optimized and geared towards maximizing control. There are two main workflows that users have primarily geared towards in the past:

  • Batch Generation: Generating a large number of images/iterations into the Gallery by varying/tweaking different settings.
  • Composition: Working continuously on a single composition, with multiple iterations and edits.

Both of these workflows have increasingly gravitated towards a canvas for control mechanisms like ControlNet, Initial Image, and more. Now, with the power of our Control Canvas, including a full layer system, you’ll be able to use the same Canvas controls in both of these workflows.

The destination of your generations can be set at the top of your Layers & Gallery tab, with Gallery generations saving a new copy of the image to your gallery with each generation, and Canvas generations creating a new Raster layer in the bounding box on the canvas.

This is one of the big changes with v5.0, and a major point we’re looking for feedback on during alpha testing. We ask that you try to approach it with an open mind, and highlight areas where you find sustained friction, as opposed to just managing the initial shock and adjustment of change.

Layers

Carrying forward from the Control Layers release, the full suite of controls is now available on the Canvas, with some notable enhancements.

Layer Types

Each control layer on the canvas is now manageable as a moveable and editable layer. You can create multiple layers, manipulate and transform them, and compose the full set of generational controls before generating your invocation.

The naming of these layers is likely to change. A full write-up of the layers will be as we work towards a stable release.

Control Editing

When using ControlNet models, the control image can now be manipulated as a layer. Instead of managing processors just for ControlNets, any layer can now have a processors applied as Filters. Unless your control layer is a pre-processed image, remember to apply the appropriate filter before generation.

One notable benefit of this approach is that creators are now able to draw and manipulate the control images directly. While tablet support is currently limited, we intend to expand that along with some additional pressure sensitivity/brushing options to streamline that part of leveraging the tool. In the meantime, use a white brush and eraser to draw and edit your control images.

Other Updates

We'd be here all day if we were to call out every individual change, so we'll hit the highlights and expand on each point as we get closer to the stable release.

  • Layer Types - Inpaint Mask, Regional Guidance, Raster Layer, Control Layer:
    • Inpaint Mask and Raster Layer map to the Canvas v1 Inpaint Mask and Base Layer.
    • Regional Guidance works the same as it does in the current Control Layers canvas.
    • Control Layer (name TBD) is a Raster Layer with a ControlNet stapled on. You can convert a Raster Layer into a Control Layers and back again.
  • Layer Compositing During Generation: You may have multiple Inpaint Masks and Raster Layers, but internally, generation still needs a single input image and mask. We handle this by virtually flattening all enabled Inpaint Masks into a single mask image, and all enabled Raster Layers into a single input image. This does not affect your layers setup - it happens behind the scenes.
  • Control Layer Auto-Background: When a Control Layer has some transparency, we automatically give it a black background. This means you can create a Control Layer, select a white brush and go to town with a scribble. We'll add a black background automatically, as most ControlNet models require. This allows you to stack multiple Control Layers, even if they are of difference sizes, without artifacts at their edges.
  • Layer Type Hiding: When you have even just one of each layer type, the canvas gets pretty hectic. Each layer type has a Hide toggle, which only hides the layers visually. For example, you can hide your Control Layers while you edit a Raster Layer for a cleaner-looking canvas. Hidden layers are still used during generation.
  • Layer Transformation: All layer types may be moved, resized and rotated.
  • Layer Filtering: Raster Layers and Control Layers may be have filters applied. You can apply as many filters as you want.
  • Other Layer Operations: Duplicate, lock, disable, hide all of type, arrange. Merge visible for Raster Layers and Inpaint Masks.
  • Layer Quick Switch: Press q to switch between the last two selected layers. Bookmark a layer to instead switch between the bookmarked layer and the last selected non-bookmarked layer.
  • New Rendering Engine: The canvas rendering engine is a ground-up rewrite, based on konvajs.
  • Canvas Caching: Extensive use of caching greatly improves efficiency. For example, on Canvas v1, if you click Invoke twice without changing anything else, we would export and upload the canvas image data twice. On Canvas v2, that export is cached and reused.
  • Color Picker Quick Switch: Hold alt to temporarily switch to the color picker.
  • Revised Graph Builders: Curious nodeologists might find the updated graphs interesting. You can take a peek by setting Send to Gallery, generate, and load up the output image's workflow.

Installation and Updating

To install or update to v5.0.0.a6, 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

Full Changelog: v5.0.0.a5...v5.0.0.a6

Don't miss a new InvokeAI release

NewReleases is sending notifications on new releases.