Caution
⚠️ Please read this before you install
If you point v7 at your existing InvokeAI root directory, it will upgrade your database, and that database will no longer work with InvokeAI v6. The migrations only go one way, and v6 refuses to open a database that contains migrations it doesn't recognise.
To try v7, create a brand-new InvokeAI root directory and experiment there. In the Invoke Launcher , choose a new, empty install location. When prompted for the version, select Manual and enter version v7.0.0-alpha.3. For a manual install, pass --root /path/to/new/folder or set INVOKEAI_ROOT. Keep your v6 install and its root directory exactly where they are.
Upgraded your v6 database by accident? Don't panic. Invoke makes a backup before it migrates anything. See Restoring your v6 database at the bottom of these notes.
Warning
This is alpha software. Things will break, some features are half-finished, and a few corners still have cobwebs. Please don't trust it with work you can't afford to lose. When you hit a bug, and you will, please open an issue on GitHub and put v7 in the title, or tell us about it on our Discord. Screenshots, logs and the output of the new Diagnostics panel all help a lot.
Note
Alpha 3 changes the project file format so that each member of a project keeps their own settings. Projects saved or exported by alpha 3 can't be opened by alpha 2, so once you upgrade, please stay on alpha 3.
What's New
Alpha 3 brings board sharing, a new image model, a faster attention backend for NVIDIA cards, and the return of a long list of features from the legacy interface. As usual, there's also a big pile of bug fixes.
Major Features
Major new features include:
Board sharing by role
Boards can now be shared with specific roles. Each board has an owner, and everyone else gets one of four roles on it: Viewer, Contributor, Editor or Owner. A board's general access can be Restricted, Everyone can view or Everyone can contribute. Boards that other people share with you show up under Shared with me in the Gallery's board list, along with who owns them and what you can do there, and board menus only offer the actions your role allows. Administrators also get an Other users' boards section.
Projects now keep each member's own settings (layout, widgets, generation settings, prompt history, selection and staging) separate from the project's shared content. When you export a project as an .invk file you can choose whether to Include my settings for this project. This is the groundwork for the project collaboration features coming later in 7.X. (@joshistoast)
See the Multi-User Mode user guide for details.
Qwen-Image-2.1
We now support Qwen-Image-2.1, both the Base model and the 8-step Turbo, for text-to-image and for canvas img2img, inpaint and outpaint. It loads as Diffusers folders, single-file transformers (bf16, ComfyUI scaled fp8 or int8_convrot) and GGUF transformers. You'll find the Base and Turbo models, a Q4_K_M GGUF and the ComfyUI VAE in the starter models. (@Pfannkuchensack)
SageAttention for faster generation on NVIDIA GPUs
There's a new opt-in setting in invokeai.yaml, attention_backend: sage. It runs the attention inside the diffusion model on SageAttention 2.2, an 8-bit attention kernel. It works with FLUX.1, FLUX.2, Z-Image, Qwen-Image, Krea-2, SDXL, LTX-2 and Wan 2.2. The speedup is modest at 1024², but on an RTX 4090 under Windows whole generations run 15–35% faster at 2048², and video gets 12–35% faster. Because the kernel is quantised, images won't be pixel-identical to the default backend at the same seed. SageAttention is installed separately and needs an RTX 30-series or newer NVIDIA GPU. (@Pfannkuchensack)
More models in the Upscale widget
The Upscale widget now works with Z-Image, Anima and Krea-2 (Turbo and Raw), in addition to SD1.5, SDXL and FLUX.1. The Creativity setting has been recalibrated so that it changes the image about the same amount whichever model you pick. The FLUX.2 VAE encode and decode nodes can now tile too, which lets FLUX.2 handle large images on most cards. (@Pfannkuchensack)
📖 Upscale
Old favourites are back
We went through the legacy interface carefully and brought back the features that hadn't made it into the new one yet (@joshistoast):
- SDXL Refiner in Generate and Canvas, including recall of the refiner settings.
- Model-family tuning controls: FLUX.1 DyPE, Z-Image shift override and seed-variance enhancer, Qwen-Image shift override and text-encoder quantisation, and a Krea-2 style reference image with its own strength slider.
- NSFW checker and invisible watermark as per-project settings (off by default).
- PiD decoding on Canvas, plus an optional Anima inpaint/outpaint adapter.
- Canvas: eraser width follows pen pressure, Alt+[ / Alt+] cycle through layers, Q jumps to a bookmarked layer, and the reference-image crop tool has aspect-ratio presets, zoom, pan and Save to Uploads.
- Queue: failed and canceled items can be retried, and their results go where the original run was headed.
- Recall and gallery: Recall All restores more of the legacy settings, and middle-click can open media in a new browser tab (opt-in). Load Workflow now works on any generated image, not just ones that carry an authored workflow.
Gallery improvements
- Filter by media type. The Gallery and the Image Map both have a new Both / Images only / Videos only filter. (@lstein)
- Live updates from other programs. Images generated by external clients that use the REST API, such as chatbots and scripts, now appear in the gallery straight away. A client can also ask for its result to be revealed and selected by enqueuing with
destination: "gallery:reveal". (@lstein)
Video extensions that don't degrade
Extending a video several times used to re-encode the earlier segments on every pass, so artifacts built up. Now Extend and Trim copy the existing footage and soundtrack without re-encoding wherever they can, and every video node encodes at higher quality (CRF 18). The video_concat node also gains GOP-aware smart rendering, so only the transitions get re-encoded. (@lstein, @JPPhoto)
More model formats
- ComfyUI single-file CLIP-L and CLIP-G text encoders now install and load. Two bugs with separately selected CLIP encoders in SD 3 were fixed along the way. (@Pfannkuchensack)
- Krea-2 LoRAs in LyCORIS LoKr format, the default output of ai-toolkit (@Balrog994)
- kohya-format MiniMax H3 LoRAs (@lstein)
Major Bug Fixes
Notable bug fixes and performance improvements include:
- Fixed
RuntimeError: Expected ASGI message 'http.response.start'errors (fonts and some other files failed to load) for installs that picked up Starlette 1.8 (@Pfannkuchensack) - Fixed several cases in which workflows combining
If,IterateandFornodes could hang the queue forever, and fixed other graph-execution edge cases (@lstein, @JPPhoto) - FLUX Euler and Heun now follow InvokeAI's sigma schedules correctly (@JPPhoto)
- The LCM scheduler now gives reproducible results with a fixed seed on FLUX.1, FLUX.2 and Z-Image, and FLUX Denoise continuing from latents without added noise works correctly (@gokay-ai)
- XLabs FLUX ControlNet checkpoints are no longer misidentified as FLUX main models (@chiliec)
- Retry install now uses your current Hugging Face login, so gated models install after you add a token (@Pfannkuchensack)
- Remote SDNQ pipeline installs no longer point at deleted temporary folders (@wunianze666-netizen)
- More robust model manager recovery after interrupted installs and transient Hugging Face errors (@JPPhoto)
- Models already inside the models folder are always installed in place (@joshistoast)
- Some workflows with mismatched Collect nodes produced HTTP 500 errors (and endless retries) instead of a proper validation error. This is fixed. (@unmarco, @kevin9327)
Anyoutputs can now connect to collection inputs in the workflow editor (@joshistoast)- The status bar now says Autosave: Needs attention and tells you which open project needs a decision, instead of showing an unexplained error (@joshistoast)
- Canvas and UI fixes: the ControlNet filter preview, a custom Render at size under a locked aspect ratio, recall shortcuts from the Gallery, attention-syntax highlighting only for models that use it, and the in-progress preview staying off once you've disabled it (@joshistoast)
- Translation updates from our Weblate contributors
Thanks also to Blacksmith, who now run our Linux and macOS CI (continuous integration) tests.
The full list of updates follows.
What's Changed
- chore(dev): bump version to 7.0.0-alpha.2-post by @lstein in #9801
- .github/workflows: Migrate workflows to Blacksmith runners by @blacksmith-sh[bot] in #9802
- ci: run Linux Python tests on Blacksmith by @joshistoast in #9827
- Honor supplied graph in If path fallback by @JPPhoto in #9815
- Fix FLUX scheduler integration by @JPPhoto in #9724
- feat(upscale): support Z-Image and Anima in the Upscale widget by @Pfannkuchensack in #9825
- fix(video): stop re-encoding the soundtrack kept by a trim by @lstein in #9834
- fix(video): stop re-encoding earlier segments when extending videos by @lstein in #9833
- feat(model-manager): load ComfyUI single-file CLIP-L/CLIP-G encoders by @Pfannkuchensack in #9800
- fix(models): rebase relocated submodel paths by @wunianze666-netizen in #9592
- ci(tests): cut idle waits from the python suite and skip OS-independent tests on windows by @Pfannkuchensack in #9859
- fix(models): always install in place from the configured models folder by @joshistoast in #9869
- fix(make): run frontend pnpm targets from their package directories by @joshistoast in #9871
- docs: split architecture into owner documents and tighten agent guidance by @joshistoast in #9863
- fix(flux): skip packing noise when FLUX Denoise continues from latents without add_noise by @gokay-ai in #9836
- ui: translations update from weblate by @weblate in #9877
- feat(flux): run FLUX.1 attention on SageAttention when enabled by @Pfannkuchensack in #9658
- feat(attention): add opt-in SageAttention backend for diffusion models by @Pfannkuchensack in #9657
- feat(flux2): run FLUX.2 attention on SageAttention when enabled by @Pfannkuchensack in #9659
- feat(z-image): run Z-Image attention on SageAttention when enabled by @Pfannkuchensack in #9660
- feat(krea2): run Krea-2 attention on SageAttention when enabled by @Pfannkuchensack in #9662
- feat(qwen-image): run Qwen-Image attention on SageAttention when enabled by @Pfannkuchensack in #9661
- feat(ltx2): run LTX-2 video self-attention on SageAttention when enabled by @Pfannkuchensack in #9664
- feat(wan): run Wan 2.2 attention on SageAttention when enabled by @Pfannkuchensack in #9665
- feat(models): add Qwen-Image-2.1 text-to-image and canvas support by @Pfannkuchensack in #9784
- feat(model-manager): support LyCORIS LoKr LoRAs for Krea-2 by @Balrog994 in #9424
- feat(canvas): restore PiD decoding and the Anima inpaint adapter on Canvas by @joshistoast in #9805
- Do not identify FLUX ControlNet checkpoints as FLUX main models by @chiliec in #9835
- ci: run macOS tests on Blacksmith; credit Blacksmith in docs by @lstein in #9875
- Fix graph execution edge cases by @JPPhoto in #9843
- feat(ui): enlarge checkbox hit area and add hover state by @joshistoast in #9867
- fix(flux): make LCM reproducible with a fixed seed on FLUX.1, FLUX.2 and Z-Image by @gokay-ai in #9837
- feat(generate): restore model-family tuning, Krea-2 style reference and output filters by @joshistoast in #9809
- feat: restore legacy recall, deletion, queue and workflow-form behaviors by @joshistoast in #9803
- feat(sdxl): run SDXL attention on SageAttention when enabled by @Pfannkuchensack in #9663
- ci(tests): cut redundant test work and keep the font worker off the database layer by @Pfannkuchensack in #9893
- fix(model-install): use the current Hugging Face login when retrying installs by @Pfannkuchensack in #9830
- fix(graph): reject mismatched collector items for union collection inputs by @unmarco in #9853
- feat(lora): support kohya-format MiniMax H3 LoRAs by @lstein in #9703
- ci: pin the remaining third-party actions by commit and declare a read-only default token by @Totara-thib in #9842
- feat(gallery): refresh when other clients complete generations by @lstein in #9876
- fix(api): stop gzip middleware from dropping response starts on Starlette 1.8 by @Pfannkuchensack in #9884
- feat(flux2): tile the FLUX.2 VAE encode and decode by @Pfannkuchensack in #9890
- fix(workflow): recall generation graphs from images by @joshistoast in #9906
- fix(queue): identify rows by queue item ID by @joshistoast in #9909
- feat(working-memory): ship VAE working-memory coefficients as data by @Pfannkuchensack in #9896
- feat(upscale): support Krea-2 Turbo and Raw in the Upscale widget by @Pfannkuchensack in #9889
- feat(canvas): restore eraser pressure width, layer quick switch, crop tools and middle-click open by @joshistoast in #9808
- feat(gallery): reveal external generations that opt in with gallery:reveal by @lstein in #9879
- feat(generation): restore the SDXL Refiner in Generate and Canvas by @joshistoast in #9810
- fix(preview): keep in-progress preview off after the user disables it by @joshistoast in #9868
- fix(graph): resolve Literal collector items to the types of their values by @kevin9327 in #9895
- feat(gallery): filter gallery and image map by media type by @lstein in #9886
- Add GOP-aware smart rendering to video concatenation by @JPPhoto in #9856
- Harden model manager recovery after failures by @JPPhoto in #9915
- fix(autosave): say which open project needs a decision instead of reporting an error by @joshistoast in #9861
- fix(ui): canvas filter and render size, recall shortcuts, prompt syntax, and hint popovers by @joshistoast in #9881
- chore(perf): re-record the editor bundle baseline by @Pfannkuchensack in #9926
- feat(boards): share boards by role and keep project settings per member by @joshistoast in #9797
- fix(workflows): allow Any outputs to connect to collection inputs by @joshistoast in #9928
- fix(graph): resolve If/Iterate/For branch deadlocks and gate branch For loops by @lstein in #9789
New Contributors
- @blacksmith-sh[bot] made their first contribution in #9802
- @gokay-ai made their first contribution in #9836
- @Balrog994 made their first contribution in #9424
- @chiliec made their first contribution in #9835
- @Totara-thib made their first contribution in #9842
- @kevin9327 made their first contribution in #9895
Full Changelog: v7.0.0-alpha.2...v7.0.0-alpha.3
🛟 Addendum: Restoring your v6 database
If you ran v7 against your existing root directory and now want to go back to v6, you can restore the backup that Invoke made just before it upgraded your database.
What you'll lose: anything you did while running v7. Images and videos you generated in v7 stay on disk in your outputs folder, but they won't appear in the v6 gallery. Models you installed in v7 stay in your models folder but won't be listed in the Model Manager until you install them again (the Scan Folder option makes this quick).
-
Quit InvokeAI completely. Make sure no Invoke process is still running.
-
Open the
databasesfolder inside your InvokeAI root directory. (If you setdb_dirininvokeai.yaml, look there instead.) -
Find the backup. You'll see files named like this:
invokeai.db invokeai_backup_20261005-143012.dbThe timestamp is
YYYYMMDD-HHMMSS. Choose the backup made when you first launched v7: it holds your database exactly as v6 left it. Earlier upgrades may have left older backups in the folder too, so pick by date. If you aren't sure which one it is, it's usually the oldest backup created on or after the day you installed v7. -
Move the upgraded database out of the way. Don't delete it yet. Create a folder such as
v7-dband move these files into it (the last two may not exist, which is fine):invokeai.db invokeai.db-wal invokeai.db-shm[!IMPORTANT]
Don't skip the-waland-shmfiles. If they're left behind, SQLite may try to apply v7's leftover changes to the restored database. -
Copy the backup into place and rename the copy to
invokeai.db. Copy rather than move, so the original backup stays as a safety net.- Windows (PowerShell):
Copy-Item invokeai_backup_20261005-143012.db invokeai.db - macOS / Linux:
cp invokeai_backup_20261005-143012.db invokeai.db
- Windows (PowerShell):
-
Check
invokeai.yaml. v7 adds a few new settings (db_url,db_synchronous,fp8_compute,reserve_vram_gb,attention_backend,image_index_*,fonts_*). v6 won't start if any of these are in the file, so remove any you added. -
Start InvokeAI v6 (6.14.2). Your boards, images and models should be back where you left them.
If v6 still refuses to start, or you can't find a backup, ask in the Discord or open an issue before you try anything else, and keep every .db file you have.