psychedelicious
23d59abbd7
chore: ruff
2025-08-12 10:51:05 +10:00
psychedelicious
cf7fa5bce8
perf(backend): clear torch cache after encoding each image in kontext extension
...
Slightly reduces VRAM allocations.
2025-08-12 10:51:05 +10:00
psychedelicious
c6eff71b74
fix(backend): bug in kontext canvas dimension tracking when concating in latent space
...
We weren't tracking the canvas dimensions properly which coudl result in
FLUX not "seeing" ref images after the first very well
2025-08-12 10:51:05 +10:00
psychedelicious
7d86f00d82
feat(mm): implement working memory estimation for VAE encode for all models
...
Tell the model manager that we need some extra working memory for VAE
encoding operations to prevent OOMs.
See previous commit for investigation and determination of the magic
numbers used.
This safety measure is especially relevant now that we have FLUX Kontext
and may be encoding rather large ref images. Without the working memory
estimation we can OOM as we prepare for denoising.
See #8405 for an example of this issue on a very low VRAM system. It's
possible we can have the same issue on any GPU, though - just a matter
of hitting the right combination of models loaded.
2025-08-12 10:51:05 +10:00
psychedelicious
e522de33f8
refactor(nodes): roll back latent-space resizing of kontext images
2025-08-04 23:03:12 +10:00
psychedelicious
56d75e1c77
feat(backend): use VAE mean encoding for Kontext reference images
...
Use distribution mean without sampling noise for more stable and
consistent reference image encoding, matching ComfyUI implementation
2025-08-04 23:03:12 +10:00
psychedelicious
df77a12efe
refactor(backend): use torchvision transforms for Kontext image preprocessing
...
Replace numpy-based normalization with torchvision transforms for
consistency with other image processing in the codebase
2025-08-04 23:03:12 +10:00
psychedelicious
faf662d12e
refactor(backend): use BICUBIC resampling for Kontext images
...
Switch from LANCZOS to BICUBIC for smoother image resizing to reduce
artifacts in reference image processing
2025-08-04 23:03:12 +10:00
psychedelicious
44a7dfd486
fix(backend): use consistent idx_offset=1 for all Kontext images
...
Changes from per-image index offsets to a consistent value of 1 for
all reference images, matching the ComfyUI implementation
2025-08-04 23:03:12 +10:00
psychedelicious
bb15e5cf06
feat(backend): add spatial tiling for multiple Kontext reference images
...
Implements intelligent spatial tiling that arranges multiple reference
images in a virtual canvas, choosing between horizontal and vertical
placement to maintain a square-like aspect ratio
2025-08-04 23:03:12 +10:00
psychedelicious
1ed1fefa60
feat(nodes): support multiple kontext ref images
...
Images are concatenated in latent space.
2025-07-30 12:26:48 +10:00
psychedelicious
68571ece8f
tidy(app): remove unused methods
2025-07-04 20:35:29 +10:00
psychedelicious
4887424ca3
chore: ruff
2025-07-04 20:35:29 +10:00
Kent Keirsey
28f6a20e71
format import block
2025-07-04 20:35:29 +10:00
Kent Keirsey
c4142e75b2
fix import
2025-07-04 20:35:29 +10:00
Kent Keirsey
fefe563127
fix resizing and versioning
2025-07-04 20:35:29 +10:00
Kent Keirsey
983cb5ebd2
ruff ruff
2025-07-04 19:24:44 +10:00
Kent Keirsey
52dbdb7118
ruff
2025-07-04 19:24:44 +10:00
Kent Keirsey
71e6f00e10
test fixes
...
fix
test
fix 2
fix 3
fix 4
yet another
attempt new fix
pray
more pray
lol
2025-07-04 19:24:44 +10:00
Kent Keirsey
51e1c56636
ruff
2025-06-27 18:27:46 +10:00
Kent Keirsey
ca1df60e54
Explain the Magic
2025-06-27 18:27:46 +10:00
Cursor Agent
7549c1250d
Add FLUX Kontext conditioning support for reference images
...
Co-authored-by: kent <kent@invoke.ai >
Fix Kontext sequence length handling in Flux denoise invocation
Co-authored-by: kent <kent@invoke.ai >
Fix Kontext step callback to handle combined token sequences
Co-authored-by: kent <kent@invoke.ai >
fix ruff
Fix Flux Kontext
2025-06-27 18:27:46 +10:00
Ryan Dick
7e894ffe83
Consolidate InpaintExtension implementations for SD3 and FLUX.
2025-04-10 10:50:13 +10:00
Ryan Dick
4c02ba908a
Add support for FLUX Redux masks.
2025-03-06 10:31:17 +11:00
Ryan Dick
f1fde792ee
Get FLUX Redux working: model loading and inference.
2025-03-06 10:31:17 +11:00
Ryan Dick
607d19f4dd
We should not trust the value of since the model could be partially-loaded.
2025-01-07 19:22:31 -05:00
Ryan Dick
64364e7911
Short-circuit if there are no region masks in FLUX and don't apply attention masking.
2024-11-27 22:40:10 +00:00
Ryan Dick
6565cea039
Comment unused _prepare_unrestricted_attn_mask(...) for future reference.
2024-11-27 22:16:44 +00:00
Ryan Dick
e970185161
Tweak flux regional prompting attention scheme based on latest experimentation.
2024-11-27 22:13:07 +00:00
Ryan Dick
b54463d294
Allow regional prompting background regions to attend to themselves and to the entire txt embedding.
2024-11-26 17:57:31 +00:00
Ryan Dick
faee79dc95
Distinguish between restricted and unrestricted attn masks in FLUX regional prompting.
2024-11-26 16:55:52 +00:00
Ryan Dick
e01f66b026
Apply regional attention masks in the single stream blocks in addition to the double stream blocks.
2024-11-25 22:40:08 +00:00
Ryan Dick
53abdde242
Update Flux RegionalPromptingExtension to prepare both a mask with restricted image self-attention and a mask with unrestricted image self attention.
2024-11-25 22:04:23 +00:00
Ryan Dick
94c088300f
Be smarter about selecting the global CLIP embedding for FLUX regional prompting.
2024-11-25 20:15:04 +00:00
Ryan Dick
3741a6f5e0
Fix device handling for regional masks and apply the attention mask in the FLUX double stream block.
2024-11-25 16:02:03 +00:00
Ryan Dick
2c23b8414c
Use a single global CLIP embedding for FLUX regional guidance.
2024-11-22 23:01:43 +00:00
Ryan Dick
20356c0746
Fixup the logic for preparing FLUX regional prompt attention masks.
2024-11-21 22:46:25 +00:00
Ryan Dick
bad1149504
WIP - add rough logic for preparing the FLUX regional prompting attention mask.
2024-11-20 22:29:36 +00:00
Ryan Dick
fda7aaa7ca
Pass RegionalPromptingExtension down to the CustomDoubleStreamBlockProcessor in FLUX.
2024-11-20 19:48:04 +00:00
Ryan Dick
fdccdd52d5
Fixes to get XLabsIpAdapterExtension running.
2024-10-21 15:43:00 +00:00
Ryan Dick
31ffd73423
Initial draft of integrating FLUX IP-Adapter inference support.
2024-10-21 15:42:56 +00:00
Ryan Dick
4aace24f1f
Reduce peak memory utilization when preparing FLUX controlnet inputs.
2024-10-10 00:18:46 +00:00
Ryan Dick
3953e60a4f
Remove instantx_control_mode from FLUX ControlNet node.
2024-10-09 22:00:54 +00:00
Ryan Dick
8b1ef4b902
Fix bug with InstantX input image range.
2024-10-09 19:38:30 +00:00
Ryan Dick
859944f848
Fix support for InstantX non-union models (with no single blocks).
2024-10-09 18:51:53 +00:00
Ryan Dick
c78eeb1645
Shift the controlnet-type-specific logic into the specific ControlNet extensions and make the FLUX model controlnet-type-agnostic.
2024-10-09 16:12:09 +00:00
Ryan Dick
cd88723a80
Add instantx_control_mode param to FLUX ControlNet invocation.
2024-10-09 14:17:42 +00:00
Ryan Dick
dea6cbd599
Create a dedicated FLUX ControlNet invocation.
2024-10-09 14:17:42 +00:00
Ryan Dick
0dd9f1f772
Bugfixes to get InstantX ControlNet working.
2024-10-09 14:17:42 +00:00
Ryan Dick
a783539cd2
Fix circular imports related to XLabsControlNetFluxOutput and InstantXControlNetFluxOutput.
2024-10-09 14:17:42 +00:00