Original release notes
This is a big release that adds many new user visible features including:
- Video generation support via Wan 2.2.
- Krea.2-Turbo and Raw model support
- Flux.2 Dev support
- Ernie Turbo model support
- Ideogram 4 support
- Anima controlnets and inpainting
- Flux.2 PiD support (super resolution up to 4K)
- Multi-GPU support
- Native Intel XPU support
- FP8 support for Anima, Flux.2 Krea Turbo & Raw, and Z-Image Turbo
Video Generation
You can now generate short videos using the Wan 2.2 video model. We support text-to-video, image-to-video (use a still image to initiate the video), and image-to-image-video (interpolate video between two images). Video generation is available through the workflow editor, and includes a series of template workflows that allow you to generate videos and concatenate them together into longer productions. See Video Generation to get started.
New models
We now provide support for Krea.2-Turbo, Krea.2-Raw, Ernie Image Turbo, and Ideogram 4.
These are pure text-to-image models (no image editing capabilities). and LoRA/ControlNet/IPAdapter support is being rolled out in stages. Not all LoRAs will currently load. Please report those that don't in Issues.
Current capabilities are:
| Model | Text-to-Image | Image-to-Image | Inpainting | Outpainting | Negative Prompting | Reference Images | Regional Guidance | LoRAs | ControlNets | |---|---|---|---|---|---|---|---|---|---| | Krea-2-Turbo | | | | | needs CFG > 1 (off-spec for Turbo) | | positive only | | | | Krea-2-Raw | | | | | (CFG > 1) | | positive only | | | | Ernie-Image-Turbo | | | | | (CFG > 1) | | | | | | Ideogram-4 | | | | | | | prompt + bbox only | | | | Anima | | | | | (CFG > 1) | | pos + neg | | | | Flux.2 Dev | | | | | (CFG > 1) | | pos + neg | | |
Notes
- Krea-2-Turbo vs Krea-2-Raw - identical feature support; they share one graph builder. The difference is sampling: Turbo is the distilled checkpoint (~8 steps, guidance disabled, fixed mu), Raw is undistilled (~28 steps, CFG ~4.5, dynamic mu).
- Krea-2 negative prompting - honored only when CFG > 1. The variant does not gate CFG, so the negative prompt is live on Turbo too, but Turbo is meant to run with guidance off; raising CFG to reach the negative prompt is off-spec and degrades output.
- Krea-2 regional guidance - regional *positive* text only. Regional negative prompts, auto-negative, and regional reference images raise "unsupported" warnings on canvas. The denoise node supports masked negative conditioning in workflows; the canvas graph does not wire it.
- Ernie-Image-Turbo - text-to-image only. The denoise node has no
denoise_maskinput, so masked modes are impossible and image-to-image is not offered; any non-txt2img mode is rejected at graph build. Global negative prompt and the built-in prompt enhancer are supported. - Ideogram-4 - text-to-image only; raster layers or inpaint masks with content block generation before enqueue. There is no negative prompt at any CFG: the sampler uses asymmetric CFG with a zeroed unconditional branch, so the denoise node has no negative conditioning input. Regional guidance contributes a positive prompt plus a bounding box to the structured JSON caption; regional negatives, auto-negative, and reference images are dropped with warnings.
- Anima ControlNets - via kohya-ss's ControlNet-LLLite adapters (8-66 MB), available as one-click starter installs: sketch (mixed scribble/HED/lineart/grayscale), depth, scribble, lineart, and pose. Control layers work the same way as for other model families. Note that the depth/scribble/lineart/pose adapters were trained on the Preview3 build and are weaker on Anima Base 1.0 - the mixed-conditioning sketch adapter is the strongest general-purpose choice. Each LLLite model may be applied only once per generation. A separate LLLite Inpaint Adapter (Advanced settings) conditions the model on surrounding image content during inpainting/outpainting for cleaner seams.
- Reference images - unsupported across all five. Anima is explicitly rejected in the canvas validators; the other four have no IP-adapter model config for their base and no IP-adapter wiring in their graph builders.
Multi-GPU Support
If you are lucky enough to have two or more GPUs installed in your system, you can configure InvokeAI to parallelize generation across the GPUs. Two or more queued generation jobs will execute simultaneously on the GPUs, and the preview screen will be split into tiles to show you the progress of each rendering job. This also works when multiple users are logged in: the system will split GPU time fairly among users in a round-robin fashion. If only one generation is queued, then its model's text encoder will be run on one GPU and the denoiser will run on another, thereby preventing the denoiser from evicting the encoder from VRAM and speeding up the rendering of subsequent images (credits to jacid23 for this concept).
FP8 Support for reduced VRAM usage
You can now reduce your VRAM usage by activating FP8 support for selected models. This reduces the size of models in VRAM by about 50% with minimal loss of quality. To activate it, select the model of interest from the Model Manager, activate the FP8 slider, and Save. The next time you run the model you should see a dramatic decrease in RAM consumption. FP8 storage can be applied to full main models, single-file transformers, and controlnets.
Other Features
- *Performance improvements:*
- We have improved the VRAM consumption estimates for multiple models, which should reduce the number of OOMs.
- VAEs can now be run on the CPU, reducing the amount of VRAM contention, similar to the text encoders. You can set this option by selecting the VAE in the Model Manager.
- Improved support for LoRA sliders. We now support UNet-only sliders. In addition, you can now edit the sliders' min, max and default values from within the Model Manager.
- If you are using the experimental Wan 2.2 video feature, you can reduce the amount of VRAM used during the VAE decode phase ,at the expense of some performance, by activating tiled decoding. To do so, add
wan_memory_optimization: trueto yourinvokeai.yamlconfiguration file.
- *Canvas improvements:*
- Pressure-sensitive brush opacity on tablets and touch screens.
- Fine-grid hint added to move tool.
- A new transparency lock for Gradients and Shapes.
- Clip Strokes have been extended to the Bbox and Rect/Oval shapes.
- *Workflow management:*
- Graph execution has been optimized, speeding up complex workflows.
- There is now a LoRA collection picker node which allows you to stack multiple LoRAs together without adding additional nodes.
- You can now call one workflow from another, making it easier to create and maintain complex workflows.
And lots more! See below for a complete list of What's New in this release.
Installation and Upgrading
See Installation for various ways to install and run InvokeAI.
What's Changed Since 6.14.0 Release Candidate 2
- Add opt-in low-VRAM mode for Wan generation by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/9462
- fix(api): stop synchronous route work from stalling the whole server by @Pfannkuchensack in https://github.com/invoke-ai/InvokeAI/pull/9436
- perf(nodes): avoid two full-size copies in Spandrel upscale by @dexhunter in https://github.com/invoke-ai/InvokeAI/pull/9426
- fix(ui): make multi-GPU viewer previews survive owner termination and queue lifecycle events by @lstein in https://github.com/invoke-ai/InvokeAI/pull/9389
- fix(auth): revoke privileges immediately on role change, deactivation, or deletion by @lstein in https://github.com/invoke-ai/InvokeAI/pull/9360
- Fix stale serializer cache IDs after deletion by @longligooo in https://github.com/invoke-ai/InvokeAI/pull/9390
- fix(flux2): stop the sampler from advancing reference image tokens by @Pfannkuchensack in https://github.com/invoke-ai/InvokeAI/pull/9510
- fix(api): log socket disconnects at the same level as connects by @lstein in https://github.com/invoke-ai/InvokeAI/pull/9438
- perf(api): make gzip compression level configurable by @Pfannkuchensack in https://github.com/invoke-ai/InvokeAI/pull/9441
- fix(model-manager): apply Krea-2 LoRAs in kohya key layout by @Pfannkuchensack in https://github.com/invoke-ai/InvokeAI/pull/9449
- perf(qwen-image): add a tiling option to the Qwen-Image VAE nodes by @Pfannkuchensack in https://github.com/invoke-ai/InvokeAI/pull/9427
- fix(ui): don't strand the viewer under the progress overlay, for images or videos by @lstein in https://github.com/invoke-ai/InvokeAI/pull/9475
- refactor(ui): item-owned reveal state machine with explicit selection identity by @lstein in https://github.com/invoke-ai/InvokeAI/pull/9520
- fix(ui): recall the right VAE and text encoder per model base by @Pfannkuchensack in https://github.com/invoke-ai/InvokeAI/pull/9489
- feat(fp8): enable FP8 storage for Z-Image by @Pfannkuchensack in https://github.com/invoke-ai/InvokeAI/pull/9414
- perf(nodes): compute the mask fade only on the fade band by @dexhunter in https://github.com/invoke-ai/InvokeAI/pull/9430
- fix(fp8): never apply FP8 storage to already-quantized weights by @Pfannkuchensack in https://github.com/invoke-ai/InvokeAI/pull/9416
- fix(api): tolerate client disconnects at the socket.io mount by @lstein in https://github.com/invoke-ai/InvokeAI/pull/9400
- fix(api): report partial failures and bound batch bodies on image routes by @lstein in https://github.com/invoke-ai/InvokeAI/pull/9394
- feat(fp8): enable FP8 storage for Anima by @Pfannkuchensack in https://github.com/invoke-ai/InvokeAI/pull/9415
- fix(ui): stop rebuilding the socket on every token refresh by @lstein in https://github.com/invoke-ai/InvokeAI/pull/9540
New Contributors
- @longligooo made their first contribution in https://github.com/invoke-ai/InvokeAI/pull/9390
Full Changelog: https://github.com/invoke-ai/InvokeAI/compare/v6.14.0-rc2...v6.14.0
What's Changed Since 6.14 Release Candidate 1
- Feat(canvas): Add temporary bbox move with C key hold by @DustyShoe in https://github.com/invoke-ai/InvokeAI/pull/9104
- docs(canvas): add documentation about generation bounding box behavior by @DustyShoe in https://github.com/invoke-ai/InvokeAI/pull/9435
- fix(backend): ignore ComfyUI model_sampling keys when loading Anima checkpoints by @kappacommit in https://github.com/invoke-ai/InvokeAI/pull/9404
- Serialize imports behind startup restoration by @JPPhoto in https://github.com/invoke-ai/InvokeAI/pull/9433
- ui: translations update from weblate by @weblate in https://github.com/invoke-ai/InvokeAI/pull/9445
- tests: relax 5s pytest-timeout marks that flake on slow CI runners by @lstein in https://github.com/invoke-ai/InvokeAI/pull/9448
- feat(multi-gpu): mark the remaining text encoders as idle-GPU offloadable by @Pfannkuchensack in https://github.com/invoke-ai/InvokeAI/pull/9428
- Feature: HiDiffusion integration by @DustyShoe in https://github.com/invoke-ai/InvokeAI/pull/8787
- fix: don't hold VRAM in an idle server (CUDA context at startup) by @lstein in https://github.com/invoke-ai/InvokeAI/pull/9447
- feat(ui): raise dimension slider max to 2048 by @lstein in https://github.com/invoke-ai/InvokeAI/pull/9446
- chore(docs): Update sponsor list by @lstein in https://github.com/invoke-ai/InvokeAI/pull/9455
- Fix HiDiffusion with SDXL ControlNet by @DustyShoe in https://github.com/invoke-ai/InvokeAI/pull/9454
- ci: check aarch64 dependency resolution in uv-lock-checks by @stellarfeline in https://github.com/invoke-ai/InvokeAI/pull/9357
- ci: keep pins.json in sync with pyproject.toml by @lstein in https://github.com/invoke-ai/InvokeAI/pull/9351
- docs: fix $Home -> ~ in Linux/macOS manual install command by @latent-9 in https://github.com/invoke-ai/InvokeAI/pull/9425
- docs: fix typo 'teh' to 'the' in controlLayers/README.md by @lunar-me in https://github.com/invoke-ai/InvokeAI/pull/9471
- docs: fix typo 'outut' to 'output' in api/README.md by @lunar-me in https://github.com/invoke-ai/InvokeAI/pull/9472
- docs: fix spelling 'approachs' to 'approaches' in gallery/README.md by @lunar-me in https://github.com/invoke-ai/InvokeAI/pull/9473
- perf(db): streamline gallery membership queries by @dexhunter in https://github.com/invoke-ai/InvokeAI/pull/9385
- ci: attach provenance and SBOM attestations to the published container by @kobihikri in https://github.com/invoke-ai/InvokeAI/pull/9398
- Feat: flux2 dev support by @Pfannkuchensack in https://github.com/invoke-ai/InvokeAI/pull/9234
- fix(fp8): resolve compute dtype instead of reading model.dtype by @Pfannkuchensack in https://github.com/invoke-ai/InvokeAI/pull/9412
- fix(model-loaders): stop materializing scaled-fp8 checkpoints in float32 by @Pfannkuchensack in https://github.com/invoke-ai/InvokeAI/pull/9429
- fix(ui): seed Wan params fields in the v3->v4 persist migration (release-upgrade params wipe) by @lstein in https://github.com/invoke-ai/InvokeAI/pull/9408
- fix(download): finalize completed range resumes by @ShiroKSH in https://github.com/invoke-ai/InvokeAI/pull/9432
- Declare networkx as a runtime dependency by @DustyShoe in https://github.com/invoke-ai/InvokeAI/pull/9457
- ci(pins): make the python-classifier check advisory, not fatal by @lstein in https://github.com/invoke-ai/InvokeAI/pull/9466
- fix(api): run single-video delete/update off the event loop by @lstein in https://github.com/invoke-ai/InvokeAI/pull/9392
- fix(video): enforce one absolute deadline for streaming frame decode by @lstein in https://github.com/invoke-ai/InvokeAI/pull/9393

