InvokeAI 4.2.9__tar.gz → 4.2.9.dev3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/InvokeAI.egg-info/PKG-INFO +1 -1
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/InvokeAI.egg-info/SOURCES.txt +5 -25
- InvokeAI-4.2.9.dev3/InvokeAI.egg-info/entry_points.txt +4 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/InvokeAI.egg-info/requires.txt +0 -4
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/PKG-INFO +1 -1
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/api/routers/model_manager.py +0 -91
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/api/routers/session_queue.py +14 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/denoise_latents.py +1 -1
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/fields.py +1 -15
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/image.py +66 -1
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/mask.py +1 -6
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/model.py +2 -90
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/primitives.py +0 -12
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/events/events_common.py +8 -2
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_install/model_install_common.py +1 -1
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_install/model_install_default.py +2 -3
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_records/model_records_base.py +0 -1
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/session_queue/session_queue_base.py +6 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/session_queue/session_queue_common.py +11 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/session_queue/session_queue_sqlite.py +49 -9
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/invocation_context.py +1 -19
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite/sqlite_util.py +2 -0
- InvokeAI-4.2.9.dev3/invokeai/app/services/shared/sqlite_migrator/migrations/migration_15.py +31 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/util/step_callback.py +0 -48
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/config.py +3 -60
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/load_default.py +2 -4
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_cache/model_cache_base.py +10 -18
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_cache/model_cache_default.py +59 -71
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_loaders/generic_diffusers.py +1 -6
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_loaders/stable_diffusion.py +2 -12
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_util.py +1 -12
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/probe.py +15 -108
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/starter_models.py +1 -74
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/util/model_util.py +0 -26
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/util/select_hf_files.py +3 -23
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/diffusion/conditioning_data.py +5 -16
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/__init__.py +2 -1
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/util.py +3 -0
- InvokeAI-4.2.9.dev3/invokeai/frontend/web/dist/assets/App-CEWYwnr8.js +26 -0
- InvokeAI-4.2.9/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-CFdiQhFL.js → InvokeAI-4.2.9.dev3/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-BnjZcfy9.js +1 -1
- InvokeAI-4.2.9.dev3/invokeai/frontend/web/dist/assets/index-CMrB5_9v.js +563 -0
- InvokeAI-4.2.9.dev3/invokeai/frontend/web/dist/assets/worker-Dywf1EVc.js +1 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/index.html +1 -1
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/de.json +3 -18
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/en.json +112 -9
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/es.json +5 -11
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/it.json +10 -14
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/ru.json +3 -6
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/zh_CN.json +4 -52
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/invocation_api/__init__.py +0 -4
- InvokeAI-4.2.9.dev3/invokeai/version/invokeai_version.py +1 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/pyproject.toml +2 -3
- InvokeAI-4.2.9/InvokeAI.egg-info/entry_points.txt +0 -2
- InvokeAI-4.2.9/invokeai/app/invocations/flux_denoise.py +0 -249
- InvokeAI-4.2.9/invokeai/app/invocations/flux_text_encoder.py +0 -92
- InvokeAI-4.2.9/invokeai/app/invocations/flux_vae_decode.py +0 -60
- InvokeAI-4.2.9/invokeai/app/invocations/flux_vae_encode.py +0 -67
- InvokeAI-4.2.9/invokeai/app/services/workflow_records/default_workflows/FLUX Image to Image.json +0 -407
- InvokeAI-4.2.9/invokeai/app/services/workflow_records/default_workflows/Flux Text to Image.json +0 -326
- InvokeAI-4.2.9/invokeai/backend/flux/denoise.py +0 -56
- InvokeAI-4.2.9/invokeai/backend/flux/inpaint_extension.py +0 -35
- InvokeAI-4.2.9/invokeai/backend/flux/math.py +0 -32
- InvokeAI-4.2.9/invokeai/backend/flux/model.py +0 -117
- InvokeAI-4.2.9/invokeai/backend/flux/modules/autoencoder.py +0 -324
- InvokeAI-4.2.9/invokeai/backend/flux/modules/conditioner.py +0 -33
- InvokeAI-4.2.9/invokeai/backend/flux/modules/layers.py +0 -253
- InvokeAI-4.2.9/invokeai/backend/flux/sampling_utils.py +0 -135
- InvokeAI-4.2.9/invokeai/backend/flux/util.py +0 -71
- InvokeAI-4.2.9/invokeai/backend/model_manager/load/model_loaders/flux.py +0 -246
- InvokeAI-4.2.9/invokeai/backend/quantization/bnb_llm_int8.py +0 -135
- InvokeAI-4.2.9/invokeai/backend/quantization/bnb_nf4.py +0 -156
- InvokeAI-4.2.9/invokeai/backend/quantization/scripts/load_flux_model_bnb_llm_int8.py +0 -79
- InvokeAI-4.2.9/invokeai/backend/quantization/scripts/load_flux_model_bnb_nf4.py +0 -96
- InvokeAI-4.2.9/invokeai/backend/quantization/scripts/quantize_t5_xxl_bnb_llm_int8.py +0 -92
- InvokeAI-4.2.9/invokeai/frontend/cli/__init__.py +0 -0
- InvokeAI-4.2.9/invokeai/frontend/web/dist/assets/App-D1NtDI7i.js +0 -137
- InvokeAI-4.2.9/invokeai/frontend/web/dist/assets/index-CsEnX8zB.js +0 -510
- InvokeAI-4.2.9/invokeai/version/invokeai_version.py +0 -1
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/InvokeAI.egg-info/dependency_links.txt +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/InvokeAI.egg-info/top_level.txt +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/LICENSE +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/LICENSE-SD1+SD2.txt +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/LICENSE-SDXL.txt +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/README.md +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/api/dependencies.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/api/no_cache_staticfiles.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/api/routers/app_info.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/api/routers/board_images.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/api/routers/boards.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/api/routers/download_queue.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/api/routers/images.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/api/routers/style_presets.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/api/routers/utilities.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/api/routers/workflows.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/api/sockets.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/api_app.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/assets/images/caution.png +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/baseinvocation.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/blend_latents.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/collections.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/compel.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/constants.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/controlnet_image_processors.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/create_denoise_mask.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/create_gradient_mask.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/crop_latents.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/custom_nodes/README.md +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/custom_nodes/init.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/cv.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/facetools.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/grounding_dino.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/ideal_size.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/image_to_latents.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/infill.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/ip_adapter.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/latents_to_image.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/math.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/metadata.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/noise.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/param_easing.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/prompt.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/resize_latents.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/scheduler.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/sdxl.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/segment_anything.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/spandrel_image_to_image.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/strings.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/t2i_adapter.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/tiled_multi_diffusion_denoise_latents.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/tiles.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/upscale.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/util.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/run_app.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/board_image_records/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/board_image_records/board_image_records_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/board_image_records/board_image_records_sqlite.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/board_images/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/board_images/board_images_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/board_images/board_images_common.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/board_images/board_images_default.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/board_records/board_records_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/board_records/board_records_common.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/board_records/board_records_sqlite.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/boards/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/boards/boards_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/boards/boards_common.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/boards/boards_default.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/bulk_download/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/bulk_download/bulk_download_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/bulk_download/bulk_download_common.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/bulk_download/bulk_download_default.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/config/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/config/config_common.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/config/config_default.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/download/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/download/download_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/download/download_default.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/events/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/events/events_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/events/events_fastapievents.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/image_files/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/image_files/image_files_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/image_files/image_files_common.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/image_files/image_files_disk.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/image_records/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/image_records/image_records_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/image_records/image_records_common.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/image_records/image_records_sqlite.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/images/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/images/images_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/images/images_common.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/images/images_default.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/invocation_cache/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/invocation_cache/invocation_cache_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/invocation_cache/invocation_cache_common.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/invocation_cache/invocation_cache_memory.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/invocation_services.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/invocation_stats/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/invocation_stats/invocation_stats_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/invocation_stats/invocation_stats_common.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/invocation_stats/invocation_stats_default.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/invoker.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/item_storage/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/item_storage/item_storage_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/item_storage/item_storage_common.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/item_storage/item_storage_memory.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_images/model_images_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_images/model_images_common.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_images/model_images_default.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_install/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_install/model_install_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_load/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_load/model_load_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_load/model_load_default.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_manager/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_manager/model_manager_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_manager/model_manager_common.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_manager/model_manager_default.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_records/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_records/model_records_sql.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/names/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/names/names_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/names/names_common.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/names/names_default.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/object_serializer/object_serializer_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/object_serializer/object_serializer_common.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/object_serializer/object_serializer_disk.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/object_serializer/object_serializer_forward_cache.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/session_processor/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/session_processor/session_processor_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/session_processor/session_processor_common.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/session_processor/session_processor_default.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/session_queue/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/graph.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/pagination.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite/sqlite_common.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite/sqlite_database.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_1.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_10.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_11.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_12.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_13.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_14.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_2.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_3.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_4.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_5.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_6.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_7.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_8.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_9.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/sqlite_migrator_common.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/sqlite_migrator_impl.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Anime.png +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Architectural Visualization.png +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Concept Art (Character).png +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Concept Art (Fantasy).png +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Concept Art (Painterly).png +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Concept Art (Sci-Fi).png +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Environment Art.png +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Illustration.png +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Interior Design (Visualization).png +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Line Art.png +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Photography (Black and White).png +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Photography (General).png +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Photography (Landscape).png +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Photography (Portrait).png +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Photography (Studio Lighting).png +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Product Rendering.png +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Sketch.png +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Vehicles.png +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/style_preset_images_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/style_preset_images_common.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/style_preset_images_disk.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_records/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_records/default_style_presets.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_records/style_preset_records_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_records/style_preset_records_common.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_records/style_preset_records_sqlite.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/urls/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/urls/urls_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/urls/urls_default.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/default_workflows/ESRGAN Upscaling with Canny ControlNet.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/default_workflows/Face Detailer with IP-Adapter & Canny (See Note in Details).json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/default_workflows/Multi ControlNet (Canny & Depth).json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/default_workflows/MultiDiffusion SD1.5.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/default_workflows/MultiDiffusion SDXL.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/default_workflows/Prompt from File.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/default_workflows/Text to Image - SD1.5.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/default_workflows/Text to Image - SDXL.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/default_workflows/Text to Image with LoRA.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/default_workflows/Tiled Upscaling (Beta).json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/workflow_records_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/workflow_records_common.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/workflow_records_sqlite.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/shared/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/shared/models.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/util/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/util/controlnet_utils.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/util/custom_openapi.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/util/metaenum.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/util/misc.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/util/model_exclude_null.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/util/profiler.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/util/suppress_output.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/util/thumbnails.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/app/util/ti_utils.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/assets/fonts/inter/Inter-Regular.ttf +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/basicsr/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/basicsr/arch_util.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/basicsr/rrdbnet_arch.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/canny.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/depth_anything/depth_anything_pipeline.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/dw_openpose/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/dw_openpose/onnxdet.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/dw_openpose/onnxpose.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/dw_openpose/utils.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/dw_openpose/wholebody.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/grounding_dino/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/grounding_dino/detection_result.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/grounding_dino/grounding_dino_pipeline.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/hed.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/infill_methods/cv2_inpaint.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/infill_methods/lama.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/infill_methods/mosaic.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/infill_methods/patchmatch.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/infill_methods/tile.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/invisible_watermark.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/lineart.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/lineart_anime.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/pngwriter.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/realesrgan/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/realesrgan/realesrgan.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/safety_checker.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/segment_anything/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/segment_anything/mask_refinement.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/segment_anything/segment_anything_pipeline.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/util.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/ip_adapter/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/ip_adapter/ip_adapter.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/ip_adapter/ip_attention_weights.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/ip_adapter/resampler.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/lora.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_hash/hash_validator.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_hash/model_hash.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/load_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/memory_snapshot.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_cache/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_cache/model_locker.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_loader_registry.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_loaders/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_loaders/controlnet.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_loaders/ip_adapter.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_loaders/lora.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_loaders/onnx.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_loaders/spandrel_image_to_image.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_loaders/textual_inversion.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_loaders/vae.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/optimizations.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/merge.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/metadata/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/metadata/fetch/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/metadata/fetch/fetch_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/metadata/fetch/huggingface.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/metadata/metadata_base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/search.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/util/libc_util.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_patcher.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/onnx/onnx_runtime.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/raw_model.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/spandrel_image_to_image_model.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/denoise_context.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/diffusers_pipeline.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/diffusion/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/diffusion/custom_atttention.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/diffusion/regional_ip_data.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/diffusion/regional_prompt_data.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/diffusion/unet_attention_patcher.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/diffusion_backend.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/extension_callback_type.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/extensions/base.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/extensions/controlnet.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/extensions/freeu.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/extensions/inpaint.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/extensions/inpaint_model.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/extensions/lora.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/extensions/preview.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/extensions/rescale_cfg.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/extensions/seamless.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/extensions/t2i_adapter.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/extensions_manager.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/multi_diffusion_pipeline.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/schedulers/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/schedulers/schedulers.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/vae_tiling.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/textual_inversion.py +0 -0
- {InvokeAI-4.2.9/invokeai/backend/quantization → InvokeAI-4.2.9.dev3/invokeai/backend/tiles}/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/tiles/tiles.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/tiles/utils.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/attention.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/catch_sigint.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/db_maintenance.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/devices.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/hotfixes.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/logging.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/mask.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/mps_fixes.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/original_weights_storage.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/silence_warnings.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/test_utils.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/configs/controlnet/cldm_v15.yaml +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/configs/controlnet/cldm_v21.yaml +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/sd_xl_base.yaml +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/sd_xl_inpaint.yaml +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/sd_xl_refiner.yaml +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/v1-finetune.yaml +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/v1-finetune_style.yaml +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/v1-inference-v.yaml +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/v1-inference.yaml +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/v1-inpainting-inference.yaml +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/v1-m1-finetune.yaml +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/v2-inference-v.yaml +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/v2-inference.yaml +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/v2-inpainting-inference-v.yaml +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/v2-inpainting-inference.yaml +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/v2-midas-inference.yaml +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/__init__.py +0 -0
- {InvokeAI-4.2.9/invokeai/backend/tiles → InvokeAI-4.2.9.dev3/invokeai/frontend/cli}/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/cli/arg_parser.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/install/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/install/import_images.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/App-DEu4J2pT.css +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-B2NxUfIp.css +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-alert-favicon.svg +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-avatar-circle.svg +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-avatar-square.svg +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-favicon.png +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-favicon.svg +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-key-char-lrg.svg +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-key-char-sml.svg +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-key-wht-lrg.svg +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-key-wht-sml.svg +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-symbol-char-lrg.svg +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-symbol-char-sml.svg +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-symbol-wht-lrg.svg +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-symbol-wht-sml.svg +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-symbol-ylw-lrg.svg +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-tag-char-lrg.svg +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-tag-char-sml.svg +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-tag-lrg.svg +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-tag-sml.svg +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-wordmark-charcoal.svg +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-wordmark-white.svg +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/mask.svg +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/transparent_bg.png +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/inter-cyrillic-ext-wght-normal-B2xhLi22.woff2 +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/inter-cyrillic-wght-normal-CMZtQduZ.woff2 +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/inter-greek-ext-wght-normal-CGAr0uHJ.woff2 +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/inter-greek-wght-normal-CaVNZxsx.woff2 +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/inter-latin-ext-wght-normal-CFHvXkgd.woff2 +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/inter-latin-wght-normal-C2S99t-D.woff2 +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/ar.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/az.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/bg.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/fi.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/fr.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/he.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/hu.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/ja.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/ko.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/mn.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/nl.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/pl.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/pt.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/pt_BR.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/ro.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/sv.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/tr.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/uk.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/vi.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/zh_Hant.json +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/scripts/clean_translations.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/static/docs/invoke-favicon-docs.svg +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/invokeai/version/__init__.py +0 -0
- {InvokeAI-4.2.9 → InvokeAI-4.2.9.dev3}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: InvokeAI
|
|
3
|
-
Version: 4.2.9
|
|
3
|
+
Version: 4.2.9.dev3
|
|
4
4
|
Summary: An implementation of Stable Diffusion which provides various new features and options to aid the image generation process
|
|
5
5
|
Author-email: The InvokeAI Project <lincoln.stein@gmail.com>
|
|
6
6
|
License: Apache License
|
|
@@ -40,10 +40,6 @@ invokeai/app/invocations/cv.py
|
|
|
40
40
|
invokeai/app/invocations/denoise_latents.py
|
|
41
41
|
invokeai/app/invocations/facetools.py
|
|
42
42
|
invokeai/app/invocations/fields.py
|
|
43
|
-
invokeai/app/invocations/flux_denoise.py
|
|
44
|
-
invokeai/app/invocations/flux_text_encoder.py
|
|
45
|
-
invokeai/app/invocations/flux_vae_decode.py
|
|
46
|
-
invokeai/app/invocations/flux_vae_encode.py
|
|
47
43
|
invokeai/app/invocations/grounding_dino.py
|
|
48
44
|
invokeai/app/invocations/ideal_size.py
|
|
49
45
|
invokeai/app/invocations/image.py
|
|
@@ -178,6 +174,7 @@ invokeai/app/services/shared/sqlite_migrator/migrations/migration_11.py
|
|
|
178
174
|
invokeai/app/services/shared/sqlite_migrator/migrations/migration_12.py
|
|
179
175
|
invokeai/app/services/shared/sqlite_migrator/migrations/migration_13.py
|
|
180
176
|
invokeai/app/services/shared/sqlite_migrator/migrations/migration_14.py
|
|
177
|
+
invokeai/app/services/shared/sqlite_migrator/migrations/migration_15.py
|
|
181
178
|
invokeai/app/services/shared/sqlite_migrator/migrations/migration_2.py
|
|
182
179
|
invokeai/app/services/shared/sqlite_migrator/migrations/migration_3.py
|
|
183
180
|
invokeai/app/services/shared/sqlite_migrator/migrations/migration_4.py
|
|
@@ -221,9 +218,7 @@ invokeai/app/services/workflow_records/workflow_records_base.py
|
|
|
221
218
|
invokeai/app/services/workflow_records/workflow_records_common.py
|
|
222
219
|
invokeai/app/services/workflow_records/workflow_records_sqlite.py
|
|
223
220
|
invokeai/app/services/workflow_records/default_workflows/ESRGAN Upscaling with Canny ControlNet.json
|
|
224
|
-
invokeai/app/services/workflow_records/default_workflows/FLUX Image to Image.json
|
|
225
221
|
invokeai/app/services/workflow_records/default_workflows/Face Detailer with IP-Adapter & Canny (See Note in Details).json
|
|
226
|
-
invokeai/app/services/workflow_records/default_workflows/Flux Text to Image.json
|
|
227
222
|
invokeai/app/services/workflow_records/default_workflows/Multi ControlNet (Canny & Depth).json
|
|
228
223
|
invokeai/app/services/workflow_records/default_workflows/MultiDiffusion SD1.5.json
|
|
229
224
|
invokeai/app/services/workflow_records/default_workflows/MultiDiffusion SDXL.json
|
|
@@ -252,15 +247,6 @@ invokeai/backend/model_patcher.py
|
|
|
252
247
|
invokeai/backend/raw_model.py
|
|
253
248
|
invokeai/backend/spandrel_image_to_image_model.py
|
|
254
249
|
invokeai/backend/textual_inversion.py
|
|
255
|
-
invokeai/backend/flux/denoise.py
|
|
256
|
-
invokeai/backend/flux/inpaint_extension.py
|
|
257
|
-
invokeai/backend/flux/math.py
|
|
258
|
-
invokeai/backend/flux/model.py
|
|
259
|
-
invokeai/backend/flux/sampling_utils.py
|
|
260
|
-
invokeai/backend/flux/util.py
|
|
261
|
-
invokeai/backend/flux/modules/autoencoder.py
|
|
262
|
-
invokeai/backend/flux/modules/conditioner.py
|
|
263
|
-
invokeai/backend/flux/modules/layers.py
|
|
264
250
|
invokeai/backend/image_util/__init__.py
|
|
265
251
|
invokeai/backend/image_util/canny.py
|
|
266
252
|
invokeai/backend/image_util/hed.py
|
|
@@ -317,7 +303,6 @@ invokeai/backend/model_manager/load/model_cache/model_cache_default.py
|
|
|
317
303
|
invokeai/backend/model_manager/load/model_cache/model_locker.py
|
|
318
304
|
invokeai/backend/model_manager/load/model_loaders/__init__.py
|
|
319
305
|
invokeai/backend/model_manager/load/model_loaders/controlnet.py
|
|
320
|
-
invokeai/backend/model_manager/load/model_loaders/flux.py
|
|
321
306
|
invokeai/backend/model_manager/load/model_loaders/generic_diffusers.py
|
|
322
307
|
invokeai/backend/model_manager/load/model_loaders/ip_adapter.py
|
|
323
308
|
invokeai/backend/model_manager/load/model_loaders/lora.py
|
|
@@ -335,12 +320,6 @@ invokeai/backend/model_manager/util/libc_util.py
|
|
|
335
320
|
invokeai/backend/model_manager/util/model_util.py
|
|
336
321
|
invokeai/backend/model_manager/util/select_hf_files.py
|
|
337
322
|
invokeai/backend/onnx/onnx_runtime.py
|
|
338
|
-
invokeai/backend/quantization/__init__.py
|
|
339
|
-
invokeai/backend/quantization/bnb_llm_int8.py
|
|
340
|
-
invokeai/backend/quantization/bnb_nf4.py
|
|
341
|
-
invokeai/backend/quantization/scripts/load_flux_model_bnb_llm_int8.py
|
|
342
|
-
invokeai/backend/quantization/scripts/load_flux_model_bnb_nf4.py
|
|
343
|
-
invokeai/backend/quantization/scripts/quantize_t5_xxl_bnb_llm_int8.py
|
|
344
323
|
invokeai/backend/stable_diffusion/__init__.py
|
|
345
324
|
invokeai/backend/stable_diffusion/denoise_context.py
|
|
346
325
|
invokeai/backend/stable_diffusion/diffusers_pipeline.py
|
|
@@ -407,11 +386,11 @@ invokeai/frontend/install/__init__.py
|
|
|
407
386
|
invokeai/frontend/install/import_images.py
|
|
408
387
|
invokeai/frontend/web/__init__.py
|
|
409
388
|
invokeai/frontend/web/dist/index.html
|
|
410
|
-
invokeai/frontend/web/dist/assets/App-
|
|
389
|
+
invokeai/frontend/web/dist/assets/App-CEWYwnr8.js
|
|
411
390
|
invokeai/frontend/web/dist/assets/App-DEu4J2pT.css
|
|
412
391
|
invokeai/frontend/web/dist/assets/ThemeLocaleProvider-B2NxUfIp.css
|
|
413
|
-
invokeai/frontend/web/dist/assets/ThemeLocaleProvider-
|
|
414
|
-
invokeai/frontend/web/dist/assets/index-
|
|
392
|
+
invokeai/frontend/web/dist/assets/ThemeLocaleProvider-BnjZcfy9.js
|
|
393
|
+
invokeai/frontend/web/dist/assets/index-CMrB5_9v.js
|
|
415
394
|
invokeai/frontend/web/dist/assets/inter-cyrillic-ext-wght-normal-B2xhLi22.woff2
|
|
416
395
|
invokeai/frontend/web/dist/assets/inter-cyrillic-wght-normal-CMZtQduZ.woff2
|
|
417
396
|
invokeai/frontend/web/dist/assets/inter-greek-ext-wght-normal-CGAr0uHJ.woff2
|
|
@@ -419,6 +398,7 @@ invokeai/frontend/web/dist/assets/inter-greek-wght-normal-CaVNZxsx.woff2
|
|
|
419
398
|
invokeai/frontend/web/dist/assets/inter-latin-ext-wght-normal-CFHvXkgd.woff2
|
|
420
399
|
invokeai/frontend/web/dist/assets/inter-latin-wght-normal-C2S99t-D.woff2
|
|
421
400
|
invokeai/frontend/web/dist/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2
|
|
401
|
+
invokeai/frontend/web/dist/assets/worker-Dywf1EVc.js
|
|
422
402
|
invokeai/frontend/web/dist/assets/images/invoke-alert-favicon.svg
|
|
423
403
|
invokeai/frontend/web/dist/assets/images/invoke-avatar-circle.svg
|
|
424
404
|
invokeai/frontend/web/dist/assets/images/invoke-avatar-square.svg
|
|
@@ -11,7 +11,6 @@ onnxruntime==1.16.3
|
|
|
11
11
|
opencv-python==4.9.0.80
|
|
12
12
|
pytorch-lightning==2.1.3
|
|
13
13
|
safetensors==0.4.3
|
|
14
|
-
sentencepiece==0.2.0
|
|
15
14
|
spandrel==0.3.4
|
|
16
15
|
timm==0.6.13
|
|
17
16
|
torch==2.2.2
|
|
@@ -53,9 +52,6 @@ scikit-image~=0.21.0
|
|
|
53
52
|
semver~=3.0.1
|
|
54
53
|
test-tube~=0.7.5
|
|
55
54
|
|
|
56
|
-
[:sys_platform != "darwin"]
|
|
57
|
-
bitsandbytes==0.43.3
|
|
58
|
-
|
|
59
55
|
[:sys_platform == "win32"]
|
|
60
56
|
windows-curses
|
|
61
57
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: InvokeAI
|
|
3
|
-
Version: 4.2.9
|
|
3
|
+
Version: 4.2.9.dev3
|
|
4
4
|
Summary: An implementation of Stable Diffusion which provides various new features and options to aid the image generation process
|
|
5
5
|
Author-email: The InvokeAI Project <lincoln.stein@gmail.com>
|
|
6
6
|
License: Apache License
|
|
@@ -3,10 +3,8 @@
|
|
|
3
3
|
|
|
4
4
|
import io
|
|
5
5
|
import pathlib
|
|
6
|
-
import shutil
|
|
7
6
|
import traceback
|
|
8
7
|
from copy import deepcopy
|
|
9
|
-
from enum import Enum
|
|
10
8
|
from tempfile import TemporaryDirectory
|
|
11
9
|
from typing import List, Optional, Type
|
|
12
10
|
|
|
@@ -19,7 +17,6 @@ from starlette.exceptions import HTTPException
|
|
|
19
17
|
from typing_extensions import Annotated
|
|
20
18
|
|
|
21
19
|
from invokeai.app.api.dependencies import ApiDependencies
|
|
22
|
-
from invokeai.app.services.config import get_config
|
|
23
20
|
from invokeai.app.services.model_images.model_images_common import ModelImageFileNotFoundException
|
|
24
21
|
from invokeai.app.services.model_install.model_install_common import ModelInstallJob
|
|
25
22
|
from invokeai.app.services.model_records import (
|
|
@@ -34,7 +31,6 @@ from invokeai.backend.model_manager.config import (
|
|
|
34
31
|
ModelFormat,
|
|
35
32
|
ModelType,
|
|
36
33
|
)
|
|
37
|
-
from invokeai.backend.model_manager.load.model_cache.model_cache_base import CacheStats
|
|
38
34
|
from invokeai.backend.model_manager.metadata.fetch.huggingface import HuggingFaceMetadataFetch
|
|
39
35
|
from invokeai.backend.model_manager.metadata.metadata_base import ModelMetadataWithFiles, UnknownMetadataException
|
|
40
36
|
from invokeai.backend.model_manager.search import ModelSearch
|
|
@@ -54,13 +50,6 @@ class ModelsList(BaseModel):
|
|
|
54
50
|
model_config = ConfigDict(use_enum_values=True)
|
|
55
51
|
|
|
56
52
|
|
|
57
|
-
class CacheType(str, Enum):
|
|
58
|
-
"""Cache type - one of vram or ram."""
|
|
59
|
-
|
|
60
|
-
RAM = "RAM"
|
|
61
|
-
VRAM = "VRAM"
|
|
62
|
-
|
|
63
|
-
|
|
64
53
|
def add_cover_image_to_model_config(config: AnyModelConfig, dependencies: Type[ApiDependencies]) -> AnyModelConfig:
|
|
65
54
|
"""Add a cover image URL to a model configuration."""
|
|
66
55
|
cover_image = dependencies.invoker.services.model_images.get_url(config.key)
|
|
@@ -808,83 +797,3 @@ async def get_starter_models() -> list[StarterModel]:
|
|
|
808
797
|
model.dependencies = missing_deps
|
|
809
798
|
|
|
810
799
|
return starter_models
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
@model_manager_router.get(
|
|
814
|
-
"/model_cache",
|
|
815
|
-
operation_id="get_cache_size",
|
|
816
|
-
response_model=float,
|
|
817
|
-
summary="Get maximum size of model manager RAM or VRAM cache.",
|
|
818
|
-
)
|
|
819
|
-
async def get_cache_size(cache_type: CacheType = Query(description="The cache type", default=CacheType.RAM)) -> float:
|
|
820
|
-
"""Return the current RAM or VRAM cache size setting (in GB)."""
|
|
821
|
-
cache = ApiDependencies.invoker.services.model_manager.load.ram_cache
|
|
822
|
-
value = 0.0
|
|
823
|
-
if cache_type == CacheType.RAM:
|
|
824
|
-
value = cache.max_cache_size
|
|
825
|
-
elif cache_type == CacheType.VRAM:
|
|
826
|
-
value = cache.max_vram_cache_size
|
|
827
|
-
return value
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
@model_manager_router.put(
|
|
831
|
-
"/model_cache",
|
|
832
|
-
operation_id="set_cache_size",
|
|
833
|
-
response_model=float,
|
|
834
|
-
summary="Set maximum size of model manager RAM or VRAM cache, optionally writing new value out to invokeai.yaml config file.",
|
|
835
|
-
)
|
|
836
|
-
async def set_cache_size(
|
|
837
|
-
value: float = Query(description="The new value for the maximum cache size"),
|
|
838
|
-
cache_type: CacheType = Query(description="The cache type", default=CacheType.RAM),
|
|
839
|
-
persist: bool = Query(description="Write new value out to invokeai.yaml", default=False),
|
|
840
|
-
) -> float:
|
|
841
|
-
"""Set the current RAM or VRAM cache size setting (in GB). ."""
|
|
842
|
-
cache = ApiDependencies.invoker.services.model_manager.load.ram_cache
|
|
843
|
-
app_config = get_config()
|
|
844
|
-
# Record initial state.
|
|
845
|
-
vram_old = app_config.vram
|
|
846
|
-
ram_old = app_config.ram
|
|
847
|
-
|
|
848
|
-
# Prepare target state.
|
|
849
|
-
vram_new = vram_old
|
|
850
|
-
ram_new = ram_old
|
|
851
|
-
if cache_type == CacheType.RAM:
|
|
852
|
-
ram_new = value
|
|
853
|
-
elif cache_type == CacheType.VRAM:
|
|
854
|
-
vram_new = value
|
|
855
|
-
else:
|
|
856
|
-
raise ValueError(f"Unexpected {cache_type=}.")
|
|
857
|
-
|
|
858
|
-
config_path = app_config.config_file_path
|
|
859
|
-
new_config_path = config_path.with_suffix(".yaml.new")
|
|
860
|
-
|
|
861
|
-
try:
|
|
862
|
-
# Try to apply the target state.
|
|
863
|
-
cache.max_vram_cache_size = vram_new
|
|
864
|
-
cache.max_cache_size = ram_new
|
|
865
|
-
app_config.ram = ram_new
|
|
866
|
-
app_config.vram = vram_new
|
|
867
|
-
if persist:
|
|
868
|
-
app_config.write_file(new_config_path)
|
|
869
|
-
shutil.move(new_config_path, config_path)
|
|
870
|
-
except Exception as e:
|
|
871
|
-
# If there was a failure, restore the initial state.
|
|
872
|
-
cache.max_cache_size = ram_old
|
|
873
|
-
cache.max_vram_cache_size = vram_old
|
|
874
|
-
app_config.ram = ram_old
|
|
875
|
-
app_config.vram = vram_old
|
|
876
|
-
|
|
877
|
-
raise RuntimeError("Failed to update cache size") from e
|
|
878
|
-
return value
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
@model_manager_router.get(
|
|
882
|
-
"/stats",
|
|
883
|
-
operation_id="get_stats",
|
|
884
|
-
response_model=Optional[CacheStats],
|
|
885
|
-
summary="Get model manager RAM cache performance statistics.",
|
|
886
|
-
)
|
|
887
|
-
async def get_stats() -> Optional[CacheStats]:
|
|
888
|
-
"""Return performance statistics on the model manager's RAM cache. Will return null if no models have been loaded."""
|
|
889
|
-
|
|
890
|
-
return ApiDependencies.invoker.services.model_manager.load.ram_cache.stats
|
|
@@ -11,6 +11,7 @@ from invokeai.app.services.session_queue.session_queue_common import (
|
|
|
11
11
|
Batch,
|
|
12
12
|
BatchStatus,
|
|
13
13
|
CancelByBatchIDsResult,
|
|
14
|
+
CancelByOriginResult,
|
|
14
15
|
ClearResult,
|
|
15
16
|
EnqueueBatchResult,
|
|
16
17
|
PruneResult,
|
|
@@ -105,6 +106,19 @@ async def cancel_by_batch_ids(
|
|
|
105
106
|
return ApiDependencies.invoker.services.session_queue.cancel_by_batch_ids(queue_id=queue_id, batch_ids=batch_ids)
|
|
106
107
|
|
|
107
108
|
|
|
109
|
+
@session_queue_router.put(
|
|
110
|
+
"/{queue_id}/cancel_by_origin",
|
|
111
|
+
operation_id="cancel_by_origin",
|
|
112
|
+
responses={200: {"model": CancelByBatchIDsResult}},
|
|
113
|
+
)
|
|
114
|
+
async def cancel_by_origin(
|
|
115
|
+
queue_id: str = Path(description="The queue id to perform this operation on"),
|
|
116
|
+
origin: str = Query(description="The origin to cancel all queue items for"),
|
|
117
|
+
) -> CancelByOriginResult:
|
|
118
|
+
"""Immediately cancels all queue items with the given origin"""
|
|
119
|
+
return ApiDependencies.invoker.services.session_queue.cancel_by_origin(queue_id=queue_id, origin=origin)
|
|
120
|
+
|
|
121
|
+
|
|
108
122
|
@session_queue_router.put(
|
|
109
123
|
"/{queue_id}/clear",
|
|
110
124
|
operation_id="clear",
|
|
@@ -185,7 +185,7 @@ class DenoiseLatentsInvocation(BaseInvocation):
|
|
|
185
185
|
)
|
|
186
186
|
denoise_mask: Optional[DenoiseMaskField] = InputField(
|
|
187
187
|
default=None,
|
|
188
|
-
description=FieldDescriptions.
|
|
188
|
+
description=FieldDescriptions.mask,
|
|
189
189
|
input=Input.Connection,
|
|
190
190
|
ui_order=8,
|
|
191
191
|
)
|
|
@@ -40,18 +40,14 @@ class UIType(str, Enum, metaclass=MetaEnum):
|
|
|
40
40
|
|
|
41
41
|
# region Model Field Types
|
|
42
42
|
MainModel = "MainModelField"
|
|
43
|
-
FluxMainModel = "FluxMainModelField"
|
|
44
43
|
SDXLMainModel = "SDXLMainModelField"
|
|
45
44
|
SDXLRefinerModel = "SDXLRefinerModelField"
|
|
46
45
|
ONNXModel = "ONNXModelField"
|
|
47
46
|
VAEModel = "VAEModelField"
|
|
48
|
-
FluxVAEModel = "FluxVAEModelField"
|
|
49
47
|
LoRAModel = "LoRAModelField"
|
|
50
48
|
ControlNetModel = "ControlNetModelField"
|
|
51
49
|
IPAdapterModel = "IPAdapterModelField"
|
|
52
50
|
T2IAdapterModel = "T2IAdapterModelField"
|
|
53
|
-
T5EncoderModel = "T5EncoderModelField"
|
|
54
|
-
CLIPEmbedModel = "CLIPEmbedModelField"
|
|
55
51
|
SpandrelImageToImageModel = "SpandrelImageToImageModelField"
|
|
56
52
|
# endregion
|
|
57
53
|
|
|
@@ -129,17 +125,13 @@ class FieldDescriptions:
|
|
|
129
125
|
negative_cond = "Negative conditioning tensor"
|
|
130
126
|
noise = "Noise tensor"
|
|
131
127
|
clip = "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count"
|
|
132
|
-
t5_encoder = "T5 tokenizer and text encoder"
|
|
133
|
-
clip_embed_model = "CLIP Embed loader"
|
|
134
128
|
unet = "UNet (scheduler, LoRAs)"
|
|
135
|
-
transformer = "Transformer"
|
|
136
129
|
vae = "VAE"
|
|
137
130
|
cond = "Conditioning tensor"
|
|
138
131
|
controlnet_model = "ControlNet model to load"
|
|
139
132
|
vae_model = "VAE model to load"
|
|
140
133
|
lora_model = "LoRA model to load"
|
|
141
134
|
main_model = "Main model (UNet, VAE, CLIP) to load"
|
|
142
|
-
flux_model = "Flux model (Transformer) to load"
|
|
143
135
|
sdxl_main_model = "SDXL Main model (UNet, VAE, CLIP1, CLIP2) to load"
|
|
144
136
|
sdxl_refiner_model = "SDXL Refiner Main Modde (UNet, VAE, CLIP2) to load"
|
|
145
137
|
onnx_main_model = "ONNX Main model (UNet, VAE, CLIP) to load"
|
|
@@ -181,7 +173,7 @@ class FieldDescriptions:
|
|
|
181
173
|
)
|
|
182
174
|
num_1 = "The first number"
|
|
183
175
|
num_2 = "The second number"
|
|
184
|
-
|
|
176
|
+
mask = "The mask to use for the operation"
|
|
185
177
|
board = "The board to save the image to"
|
|
186
178
|
image = "The image to process"
|
|
187
179
|
tile_size = "Tile size"
|
|
@@ -239,12 +231,6 @@ class ColorField(BaseModel):
|
|
|
239
231
|
return (self.r, self.g, self.b, self.a)
|
|
240
232
|
|
|
241
233
|
|
|
242
|
-
class FluxConditioningField(BaseModel):
|
|
243
|
-
"""A conditioning tensor primitive value"""
|
|
244
|
-
|
|
245
|
-
conditioning_name: str = Field(description="The name of conditioning tensor")
|
|
246
|
-
|
|
247
|
-
|
|
248
234
|
class ConditioningField(BaseModel):
|
|
249
235
|
"""A conditioning tensor primitive value"""
|
|
250
236
|
|
|
@@ -6,13 +6,19 @@ import cv2
|
|
|
6
6
|
import numpy
|
|
7
7
|
from PIL import Image, ImageChops, ImageFilter, ImageOps
|
|
8
8
|
|
|
9
|
-
from invokeai.app.invocations.baseinvocation import
|
|
9
|
+
from invokeai.app.invocations.baseinvocation import (
|
|
10
|
+
BaseInvocation,
|
|
11
|
+
Classification,
|
|
12
|
+
invocation,
|
|
13
|
+
invocation_output,
|
|
14
|
+
)
|
|
10
15
|
from invokeai.app.invocations.constants import IMAGE_MODES
|
|
11
16
|
from invokeai.app.invocations.fields import (
|
|
12
17
|
ColorField,
|
|
13
18
|
FieldDescriptions,
|
|
14
19
|
ImageField,
|
|
15
20
|
InputField,
|
|
21
|
+
OutputField,
|
|
16
22
|
WithBoard,
|
|
17
23
|
WithMetadata,
|
|
18
24
|
)
|
|
@@ -1007,3 +1013,62 @@ class MaskFromIDInvocation(BaseInvocation, WithMetadata, WithBoard):
|
|
|
1007
1013
|
image_dto = context.images.save(image=mask, image_category=ImageCategory.MASK)
|
|
1008
1014
|
|
|
1009
1015
|
return ImageOutput.build(image_dto)
|
|
1016
|
+
|
|
1017
|
+
|
|
1018
|
+
@invocation_output("canvas_v2_mask_and_crop_output")
|
|
1019
|
+
class CanvasV2MaskAndCropOutput(ImageOutput):
|
|
1020
|
+
offset_x: int = OutputField(description="The x offset of the image, after cropping")
|
|
1021
|
+
offset_y: int = OutputField(description="The y offset of the image, after cropping")
|
|
1022
|
+
|
|
1023
|
+
|
|
1024
|
+
@invocation(
|
|
1025
|
+
"canvas_v2_mask_and_crop",
|
|
1026
|
+
title="Canvas V2 Mask and Crop",
|
|
1027
|
+
tags=["image", "mask", "id"],
|
|
1028
|
+
category="image",
|
|
1029
|
+
version="1.0.0",
|
|
1030
|
+
classification=Classification.Prototype,
|
|
1031
|
+
)
|
|
1032
|
+
class CanvasV2MaskAndCropInvocation(BaseInvocation, WithMetadata, WithBoard):
|
|
1033
|
+
"""Handles Canvas V2 image output masking and cropping"""
|
|
1034
|
+
|
|
1035
|
+
source_image: ImageField | None = InputField(
|
|
1036
|
+
default=None,
|
|
1037
|
+
description="The source image onto which the masked generated image is pasted. If omitted, the masked generated image is returned with transparency.",
|
|
1038
|
+
)
|
|
1039
|
+
generated_image: ImageField = InputField(description="The image to apply the mask to")
|
|
1040
|
+
mask: ImageField = InputField(description="The mask to apply")
|
|
1041
|
+
mask_blur: int = InputField(default=0, ge=0, description="The amount to blur the mask by")
|
|
1042
|
+
|
|
1043
|
+
def _prepare_mask(self, mask: Image.Image) -> Image.Image:
|
|
1044
|
+
mask_array = numpy.array(mask)
|
|
1045
|
+
kernel = numpy.ones((self.mask_blur, self.mask_blur), numpy.uint8)
|
|
1046
|
+
dilated_mask_array = cv2.erode(mask_array, kernel, iterations=3)
|
|
1047
|
+
dilated_mask = Image.fromarray(dilated_mask_array)
|
|
1048
|
+
if self.mask_blur > 0:
|
|
1049
|
+
mask = dilated_mask.filter(ImageFilter.GaussianBlur(self.mask_blur))
|
|
1050
|
+
return ImageOps.invert(mask.convert("L"))
|
|
1051
|
+
|
|
1052
|
+
def invoke(self, context: InvocationContext) -> CanvasV2MaskAndCropOutput:
|
|
1053
|
+
mask = self._prepare_mask(context.images.get_pil(self.mask.image_name))
|
|
1054
|
+
|
|
1055
|
+
if self.source_image:
|
|
1056
|
+
generated_image = context.images.get_pil(self.generated_image.image_name)
|
|
1057
|
+
source_image = context.images.get_pil(self.source_image.image_name)
|
|
1058
|
+
source_image.paste(generated_image, (0, 0), mask)
|
|
1059
|
+
image_dto = context.images.save(image=source_image)
|
|
1060
|
+
else:
|
|
1061
|
+
generated_image = context.images.get_pil(self.generated_image.image_name)
|
|
1062
|
+
generated_image.putalpha(mask)
|
|
1063
|
+
image_dto = context.images.save(image=generated_image)
|
|
1064
|
+
|
|
1065
|
+
# bbox = image.getbbox()
|
|
1066
|
+
# image = image.crop(bbox)
|
|
1067
|
+
|
|
1068
|
+
return CanvasV2MaskAndCropOutput(
|
|
1069
|
+
image=ImageField(image_name=image_dto.image_name),
|
|
1070
|
+
offset_x=0,
|
|
1071
|
+
offset_y=0,
|
|
1072
|
+
width=image_dto.width,
|
|
1073
|
+
height=image_dto.height,
|
|
1074
|
+
)
|
|
@@ -126,7 +126,7 @@ class ImageMaskToTensorInvocation(BaseInvocation, WithMetadata):
|
|
|
126
126
|
title="Tensor Mask to Image",
|
|
127
127
|
tags=["mask"],
|
|
128
128
|
category="mask",
|
|
129
|
-
version="1.
|
|
129
|
+
version="1.0.0",
|
|
130
130
|
)
|
|
131
131
|
class MaskTensorToImageInvocation(BaseInvocation, WithMetadata, WithBoard):
|
|
132
132
|
"""Convert a mask tensor to an image."""
|
|
@@ -135,11 +135,6 @@ class MaskTensorToImageInvocation(BaseInvocation, WithMetadata, WithBoard):
|
|
|
135
135
|
|
|
136
136
|
def invoke(self, context: InvocationContext) -> ImageOutput:
|
|
137
137
|
mask = context.tensors.load(self.mask.tensor_name)
|
|
138
|
-
|
|
139
|
-
# Squeeze the channel dimension if it exists.
|
|
140
|
-
if mask.dim() == 3:
|
|
141
|
-
mask = mask.squeeze(0)
|
|
142
|
-
|
|
143
138
|
# Ensure that the mask is binary.
|
|
144
139
|
if mask.dtype != torch.bool:
|
|
145
140
|
mask = mask > 0.5
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import copy
|
|
2
|
-
from typing import List,
|
|
2
|
+
from typing import List, Optional
|
|
3
3
|
|
|
4
4
|
from pydantic import BaseModel, Field
|
|
5
5
|
|
|
@@ -13,14 +13,7 @@ from invokeai.app.invocations.baseinvocation import (
|
|
|
13
13
|
from invokeai.app.invocations.fields import FieldDescriptions, Input, InputField, OutputField, UIType
|
|
14
14
|
from invokeai.app.services.shared.invocation_context import InvocationContext
|
|
15
15
|
from invokeai.app.shared.models import FreeUConfig
|
|
16
|
-
from invokeai.backend.
|
|
17
|
-
from invokeai.backend.model_manager.config import (
|
|
18
|
-
AnyModelConfig,
|
|
19
|
-
BaseModelType,
|
|
20
|
-
CheckpointConfigBase,
|
|
21
|
-
ModelType,
|
|
22
|
-
SubModelType,
|
|
23
|
-
)
|
|
16
|
+
from invokeai.backend.model_manager.config import AnyModelConfig, BaseModelType, ModelType, SubModelType
|
|
24
17
|
|
|
25
18
|
|
|
26
19
|
class ModelIdentifierField(BaseModel):
|
|
@@ -67,15 +60,6 @@ class CLIPField(BaseModel):
|
|
|
67
60
|
loras: List[LoRAField] = Field(description="LoRAs to apply on model loading")
|
|
68
61
|
|
|
69
62
|
|
|
70
|
-
class TransformerField(BaseModel):
|
|
71
|
-
transformer: ModelIdentifierField = Field(description="Info to load Transformer submodel")
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
class T5EncoderField(BaseModel):
|
|
75
|
-
tokenizer: ModelIdentifierField = Field(description="Info to load tokenizer submodel")
|
|
76
|
-
text_encoder: ModelIdentifierField = Field(description="Info to load text_encoder submodel")
|
|
77
|
-
|
|
78
|
-
|
|
79
63
|
class VAEField(BaseModel):
|
|
80
64
|
vae: ModelIdentifierField = Field(description="Info to load vae submodel")
|
|
81
65
|
seamless_axes: List[str] = Field(default_factory=list, description='Axes("x" and "y") to which apply seamless')
|
|
@@ -138,78 +122,6 @@ class ModelIdentifierInvocation(BaseInvocation):
|
|
|
138
122
|
return ModelIdentifierOutput(model=self.model)
|
|
139
123
|
|
|
140
124
|
|
|
141
|
-
@invocation_output("flux_model_loader_output")
|
|
142
|
-
class FluxModelLoaderOutput(BaseInvocationOutput):
|
|
143
|
-
"""Flux base model loader output"""
|
|
144
|
-
|
|
145
|
-
transformer: TransformerField = OutputField(description=FieldDescriptions.transformer, title="Transformer")
|
|
146
|
-
clip: CLIPField = OutputField(description=FieldDescriptions.clip, title="CLIP")
|
|
147
|
-
t5_encoder: T5EncoderField = OutputField(description=FieldDescriptions.t5_encoder, title="T5 Encoder")
|
|
148
|
-
vae: VAEField = OutputField(description=FieldDescriptions.vae, title="VAE")
|
|
149
|
-
max_seq_len: Literal[256, 512] = OutputField(
|
|
150
|
-
description="The max sequence length to used for the T5 encoder. (256 for schnell transformer, 512 for dev transformer)",
|
|
151
|
-
title="Max Seq Length",
|
|
152
|
-
)
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
@invocation(
|
|
156
|
-
"flux_model_loader",
|
|
157
|
-
title="Flux Main Model",
|
|
158
|
-
tags=["model", "flux"],
|
|
159
|
-
category="model",
|
|
160
|
-
version="1.0.4",
|
|
161
|
-
classification=Classification.Prototype,
|
|
162
|
-
)
|
|
163
|
-
class FluxModelLoaderInvocation(BaseInvocation):
|
|
164
|
-
"""Loads a flux base model, outputting its submodels."""
|
|
165
|
-
|
|
166
|
-
model: ModelIdentifierField = InputField(
|
|
167
|
-
description=FieldDescriptions.flux_model,
|
|
168
|
-
ui_type=UIType.FluxMainModel,
|
|
169
|
-
input=Input.Direct,
|
|
170
|
-
)
|
|
171
|
-
|
|
172
|
-
t5_encoder_model: ModelIdentifierField = InputField(
|
|
173
|
-
description=FieldDescriptions.t5_encoder, ui_type=UIType.T5EncoderModel, input=Input.Direct, title="T5 Encoder"
|
|
174
|
-
)
|
|
175
|
-
|
|
176
|
-
clip_embed_model: ModelIdentifierField = InputField(
|
|
177
|
-
description=FieldDescriptions.clip_embed_model,
|
|
178
|
-
ui_type=UIType.CLIPEmbedModel,
|
|
179
|
-
input=Input.Direct,
|
|
180
|
-
title="CLIP Embed",
|
|
181
|
-
)
|
|
182
|
-
|
|
183
|
-
vae_model: ModelIdentifierField = InputField(
|
|
184
|
-
description=FieldDescriptions.vae_model, ui_type=UIType.FluxVAEModel, title="VAE"
|
|
185
|
-
)
|
|
186
|
-
|
|
187
|
-
def invoke(self, context: InvocationContext) -> FluxModelLoaderOutput:
|
|
188
|
-
for key in [self.model.key, self.t5_encoder_model.key, self.clip_embed_model.key, self.vae_model.key]:
|
|
189
|
-
if not context.models.exists(key):
|
|
190
|
-
raise ValueError(f"Unknown model: {key}")
|
|
191
|
-
|
|
192
|
-
transformer = self.model.model_copy(update={"submodel_type": SubModelType.Transformer})
|
|
193
|
-
vae = self.vae_model.model_copy(update={"submodel_type": SubModelType.VAE})
|
|
194
|
-
|
|
195
|
-
tokenizer = self.clip_embed_model.model_copy(update={"submodel_type": SubModelType.Tokenizer})
|
|
196
|
-
clip_encoder = self.clip_embed_model.model_copy(update={"submodel_type": SubModelType.TextEncoder})
|
|
197
|
-
|
|
198
|
-
tokenizer2 = self.t5_encoder_model.model_copy(update={"submodel_type": SubModelType.Tokenizer2})
|
|
199
|
-
t5_encoder = self.t5_encoder_model.model_copy(update={"submodel_type": SubModelType.TextEncoder2})
|
|
200
|
-
|
|
201
|
-
transformer_config = context.models.get_config(transformer)
|
|
202
|
-
assert isinstance(transformer_config, CheckpointConfigBase)
|
|
203
|
-
|
|
204
|
-
return FluxModelLoaderOutput(
|
|
205
|
-
transformer=TransformerField(transformer=transformer),
|
|
206
|
-
clip=CLIPField(tokenizer=tokenizer, text_encoder=clip_encoder, loras=[], skipped_layers=0),
|
|
207
|
-
t5_encoder=T5EncoderField(tokenizer=tokenizer2, text_encoder=t5_encoder),
|
|
208
|
-
vae=VAEField(vae=vae),
|
|
209
|
-
max_seq_len=max_seq_lengths[transformer_config.config_path],
|
|
210
|
-
)
|
|
211
|
-
|
|
212
|
-
|
|
213
125
|
@invocation(
|
|
214
126
|
"main_model_loader",
|
|
215
127
|
title="Main Model",
|
|
@@ -12,7 +12,6 @@ from invokeai.app.invocations.fields import (
|
|
|
12
12
|
ConditioningField,
|
|
13
13
|
DenoiseMaskField,
|
|
14
14
|
FieldDescriptions,
|
|
15
|
-
FluxConditioningField,
|
|
16
15
|
ImageField,
|
|
17
16
|
Input,
|
|
18
17
|
InputField,
|
|
@@ -415,17 +414,6 @@ class MaskOutput(BaseInvocationOutput):
|
|
|
415
414
|
height: int = OutputField(description="The height of the mask in pixels.")
|
|
416
415
|
|
|
417
416
|
|
|
418
|
-
@invocation_output("flux_conditioning_output")
|
|
419
|
-
class FluxConditioningOutput(BaseInvocationOutput):
|
|
420
|
-
"""Base class for nodes that output a single conditioning tensor"""
|
|
421
|
-
|
|
422
|
-
conditioning: FluxConditioningField = OutputField(description=FieldDescriptions.cond)
|
|
423
|
-
|
|
424
|
-
@classmethod
|
|
425
|
-
def build(cls, conditioning_name: str) -> "FluxConditioningOutput":
|
|
426
|
-
return cls(conditioning=FluxConditioningField(conditioning_name=conditioning_name))
|
|
427
|
-
|
|
428
|
-
|
|
429
417
|
@invocation_output("conditioning_output")
|
|
430
418
|
class ConditioningOutput(BaseInvocationOutput):
|
|
431
419
|
"""Base class for nodes that output a single conditioning tensor"""
|
|
@@ -88,6 +88,7 @@ class QueueItemEventBase(QueueEventBase):
|
|
|
88
88
|
|
|
89
89
|
item_id: int = Field(description="The ID of the queue item")
|
|
90
90
|
batch_id: str = Field(description="The ID of the queue batch")
|
|
91
|
+
origin: str | None = Field(default=None, description="The origin of the batch")
|
|
91
92
|
|
|
92
93
|
|
|
93
94
|
class InvocationEventBase(QueueItemEventBase):
|
|
@@ -95,8 +96,6 @@ class InvocationEventBase(QueueItemEventBase):
|
|
|
95
96
|
|
|
96
97
|
session_id: str = Field(description="The ID of the session (aka graph execution state)")
|
|
97
98
|
queue_id: str = Field(description="The ID of the queue")
|
|
98
|
-
item_id: int = Field(description="The ID of the queue item")
|
|
99
|
-
batch_id: str = Field(description="The ID of the queue batch")
|
|
100
99
|
session_id: str = Field(description="The ID of the session (aka graph execution state)")
|
|
101
100
|
invocation: AnyInvocation = Field(description="The ID of the invocation")
|
|
102
101
|
invocation_source_id: str = Field(description="The ID of the prepared invocation's source node")
|
|
@@ -114,6 +113,7 @@ class InvocationStartedEvent(InvocationEventBase):
|
|
|
114
113
|
queue_id=queue_item.queue_id,
|
|
115
114
|
item_id=queue_item.item_id,
|
|
116
115
|
batch_id=queue_item.batch_id,
|
|
116
|
+
origin=queue_item.origin,
|
|
117
117
|
session_id=queue_item.session_id,
|
|
118
118
|
invocation=invocation,
|
|
119
119
|
invocation_source_id=queue_item.session.prepared_source_mapping[invocation.id],
|
|
@@ -147,6 +147,7 @@ class InvocationDenoiseProgressEvent(InvocationEventBase):
|
|
|
147
147
|
queue_id=queue_item.queue_id,
|
|
148
148
|
item_id=queue_item.item_id,
|
|
149
149
|
batch_id=queue_item.batch_id,
|
|
150
|
+
origin=queue_item.origin,
|
|
150
151
|
session_id=queue_item.session_id,
|
|
151
152
|
invocation=invocation,
|
|
152
153
|
invocation_source_id=queue_item.session.prepared_source_mapping[invocation.id],
|
|
@@ -184,6 +185,7 @@ class InvocationCompleteEvent(InvocationEventBase):
|
|
|
184
185
|
queue_id=queue_item.queue_id,
|
|
185
186
|
item_id=queue_item.item_id,
|
|
186
187
|
batch_id=queue_item.batch_id,
|
|
188
|
+
origin=queue_item.origin,
|
|
187
189
|
session_id=queue_item.session_id,
|
|
188
190
|
invocation=invocation,
|
|
189
191
|
invocation_source_id=queue_item.session.prepared_source_mapping[invocation.id],
|
|
@@ -216,6 +218,7 @@ class InvocationErrorEvent(InvocationEventBase):
|
|
|
216
218
|
queue_id=queue_item.queue_id,
|
|
217
219
|
item_id=queue_item.item_id,
|
|
218
220
|
batch_id=queue_item.batch_id,
|
|
221
|
+
origin=queue_item.origin,
|
|
219
222
|
session_id=queue_item.session_id,
|
|
220
223
|
invocation=invocation,
|
|
221
224
|
invocation_source_id=queue_item.session.prepared_source_mapping[invocation.id],
|
|
@@ -253,6 +256,7 @@ class QueueItemStatusChangedEvent(QueueItemEventBase):
|
|
|
253
256
|
queue_id=queue_item.queue_id,
|
|
254
257
|
item_id=queue_item.item_id,
|
|
255
258
|
batch_id=queue_item.batch_id,
|
|
259
|
+
origin=queue_item.origin,
|
|
256
260
|
session_id=queue_item.session_id,
|
|
257
261
|
status=queue_item.status,
|
|
258
262
|
error_type=queue_item.error_type,
|
|
@@ -279,12 +283,14 @@ class BatchEnqueuedEvent(QueueEventBase):
|
|
|
279
283
|
description="The number of invocations initially requested to be enqueued (may be less than enqueued if queue was full)"
|
|
280
284
|
)
|
|
281
285
|
priority: int = Field(description="The priority of the batch")
|
|
286
|
+
origin: str | None = Field(default=None, description="The origin of the batch")
|
|
282
287
|
|
|
283
288
|
@classmethod
|
|
284
289
|
def build(cls, enqueue_result: EnqueueBatchResult) -> "BatchEnqueuedEvent":
|
|
285
290
|
return cls(
|
|
286
291
|
queue_id=enqueue_result.queue_id,
|
|
287
292
|
batch_id=enqueue_result.batch.batch_id,
|
|
293
|
+
origin=enqueue_result.batch.origin,
|
|
288
294
|
enqueued=enqueue_result.enqueued,
|
|
289
295
|
requested=enqueue_result.requested,
|
|
290
296
|
priority=enqueue_result.priority,
|