Commit Graph
100 Commits
Author SHA1 Message Date
Manuel Schmid 056840c513 Merge commit '4945fc99624afc661aae2d3c5c5d73a32ba21897'
# Conflicts:
#	fooocus_version.py
#	language/en.json
#	launch.py
#	modules/async_worker.py
#	modules/config.py
#	modules/flags.py
#	modules/meta_parser.py
#	modules/util.py
#	webui.py
2024-03-02 17:24:53 +01:00
Manuel Schmid 6db14acf8e docs: update version and changelog 2024-03-02 16:25:31 +01:00
Manuel Schmid 8bfc4e1e35 Merge branch 'feature/add-preset-selection' 2024-02-29 15:42:26 +01:00
Manuel Schmid 45b8bc37f1 Merge branch 'feature/add-preset-selection' of github.com:mashb1t/Fooocus into feature/add-preset-selection 2024-02-29 15:41:37 +01:00
Manuel Schmid 681f61e159 fix: add default return values when preset download is disabled
https://github.com/mashb1t/Fooocus/issues/20
2024-02-29 15:41:11 +01:00
Manuel Schmid 692beadbdc docs: bump version number to 2.2.0-rc1
easier debugging and issue handling
2024-02-26 17:41:29 +01:00
Manuel Schmid 4e526e255e docs: add missing release notes for 2.1.865 2024-02-26 17:39:29 +01:00
Manuel Schmid b6d23670d8 feat: add jpg and webp support, add exif data handling for metadata (#1863)
* feature: added flag, config and ui update for image extension change #1789

* moved function to config module

* moved image extension to webui via async worker. Passing as parameter to log and get_current_html_path functions per feedback

* check flag before displaying image extension radio button

* disabled if image log flag is passed in

* fix: add missing image_extension parameter to log call

* refactor: change label

* feat: add webp to image_extensions

supported image extemsions: see https://pillow.readthedocs.io/en/stable/handbook/image-file-formats.html

* feat: use consistent file name in gradio

returns and uses filepaths instead of numpy image by saving to temp dir
uses double the temp dir file storage on disk as it saves to temp dir and gradio temp dir when displaying the image, but reuses logged output image

* feat: delete temp images after yielding to gradio

* feat: use args temp path if given

* chore: code cleanup, remove redundant if statement

* feat: always show image_extension element

this is now possible due to image extension support in gradio via https://github.com/lllyasviel/Fooocus/pull/1932

* refactor: rename image_extension to image_file_extension

* feat: use optimized jpg parameters when saving the image

quality=95
optimize=True
progressive=True

* refactor: rename image_file_extension to output_format

* feat: add exif handling

* refactor: code cleanup, remove items from metadata output

---------

Co-authored-by: Manuel Schmid <dev@mash1t.de>
Co-authored-by: Manuel Schmid <9307310+mashb1t@users.noreply.github.com>
Co-authored-by: Manuel Schmid <manuel.schmid@odt.net>
Co-authored by: eddyizm <wtfisup@hotmail.com>
2024-02-26 15:31:32 +01:00
Manuel Schmid 490f1a93d0 Merge branch 'bugfix/allow-path-outputs-to-be-outside-of-fooocus-root' 2024-02-25 11:09:19 +01:00
Manuel Schmid 1d606ecb7e feat: optimize image censoring
Does not save 2x to file (log and yield), but only once (log).
2024-02-24 18:09:45 +01:00
Manuel Schmid 4905f3f2fa fix: use correct format for upscale metadata 2024-02-24 17:50:40 +01:00
Manuel Schmid 26601a99d1 Merge branch 'feature/add-metadata-to-files' 2024-02-18 16:27:29 +01:00
Manuel Schmid 692a2e4369 Merge branch 'feature/add-metadata-to-files' of github.com:mashb1t/Fooocus into feature/add-metadata-to-files 2024-02-18 16:15:56 +01:00
Manuel Schmid f93dd6edcc feat: only override steps if metadata value is not in steps enum or in steps enum and performance is not the same 2024-02-18 16:15:39 +01:00
Manuel Schmid 36f6715512 chore: make steps enums more strict 2024-02-18 16:14:24 +01:00
Manuel Schmid 613febdce8 Merge branch 'develop' 2024-02-18 15:34:58 +01:00
Manuel Schmid a78f66ffb5 fix: sort with casefold, case insensitive
https://docs.python.org/3/library/stdtypes.html#str.casefold
2024-02-12 21:59:22 +01:00
Manuel Schmid 94d80d35a9 feat: add distinction in version identifier for easier debugging in issues 2024-02-12 21:40:53 +01:00
Manuel Schmid 62a385e6a1 feat: sort with casefold, case insensitive
https://docs.python.org/3/library/stdtypes.html#str.casefold
2024-02-12 21:34:07 +01:00
Manuel Schmid 267d5eee7d Merge commit '1c999be8c8134fe01a75723ea933858435856950'
# Conflicts:
#	.github/ISSUE_TEMPLATE/bug_report.md
#	launch.py
#	modules/async_worker.py
#	modules/config.py
#	modules/private_logger.py
#	modules/util.py
#	webui.py
2024-02-12 21:13:36 +01:00
Manuel Schmid f4a8bf24cf fix: correctly calculate refiner switch when overwrite_switch is > 0 (#2165)
When using custom steps, the calculation of switching timing is wrong. Now it is modified to calculate "steps x timing" after custom steps are used.
By @xhoxye
2024-02-11 15:13:20 +01:00
Manuel Schmid ee3ce95566 docs: update version 2024-02-10 21:59:13 +01:00
Manuel Schmid 2037de3fcb chore: fix typos and adjust wording (#1521, #1644, #1691, #1772) 2024-02-10 21:54:50 +01:00
Manuel Schmid de9ab1634c feat: remove default prompt 1girl from anime 2024-02-06 17:57:29 +01:00
Manuel Schmid c668228fe8 chore: specify too broad exception types 2024-02-04 01:31:24 +01:00
Manuel Schmid 8af73e622f chore: remove remaining todos after analysis
refiner is added when set
restoring multiline prompts has been resolved by using separate parameters "raw_prompt" and "raw_negative_prompt"
2024-02-04 00:44:26 +01:00
Manuel Schmid 1419231e74 feat: prevent config reset by renaming metadata_scheme to match config options 2024-02-03 22:41:26 +01:00
Manuel Schmid 63403d614e feat: add sampler mapping 2024-02-02 23:44:47 +01:00
Manuel Schmid ed4a958da8 fix: add workaround for multiline prompts 2024-02-02 22:04:28 +01:00
Manuel Schmid 349556bfa6 fix: remove sorting for A1111, change performance key position
fixes https://github.com/lllyasviel/Fooocus/pull/1940#issuecomment-1924444633
2024-02-02 20:58:16 +01:00
Manuel Schmid 1c3431e6a7 wip: add TODO for ultiline prompt style resolution 2024-02-02 02:02:41 +01:00
Manuel Schmid 9aa82aa80a fix: add missing refiner in A1111 parse_json 2024-02-02 01:57:33 +01:00
Manuel Schmid f745d40687 refactor: merge metadata.py into meta_parser.py 2024-02-02 01:55:32 +01:00
Manuel Schmid b438f7b43f chore: check and remove ToDo's 2024-02-02 01:45:08 +01:00
Manuel Schmid 934bdb180a feat: add translations and hint for image prompt parameters 2024-02-02 01:35:49 +01:00
Manuel Schmid f7e24bdb1f feat: sort metadata attributes before writing to image 2024-02-02 01:26:20 +01:00
Manuel Schmid e55870124b refactor: add step before parsing to set data in parser
- add constructor for MetadataSchema class
- remove showable and copyable from log output
- add functional hash cache (model hashing takes about 5 seconds, only required once per model, using hash lazy loading)
2024-02-02 01:25:47 +01:00
Manuel Schmid 796cf3c78d fix: align handling for scheme Fooocus by removing lcm lora from json parsing 2024-02-02 01:20:28 +01:00
Manuel Schmid f4afc4af10 feat: add method get_scheme to Metadata 2024-02-02 01:19:21 +01:00
Manuel Schmid ea6839be83 chore: code cleanup 2024-02-02 01:14:40 +01:00
Manuel Schmid bc9b625221 feat: add hash cache to metadata 2024-02-02 01:11:50 +01:00
Manuel Schmid 23ba05015a chore: use str as return type in calculate_sha256 2024-02-02 01:10:26 +01:00
Manuel Schmid 6b9c0bd448 refactor: code cleanup 2024-01-31 01:35:51 +01:00
Manuel Schmid 9bdb65ec5d feat: add metadata handling for all non-img2img parameters 2024-01-31 01:18:09 +01:00
Manuel Schmid 7772eb7965 refactor: add flag for refiner_swap_method 2024-01-31 01:17:10 +01:00
Manuel Schmid e93a345ccf feat: code cleanup, do not queue metadata preview on image upload 2024-01-30 00:20:46 +01:00
Manuel Schmid 5811234d23 feat: allow model / LoRA loading from subfolders 2024-01-30 00:01:29 +01:00
Manuel Schmid 6939f7904a fix: correctly extract prompt style when only prompt expansion is selected 2024-01-29 22:27:33 +01:00
Manuel Schmid dcc4874455 feat: override existing LoRA values when importing, would cause images to differ 2024-01-29 21:57:02 +01:00
Manuel Schmid 78d1ad3962 feat: add lora handling to A1111 scheme 2024-01-29 21:56:10 +01:00
Manuel Schmid 89c8e3a812 feat: make sha256 with length 10 default 2024-01-29 21:54:39 +01:00
Manuel Schmid e541097451 wip: code cleanup, update todos 2024-01-29 21:54:22 +01:00
Manuel Schmid 2656356206 fix: use correct order to read LoRA in meta parser 2024-01-29 18:17:51 +01:00
Manuel Schmid e388f6fff6 wip: code cleanup, update todos 2024-01-29 16:38:39 +01:00
Manuel Schmid 33d644f4a5 feat: add prefix "Fooocus" to version 2024-01-29 16:29:40 +01:00
Manuel Schmid 7fefe3a3c2 feat: add created_by again 2024-01-29 16:28:47 +01:00
Manuel Schmid c80011b1d1 fix: use correct LoRA mapping, add fallback for backwards compatibility 2024-01-29 15:45:55 +01:00
Manuel Schmid 20e53028a4 refactor: use central flag for ControlNet image count 2024-01-29 14:27:51 +01:00
Manuel Schmid c3ab9f1f30 refactor: use central flag for LoRA count 2024-01-29 14:26:56 +01:00
Manuel Schmid 13d0341a02 feat: sort styles after metadata import 2024-01-29 01:52:42 +01:00
Manuel Schmid f94b96f6eb wip: add prompt style extraction for A1111 scheme 2024-01-29 01:52:24 +01:00
Manuel Schmid 5e84a45e22 feat: add A1111 prompt style detection
only detects one style as Fooocus doesn't wrap {prompt} with the whole style, but has a separate prompt string for each style
2024-01-28 23:52:06 +01:00
Manuel Schmid 236278948b chore: code cleanup 2024-01-28 23:50:56 +01:00
Manuel Schmid 5dcb2bc573 fix: correctly map resolution, use empty styles for A1111 2024-01-28 20:42:58 +01:00
Manuel Schmid cbc63ebba3 feat: add enums for Performance, Steps and StepsUOV
also move MetadataSchema enum to prevent circular dependency
2024-01-28 20:01:33 +01:00
Manuel Schmid 7ddd4e5209 wip: optimize handling for metadata in Gradio calls 2024-01-28 19:58:36 +01:00
Manuel Schmid e19596c2df feat: map basic information for scheme A1111 2024-01-28 18:04:40 +01:00
Manuel Schmid ee21c2b6bc feat: rename metadata tab and import button label 2024-01-28 18:02:15 +01:00
Manuel Schmid f3010313fc wip: add metadata mapping, reading and writing
applying data after reading currently not functional for A1111
2024-01-28 05:35:44 +01:00
Manuel Schmid f8f081b33f Merge branch 'feature/add-preset-selection'
# Conflicts:
#	launch.py
#	modules/config.py
#	presets/realistic.json
#	webui.py
2024-01-28 00:58:36 +01:00
Manuel Schmid 6031f85f49 Merge branch 'main_upstream' into feature/add-preset-selection
# Conflicts:
#	modules/config.py
#	presets/realistic.json
2024-01-28 00:57:03 +01:00
Manuel Schmid 7185abb8ba Merge branch 'main_upstream'
# Conflicts:
#	launch.py
#	ldm_patched/modules/args_parser.py
#	modules/config.py
#	presets/anime.json
#	presets/default.json
#	presets/lcm.json
#	presets/realistic.json
2024-01-27 21:09:08 +01:00
Manuel Schmid 1ae495f6b8 Merge branch 'feature/add-inpaint-mask-generation'
# Conflicts:
#	requirements_versions.txt
#	webui.py
2024-01-26 11:32:53 +01:00
Manuel Schmid dd2fd04fd7 feat: set U2NET_HOME env var to path_inpaint
previously was using the user dir, see https://github.com/danielgatis/rembg/blob/49d1686f65b71b72df1c3b420551406d13074426/rembg/sessions/base.py#L78
2024-01-26 11:17:58 +01:00
Manuel Schmid 366984ca64 Merge branch 'feature/add-inpaint-mask-generation'
# Conflicts:
#	webui.py
2024-01-25 10:48:40 +01:00
Manuel Schmid d2b697f33b refactor: rename cloth_category to inpaint_mask_cloth_category 2024-01-25 10:47:34 +01:00
Manuel Schmid 23bb69bb13 Merge branch 'feature/add-inpaint-mask-generation' 2024-01-24 19:45:58 +01:00
Manuel Schmid dea4b6c15c fix: add correct flag validation for default_inpaint_mask_model config 2024-01-24 19:41:25 +01:00
Manuel Schmid d7d34647d0 fix: remove segmentation models from rembg model selection 2024-01-24 19:38:12 +01:00
Manuel Schmid d7c1f4a6aa Merge branch 'hotfix/prevent-skipping-and-stopping-by-other-users'
# Conflicts:
#	modules/advanced_parameters.py
#	modules/async_worker.py
#	webui.py
2024-01-22 23:15:18 +01:00
Manuel Schmid 25c157b177 Merge commit '4912599f6e5c2ef01acf5d4f0bbcba236fa5c63f'
# Conflicts:
#	webui.py
2024-01-22 21:53:08 +01:00
Manuel Schmid 148eddf48d Merge branch 'feature/extract-advanced-parameters' into hotfix/prevent-skipping-and-stopping-by-other-users
# Conflicts:
#	webui.py
2024-01-22 21:31:24 +01:00
Manuel Schmid 031b1f8b11 chore: cleanup pid code 2024-01-22 21:20:17 +01:00
Manuel Schmid 21f4767c65 fix: resolve circular import, patch_all now in async_worker 2024-01-22 21:14:54 +01:00
Manuel Schmid 177075ff7b feat: extract remaining attributes, do not use globals in patch 2024-01-22 21:13:44 +01:00
Manuel Schmid f3222b0f27 feat: extract attribute controlnet_softness 2024-01-22 20:09:24 +01:00
Manuel Schmid 78d2ec8d77 chore: cleanup code 2024-01-22 20:01:43 +01:00
Manuel Schmid 18446dc3a5 wip: add TODOs 2024-01-22 19:23:22 +01:00
Manuel Schmid 4ce27aeb0f feat: extract inpaint_ctrls attributes
debugging_inpaint_preprocessor, inpaint_disable_initial_latent, inpaint_engine, inpaint_strength, inpaint_respective_field, inpaint_mask_upload_checkbox, invert_mask_checkbox, inpaint_erode_or_dilate
2024-01-22 19:20:04 +01:00
Manuel Schmid eb1d3938fe feat: extract freeu_ctrls attributes
freeu_enabled, freeu_b1, freeu_b2, freeu_s1, freeu_s2
2024-01-22 19:19:40 +01:00
Manuel Schmid cfb70c0278 feat: extract attribute refiner_swap_method 2024-01-22 19:10:32 +01:00
Manuel Schmid 2d8ca41ce5 feat: extract attribute canny_high_threshold 2024-01-22 19:08:54 +01:00
Manuel Schmid ec486443ea feat: extract attribute canny_low_threshold 2024-01-22 19:06:10 +01:00
Manuel Schmid 9f194a91fa feat: extract attribute skipping_cn_preprocessor 2024-01-22 18:54:25 +01:00
Manuel Schmid 0bf41591a6 feat: extract attribute debugging_cn_preprocessor 2024-01-22 18:52:41 +01:00
Manuel Schmid 6289e5daea feat: extract attribute mixing_image_prompt_and_inpaint 2024-01-22 18:51:12 +01:00
Manuel Schmid cce9871cc5 feat: extract attribute mixing_image_prompt_and_vary_upscale 2024-01-22 18:49:29 +01:00
Manuel Schmid 2ab5593d71 feat: extract attribute overwrite_upscale_strength 2024-01-22 18:46:47 +01:00
Manuel Schmid 22af976c51 feat: extract attribute overwrite_vary_strength 2024-01-22 18:45:01 +01:00
Manuel Schmid 9f4a00e868 feat: extract attribute overwrite_height 2024-01-22 18:42:54 +01:00