psychedelicious
047c643295
tidy(app): document & clean up batch prep logic
2025-02-26 21:04:23 +11:00
psychedelicious
d1e03aa1c5
tidy(app): remove timing debug logs
2025-02-26 21:04:23 +11:00
psychedelicious
1bb8edf57e
perf(app): optimise batch prep logic even more
...
Found another place where we deepcopy a dict, but it is safe to mutate.
Restructured the prep logic a bit to support this. Updated tests to use the new structure.
2025-02-26 21:04:23 +11:00
psychedelicious
a3e78f0db6
perf(app): optimise batch prep logic
...
- Avoid pydantic models when dict manipulation works
- Avoid extraneous deep copies when we can safely mutate
- Avoid NamedTuple construct and its overhead
- Fix tests to use altered function signatures
- Remove extraneous populate_graph function
2025-02-26 21:04:23 +11:00
psychedelicious
7003bcad62
feat(nodes): add image generator node
2025-02-26 18:25:23 +11:00
psychedelicious
ef95f4962c
feat(app): extend "all image names for board" apis
...
The method and route now supports:
- "none" as a board ID, sentinel value for uncategorized
- Optionally specify image categories
- Optionally specify is_intermediate
2025-02-26 18:25:23 +11:00
psychedelicious
da7b31b2a8
fix(app): add form to Workflow pydantic schema so it gets saved
2025-02-21 12:24:03 +11:00
psychedelicious
675ac348de
feat(app): add retry queue item functionality
...
Retrying a queue item means cloning it, resetting all execution-related state. Retried queue items reference the item they were retried from by id. This relationship is not enforced by any DB constraints.
- Add `retried_from_item_id` to `session_queue` table in DB in a migration.
- Add `retry_items_by_id` method to session queue service. Accepts a list of queue item IDs and clones them (minus execution state). Returns a list of retried items. Items that are not in a canceled or failed state are skipped.
- Add `retry_items_by_id` HTTP endpoint that maps 1-to-1 to the queue service method.
- Add `queue_items_retried` event, which includes the list of retried items.
2025-02-18 09:14:03 +11:00
Billy Lisner
1439da5e88
Make ruff gods happy
2025-02-13 19:24:01 +11:00
Billy Lisner
69a504710f
More detailed error messages
2025-02-13 19:24:01 +11:00
Billy Lisner
ba39331594
Make ruff happy
2025-02-13 19:24:01 +11:00
Billy Lisner
8ee9509eec
Add Metadata Field Extractor
2025-02-13 19:24:01 +11:00
Maxim Evtush
b51312f1ba
Update model_images_common.py
2025-02-11 20:03:11 +11:00
Maxim Evtush
df793c898f
Update denoise_latents.py
2025-02-11 20:03:11 +11:00
dunkeroni
9e6f3e9338
image channel multiply node loads as RGBA now
2025-02-11 18:32:56 +11:00
psychedelicious
50cb27cd0b
feat(nodes): support collect -> iterate node connections w/ validation
2025-02-06 07:57:26 +11:00
psychedelicious
8556a2558e
chore(nodes): better naming for graph validation utils
2025-02-06 07:57:26 +11:00
psychedelicious
2fb35d25dd
feat(nodes): field type Any accepts collections
2025-02-06 07:57:26 +11:00
psychedelicious
592e45a078
feat(nodes): improved graph validation error messages
2025-02-06 07:57:26 +11:00
skunkworxdark
dfb9e300d4
typegen + Suggested changes (fix typo + remove asserts)
2025-02-04 21:37:04 +11:00
skunkworxdark
d7f80fc299
Update invokeai/app/invocations/flux_lora_loader.py
...
good catch
Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com >
2025-02-04 21:37:04 +11:00
skunkworxdark
c9b1eb2d83
update to include T5EncoderField lora changes
2025-02-04 21:37:04 +11:00
skunkworxdark
13d505a621
Fix github test errors
...
Fix errors with typegen and py3.10 macos-default github tests
2025-02-04 21:37:04 +11:00
skunkworxdark
6674d95dae
fix typegen error
...
fix typegen error
2025-02-04 21:37:04 +11:00
skunkworxdark
71690715db
fix typegen
...
fix typegen
2025-02-04 21:37:04 +11:00
skunkworxdark
641489c2f8
fix typegen error
...
fix typegen
2025-02-04 21:37:04 +11:00
skunkworxdark
5f0bd2e1db
Fix typegen issue
...
Fix typegen issue
2025-02-04 21:37:04 +11:00
skunkworxdark
98b8ab0147
LoRA Loader optional LoRA Collection
...
Update the LoRA Loaders to make the Lora Collection Optional
2025-02-04 21:37:04 +11:00
Riku
47dc954385
feat(app): add cancel all except current queue item functionality
2025-02-04 12:23:23 +11:00
psychedelicious
8fc5d3dd20
chore(nodes): bump versions of changed nodes
2025-02-04 12:06:17 +11:00
dunkeroni
9c7bac693b
fix image adjust hue handling
2025-02-04 12:06:17 +11:00
dunkeroni
cc27730cb4
fix: image channel invocations respect alpha
2025-02-04 12:06:17 +11:00
dunkeroni
58255ab7ba
add adjust image filter to canvas
2025-02-04 12:06:17 +11:00
Ryan Dick
cc9d215a9b
Add endpoint for emptying the model cache. Also, adds a threading lock to the ModelCache to make it thread-safe.
2025-01-30 09:18:28 -05:00
Ryan Dick
285313b282
Fix T5EncoderField initialization in SD3 model loader.
2025-01-29 09:27:52 -05:00
Ryan Dick
5357d6e08e
Rename ConcatenatedLoRALayer to MergedLayerPatch. And other minor cleanup.
2025-01-28 14:51:35 +00:00
Ryan Dick
7fef569e38
Update frontend graph building logic to support FLUX LoRAs that modify the T5 encoder weights.
2025-01-28 14:51:35 +00:00
Ryan Dick
f4a0b78a8d
Update FLUX invocations to support LoRAs that modify the T5 text encoder.
2025-01-28 14:51:35 +00:00
Ryan Dick
b681132da4
Update InvertTensorMaskInvocation to handle mask tensors with dim 2 or 3.
2025-01-24 22:04:46 +00:00
Ryan Dick
f60a5a5015
Update SegmentAnythingInvocation invocations to return masks with a channel dimension of size 1. This is the convention used by other nodes that produce a MaskOutput.
2025-01-24 22:04:10 +00:00
psychedelicious
b7b8f8a9e5
fix(nodes): remove WithMetadata from non-image-outputting node
2025-01-21 17:58:47 +11:00
psychedelicious
e926d2f24b
fix(nodes): add beta classification to new inpainting support nodes
2025-01-21 17:58:47 +11:00
psychedelicious
cf4c79fe2e
feat(nodes): add PasteImageIntoBoundingBoxInvocation
2025-01-21 17:45:32 +11:00
psychedelicious
e0edfe6c40
feat(nodes): add CropImageToBoundingBoxInvocation
2025-01-21 17:45:32 +11:00
psychedelicious
8a0a37191a
feat(nodes): add GetMaskBoundingBoxInvocation
2025-01-21 17:45:32 +11:00
psychedelicious
7dbd5f150a
feat(nodes): add BoundingBoxField.tuple() to get bbox as PIL tuple
2025-01-21 17:45:32 +11:00
psychedelicious
1ad65ffd53
feat(nodes): re-title "Mask from ID" -> "Mask from Segmented Image"
2025-01-21 17:45:32 +11:00
psychedelicious
14b5c871dc
feat(nodes): simplify MaskFromIDInvocation
2025-01-21 17:45:32 +11:00
psychedelicious
8d2b4e2bf5
feat(nodes): support FLUX, SD3 in ideal_size
2025-01-21 17:45:32 +11:00
psychedelicious
2b2ec67cd6
fix(nodes): allow connection input on string batch nodes
2025-01-21 07:17:29 +11:00