InvokeAI/invokeai/app/services
psychedelicious 922716d2ab feat(ui): store graph in image metadata
The previous super-minimal implementation had a major issue - the saved workflow didn't take into account batched field values. When generating with multiple iterations or dynamic prompts, the same workflow with the first prompt, seed, etc was stored in each image.

As a result, when the batch results in multiple queue items, only one of the images has the correct workflow - the others are mismatched.

To work around this, we can store the _graph_ in the image metadata (alongside the workflow, if generated via workflow editor). When loading a workflow from an image, we can choose to load the workflow or the graph, preferring the workflow.

Internally, we need to update images router image-saving services. The changes are minimal.

To avoid pydantic errors deserializing the graph, when we extract it from the image, we will leave it as stringified JSON and let the frontend's more sophisticated and flexible parsing handle it. The worklow is also changed to just return stringified JSON, so the API is consistent.
2024-05-18 09:04:37 +10:00
..
board_image_records feat(db): add SQLiteMigrator to perform db migrations 2023-12-11 16:14:25 +11:00
board_images feat: refactor services folder/module structure 2023-10-12 12:15:06 -04:00
board_records feat(db): add SQLiteMigrator to perform db migrations 2023-12-11 16:14:25 +11:00
boards feat(api): chore: pydantic & fastapi upgrade 2023-10-17 14:59:25 +11:00
bulk_download feat(bulk_download): update response model, messages 2024-03-01 10:42:33 +11:00
config [util] Add generic torch device class (#6174) 2024-04-15 13:12:49 +00:00
download feat(mm): handle PC_PATH_MAX on external drives on macOS 2024-04-30 07:57:03 -04:00
events Fix race condition causing hangs during model install unit tests (#5994) 2024-03-19 20:54:49 +00:00
image_files feat(ui): store graph in image metadata 2024-05-18 09:04:37 +10:00
image_records tidy(nodes): move all field things to fields.py 2024-03-01 10:42:33 +11:00
images feat(ui): store graph in image metadata 2024-05-18 09:04:37 +10:00
invocation_cache fix(nodes): correctly serialize outputs 2024-03-06 08:14:12 -05:00
invocation_stats fix(nodes): fix typing on stats service context manager 2024-03-01 10:42:33 +11:00
item_storage revert(nodes): revert making tensors/conditioning use item storage 2024-03-01 10:42:33 +11:00
model_images docs(mm): update comment about model images 2024-03-08 12:26:35 +11:00
model_install Re-enable app shutdown actions (#6244) 2024-04-19 06:45:42 -04:00
model_load feat(events): add submodel_type to model load events 2024-03-14 18:29:55 +05:30
model_manager [util] Add generic torch device class (#6174) 2024-04-15 13:12:49 +00:00
model_records Fix minor bugs involving model manager handling of model paths (#6024) 2024-03-22 01:14:45 +00:00
names feat: refactor services folder/module structure 2023-10-12 12:15:06 -04:00
object_serializer tidy(app): remove unused class 2024-04-23 17:12:14 +10:00
session_processor fix(queue): poll queue on finished queue item 2024-04-12 07:31:47 +10:00
session_queue fix(config): use new get_config across the app, use correct settings 2024-03-19 09:24:28 +11:00
shared feat(ui): store graph in image metadata 2024-05-18 09:04:37 +10:00
urls cleanup 2024-03-06 21:57:41 -05:00
workflow_records chore(nodes): update default workflows for v4 2024-03-22 02:21:33 -07:00
__init__.py all files migrated; tweaks needed 2023-03-03 00:02:15 -05:00
invocation_services.py tidy(mm): ModelImages service 2024-03-06 21:57:41 -05:00
invoker.py refactor(nodes): merge processors 2024-03-01 10:42:33 +11:00