psychedelicious
067747eca9
feat(app): tweak model load events
...
- Pass in the `UtilInterface` to the `ModelsInterface` so we can call the simple `signal_progress` method instead of the complicated `emit_invocation_progress` method.
- Only emit load events when starting to load - not after.
- Add more detail to the messages, like submodel type
2024-11-15 05:49:05 +11:00
maryhipp
54c51e0a06
(worker) add progress images for downloading remote models
2024-11-15 05:49:05 +11:00
maryhipp
fdb8ca5165
(worker) use source if name is not available
2024-11-15 05:49:05 +11:00
maryhipp
9bbb5644af
(worker) add invocation_progress events to model loading
2024-11-15 05:49:05 +11:00
Ryan Dick
1cf7600f5b
Merge branch 'main' into ryan/sd3-image-to-image
2024-11-14 09:25:23 -08:00
Ryan Dick
eaf4e08c44
Use vae.parameters() for more efficient access of the first model parameter.
2024-11-13 23:32:40 +00:00
Mary Hipp
13cb5f0ba2
Merge remote-tracking branch 'origin/main' into ryan/sd3-image-to-image
2024-11-08 20:29:56 -05:00
maryhipp
04e4fb63af
add SD3 generation modes for metadata validation
2024-11-08 13:13:58 -05:00
David Burnett
2618ed0ae7
ruff complained
2024-11-08 10:31:53 +00:00
David Burnett
bb3cedddd5
Rework change based on comments
2024-11-08 10:27:47 +00:00
Ryan Dick
a0fefcd43f
Switch to using a custom scheduler implementation for SD3 rather than the diffusers FlowMatchEulerDiscreteScheduler. It is easier to work with and enables us to re-use the clip_timestep_schedule_fractional() utility from FLUX.
2024-11-07 22:46:52 +00:00
Ryan Dick
a5f8c23dee
Add inpainting support for SD3.
2024-11-07 20:21:43 +00:00
Ryan Dick
7bb4ea57c6
Add SD3ImageToLatentsInvocation.
2024-11-07 16:07:57 +00:00
Ryan Dick
75dc961bcb
Add image-to-image support for SD3 - WIP.
2024-11-07 15:48:35 +00:00
Jonathan
aa40161f26
Update flux_denoise.py
...
Added a bool to allow the node user to add noise in to initial latents (default) or to leave them alone.
2024-11-07 14:02:20 +00:00
Jonathan
2f6b035138
Update flux_denoise.py
...
Added a bool to allow the node user to add noise in to initial latents (default) or to leave them alone.
2024-11-07 08:44:10 -05:00
Mary Hipp
908db31e48
feat(api,ui): allow Whats New module to get content from back-end
2024-11-05 15:30:17 -05:00
brandonrising
2d78859171
Create bespoke latents to image node for sd3
2024-11-04 12:42:09 -05:00
maryhipp
78155344f6
update node fields for SD3 to match other SD nodes
2024-11-04 12:42:09 -05:00
Brandon Rising
e75903389f
Run ruff, fix bug in hf downloading code which failed to download parts of a model
2024-11-04 12:42:09 -05:00
Brandon Rising
27567052f2
Create new latent factors for sd35
2024-11-04 12:42:09 -05:00
maryhipp
befb629f46
add default workflow
2024-11-04 12:42:09 -05:00
maryhipp
78bd605617
(nodes,api): expose the submodels on SD3 model loader as optional, add types needed for CLIP-L and CLIP-G fields
2024-11-04 12:42:09 -05:00
Ryan Dick
1eca4f12c8
Make T5 encoder optonal in SD3 workflows.
2024-11-04 12:42:09 -05:00
Ryan Dick
f1de11d6bf
Make the default CFG for SD3 3.5.
2024-11-04 12:42:09 -05:00
Ryan Dick
9361ed9d70
Add progress images to SD3 and make denoising cancellable.
2024-11-04 12:42:09 -05:00
Brandon Rising
ebabf4f7a8
Setup Model and T5 Encoder selection fields for sd3 nodes
2024-11-04 12:42:09 -05:00
Ryan Dick
678436e07c
Add tqdm progress bar for SD3.
2024-11-04 12:42:09 -05:00
Ryan Dick
c620581699
Bug fixes to get SD3 text-to-image workflow running.
2024-11-04 12:42:09 -05:00
Ryan Dick
c331d42ce4
Temporary hack for testing SD3 model loader.
2024-11-04 12:42:09 -05:00
Ryan Dick
1ac9b502f1
Fix Sd3TextEncoderInvocation output type.
2024-11-04 12:42:09 -05:00
Ryan Dick
3fa478a12f
Initial draft of SD3DenoiseInvocation.
2024-11-04 12:42:09 -05:00
Ryan Dick
2d86298b7f
Add first draft of Sd3TextEncoderInvocation.
2024-11-04 12:42:09 -05:00
Ryan Dick
009cdb714c
Add Sd3ModelLoaderInvocation.
2024-11-04 12:42:09 -05:00
Ryan Dick
9d3f5427b4
Move FluxModelLoaderInvocation to its own file. model.py was getting bloated.
2024-11-04 12:42:09 -05:00
psychedelicious
be133408ac
fix(nodes): relaxed validation for segment anything
...
The validation on this node causes graph validation to valid. It must be validated _after_ instantiation.
Also, it was a bit too strict. The only case we explicitly do not handle is when both bboxes and points are provided. It's acceptable if neither are provided.
Closes #7248
2024-11-04 08:00:52 -05:00
dunkeroni
d6d436b59c
Merge branch 'invoke-ai:main' into t2i_resolution_hack
2024-10-31 15:52:24 -04:00
psychedelicious
7ff1b635c8
docs: clarify comments for invoke method return annotation validation
2024-10-31 16:21:07 +11:00
psychedelicious
7259da799c
feat(nodes): attempt to look up invoke return types by name
2024-10-31 16:21:07 +11:00
psychedelicious
90232806d9
feat(nodes): add validation for invoke method return types
2024-10-31 16:21:07 +11:00
Mary Hipp
bcb41399ca
feat(ui,api): support for HF tokens in UI, handle Unauthorized and Forbidden errors
2024-10-31 15:47:14 +11:00
psychedelicious
4e7d63761a
fix(nodes): nodes denylist handling
...
- Add method to force a rebuild of the pydantic type adapter for the union of invocations, which is used to validate graphs.
- Update the xfail'd test.
2024-10-31 15:22:14 +11:00
dunkeroni
47168b5505
chore: make ruff
2024-10-29 14:07:20 +11:00
dunkeroni
c74afbf332
convert to bgr on sdxl t2i
2024-10-29 14:07:20 +11:00
dunkeroni
34569a2410
Make T2I Adapters compatible with x8 resolutions
2024-10-27 15:38:22 -04:00
dunkeroni
f245d8e429
chore: make ruff
2024-10-25 23:43:33 -04:00
dunkeroni
5f015e76ba
convert to bgr on sdxl t2i
2024-10-25 23:04:17 -04:00
psychedelicious
ddd5b1087c
fix(nodes): return copies of objects in invocation ctx
...
Closes #6820
2024-10-25 08:26:09 -04:00
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