psychedelicious
c9a4516ab1
feat(nodes): add invert to apply_tensor_mask_to_image
2024-10-25 08:12:14 -04:00
psychedelicious
380017041e
fix(app): mutating an image also changes the in-memory cached image
...
We use an in-memory cache for PIL images to reduce I/O. If a node mutates the image in any way, the cached image object is also updated (but the on-disk image file is not).
We've lucked out that this hasn't caused major issues in the past (well, maybe it has but we didn't understand them?) mainly because of a happy accident. When you call `context.images.get_pil` in a node, if you provide an image mode (e.g. `mode="RGB"`), we call `convert` on the image. This returns a copy. The node can do whatever it wants to that copy and nothing breaks.
However, when mode is not specified, we return the image directly. This is where we get in trouble - nodes that load the image like this, and then mutate the image, update the cache. Other nodes that reference that same image will now get the mutated version of it.
The fix is super simple - we make sure to return only copies from `get_pil`.
2024-10-25 10:22:22 +11:00
maryhipp
9cd47fa857
(api): update names of starter models, add ability to track previous_names so it does not mess up logic that prevents dupe starter model installs
2024-10-24 23:34:06 +11:00
psychedelicious
48a471bfb8
fix(nodes): apply_tensor_mask_to_image transparent image handling
...
Fix an issue where if the input image is transparent in a region to be masked, that transparent region ends up opaque black. Need to respect the input image transparency by applying the mask to the alpha channel only.
2024-10-23 16:01:15 +11:00
psychedelicious
ff72315db2
feat(nodes): update SAM backend and nodes to work with SAM points
2024-10-23 16:01:15 +11:00
psychedelicious
ba09c1277f
feat(nodes): hacked together nodes for segment anything w/ points
2024-10-23 16:01:15 +11:00
psychedelicious
61496fdcbc
fix(nodes): load IP Adapter images as RGB
...
FLUX IP Adapter only works with RGB. Did the same for non-FLUX to be safe & consistent, though I don't think it's strictly necessary.
2024-10-23 08:34:15 +10:00
Ryan Dick
5cbe89afdd
Merge branch 'main' into ryan/flux-ip-adapter-cfg-2
2024-10-22 21:17:36 +00:00
Ryan Dick
d20b894a61
Add cfg_scale_start_step and cfg_scale_end_step to FLUX Denoise node.
2024-10-23 07:59:48 +11:00
Ryan Dick
20362448b9
Make negative_text_conditioning nullable on FLUX Denoise invocation.
2024-10-23 07:59:48 +11:00
Ryan Dick
5df10cc494
Add support for cfg_scale list on FLUX Denoise node.
2024-10-23 07:59:48 +11:00
Ryan Dick
da171114ea
Naive implementation of CFG for FLUX.
2024-10-23 07:59:48 +11:00
Mary Hipp
ffcec91d87
Merge branch 'ryan/flux-ip-adapter-cfg-2' of https://github.com/invoke-ai/InvokeAI into ryan/flux-ip-adapter-cfg-2
2024-10-22 15:23:35 -04:00
Mary Hipp
0a96466b60
feat(ui): add IP adapters to FLUX in linear UI
2024-10-22 15:22:56 -04:00
Ryan Dick
e48cab0276
Only allow a single image prompt for FLUX IP-Adapters (haven't really looked into this much, but punting on it for now).
2024-10-22 16:32:01 +00:00
psychedelicious
d1bb4c2c70
fix(nodes): FluxDenoiseInvocation.controlnet_vae missing default=None
2024-10-22 10:54:15 +11:00
Ryan Dick
e8cd1bb3d8
Add FLUX IP-Adapter starter models.
2024-10-21 22:17:42 +00:00
Ryan Dick
90a906e203
Simplify handling of CLIP ViT selection for FLUX IP-Adapter invocation.
2024-10-21 19:54:59 +00:00
Ryan Dick
5546110127
Add FluxIPAdapterInvocation.
2024-10-21 18:27:40 +00:00
Ryan Dick
73bbb12f7a
Use a black image as the negative IP prompt for parity with X-Labs implementation.
2024-10-21 15:47:22 +00:00
Ryan Dick
dde54740c5
Test out IP-Adapter with CFG.
2024-10-21 15:47:17 +00:00
Ryan Dick
f70a8e2c1a
A bunch of HACKS to get ViT-L CLIP vision encoder working for FLUX IP-Adapter. Need to revisit how to clean this all up long term.
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
32c7cdd856
Add cfg_scale_start_step and cfg_scale_end_step to FLUX Denoise node.
2024-10-21 14:52:02 +00:00
Ryan Dick
6df4ee5fc8
Make negative_text_conditioning nullable on FLUX Denoise invocation.
2024-10-18 20:31:27 +00:00
Ryan Dick
371742d8f9
Add support for cfg_scale list on FLUX Denoise node.
2024-10-18 20:14:47 +00:00
psychedelicious
5440c03767
fix(app): directory traversal when deleting images
2024-10-18 14:27:41 +11:00
Ryan Dick
73d4c4d56d
Naive implementation of CFG for FLUX.
2024-10-16 16:22:35 +00:00
psychedelicious
abf46eaacd
feat(api): compare name/base/type when checking if starter model is installed
2024-10-15 15:58:11 -04:00
Mary Hipp
5bd87ca89b
feat(ui,api): add starter bundles to MM
2024-10-15 15:58:11 -04:00
skunkworxdark
fe87c198eb
Update workflow_records_sqlite.py
...
A where clause was omitted from the count_query during the revert of the optional Category in the commit acfeb4a276
2024-10-15 18:18:36 +11:00
Mary Hipp
80360a8abb
fix(api): update enum usage to work for python 3.11
2024-10-12 10:21:26 -04:00
Mary Hipp
acfeb4a276
undo changes that made category optional
2024-10-11 17:37:57 -04:00
Mary Hipp
f9bc29203b
ruff
2024-10-11 17:23:34 -04:00
Mary Hipp
9933cdb6b7
(api) fix missing sort params being drilled down, add case insensitivity to name sorting
2024-10-11 17:23:34 -04:00
Ryan Dick
683f9a70e7
Restore instantx_control_mode field on FLUX ControlNet invocation.
2024-10-10 15:25:30 +00:00
Ryan Dick
4aace24f1f
Reduce peak memory utilization when preparing FLUX controlnet inputs.
2024-10-10 00:18:46 +00:00
Ryan Dick
b1567fe0e4
Make FLUX controlnet node API more like SD API and get it working with linear UI.
2024-10-09 23:38:31 +00:00
Ryan Dick
3953e60a4f
Remove instantx_control_mode from FLUX ControlNet node.
2024-10-09 22:00:54 +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
2f8f30b497
Add instantx controlnet logic to FLUX model forward().
2024-10-09 14:17:42 +00:00
Ryan Dick
f878e5e74e
Work on integrating InstantX into denoise process.
2024-10-09 14:17:42 +00:00
Ryan Dick
a24581ede2
Create flux/extensions directory.
2024-10-09 14:17:42 +00:00
Ryan Dick
d1a0e99701
Rename ControlNetFlux -> XLabsControlNetFlux
2024-10-09 14:17:42 +00:00
Ryan Dick
c81bb761ed
First pass at integrating FLUX ControlNets into the FLUX Denoise invocation.
2024-10-09 14:17:42 +00:00
psychedelicious
734631bfe4
feat(app): update example config file comment
2024-10-09 14:23:06 +11:00
Mary Hipp
3eee1ba113
remove prints
2024-10-08 10:08:50 -04:00