* feat: add checkbox and config to disable updating selected styles when describing an image
* i18n: add translation for checkbox label
* feat: change describe content type from Radio to CheckboxGroup, add config
* fix: cast set to list when styles contains elements
* feat: sort styles after describe
* feat: add checkbox, config and handling for saving only the final enhanced image
* feat: sort output of enhance feature
(cherry picked from commit 9d45c0e6ca)
* feat: make textboxes (incl. positive prompt) resizable again
* wip: auto-resize positive prompt on new line
dirty approach as container is hidden and 1px padding is applied for border shadow to actually work
* feat: set row height to 84, exactly matching 3 lines for positive prompt
eliminate need for JS to resize positive prompt onUiLoaded
disable intermediate results for all performacnes with restricted features
make disable_intermediate_results interactive again even if performance has restricted features
users who want to disable this option should be able to do so, even if performance will be impacted
* feat: add remove_performance_lora method
* feat: use class PerformanceLoRA instead of strings in config
* refactor: cleanup flags, use __member__ to check if enums contains key
* feat: only filter lora of selected performance instead of all performance LoRAs
* fix: disable intermediate results for all restricted performances
too fast for Gradio, which becomes a bottleneck
* refactor: rename parse_json to to_json, rename parse_string to to_string
* feat: use speed steps as default instead of hardcoded 30
* feat: add method to_steps to Performance
* refactor: remove method ordinal_suffix, not needed anymore
* feat: only filter lora of selected performance instead of all performance LoRAs
both metadata and history log
* feat: do not filter LoRAs in metadata parser but rather in metadata load action
* Slightly more compact ui settings
Changed Radio to Dropdown.
* feat: change preset from option to select, add accordion for resolution
* feat: change title of aspect ratios accordion on load and update
* refactor: reorder image number slider, code cleanup
* fix: add missing scroll down for metadata tab
* fix: adjust indent
---------
Co-authored-by: Manuel Schmid <dev@mash1t.de>
Co-authored-by: Manuel Schmid <9307310+mashb1t@users.noreply.github.com>
Workaround as tool color-sketch applies changes directly to the image canvas and not the mask canvas.
Color picker is not correctly implemented in Gradio 3.41.2 => does always get displayed as separate containers and not merged with other elements
* add nsfw image censoring
activatable via config, uses CompVis/stable-diffusion-safety-checker
* fix progressbar call for nsfw output
* use config to set cache dir for safety checker
* add checkbox black_out_nsfw
makes both enabling via config and checkbox possible, where config overrides the checkbox value
* fix: add missing diffusers package
* feat: extract safety checker, remove dependency to diffusers
* feat: make code compatible again after merge with main
* feat: move censor to extras, optimize safety checker file handling
* refactor: rename folder safety_checker_models to safety_checker
* feat: automatically describe image on uov image upload if prompt is empty
* feat: add argument to disable automatic uov image description
* feat: rename argument, disable by default
this prevents computers with low hardware specifications from being unnecessary blocked
* Revert "fix: use LF as line breaks for Docker entrypoint.sh (#2843)" (#2865)
False alarm, worked as intended before. Sorry for the fuzz.
This reverts commit d16a54edd6.
* feat: add VAE select
* feat: use different default label, add translation
* fix: do not reload model when VAE stays the same
* refactor: code cleanup
* feat: add metadata handling
* Raise Error on bad decode
* Move task arg pop to try block
* fix: prevent empty task from getting queued
---------
Co-authored-by: Manuel Schmid <dev@mash1t.de>
* add preset selection
uses meta parsing to set presets in user session (UI elements only)
* add LoRA handling
* use default config as fallback value
* add preset refresh on "Refresh All Files" click
* add special handling for default_styles and default_aspect_ratio
* sort styles after preset change
* code cleanup
* download missing models from preset
* set default refiner to "None" in preset realistic
* use state_is_generating for preset selection change
* DRY output parameter handling
* feat: add argument --disable-preset-selection
useful for cloud provisioning to prevent model switches and keep models loaded
* feat: keep prompt when not set in preset, use more robust syntax
* fix: add default return values when preset download is disabled
https://github.com/mashb1t/Fooocus/issues/20
* feat: add translation for preset label
* refactor: unify preset loading methods in config
* refactor: code cleanup
* Styles Grouping/Sorting #1770
* Update css/style.css
Co-authored-by: Manuel Schmid <9307310+mashb1t@users.noreply.github.com>
* Update javascript/script.js
Co-authored-by: Manuel Schmid <9307310+mashb1t@users.noreply.github.com>
* feat: use standard padding again
---------
Co-authored-by: Manuel Schmid <9307310+mashb1t@users.noreply.github.com>
Co-authored-by: Manuel Schmid <manuel.schmid@odt.net>
* Fix typo
* Scan wildcards recursively
Adds a method for getting the top-most occurrence of a given file in a directory tree
* Use already existing method for locating files
* Fix issue with incorrect files being loaded
When using the `name-filter` parameter in `get_model_filenames`, it doesn't guarantee the best match to be in the first index. This change adds a step to ensure the correct wildcard is being loaded.
* feat: make path for wildcards configurable, cache filenames on refresh files, rename button variable
* Fix formatting
---------
Co-authored-by: Manuel Schmid <manuel.schmid@odt.net>
* fix: parse width and height as int when applying metadata (#2452)
fixes an issue with A1111 metadata scheme where width and height are strings after splitting resolution
* feat: use jpeg instead of jpg, use enums instead of strings
* 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>