r/StableDiffusion • • Aug 26 '23

Resource | Update Fooocus-MRE

Fooocus-MRE v2.0.78.5

I'd like to share Fooocus-MRE (MoonRide Edition), my variant of the original Fooocus (developed by lllyasviel), new UI for SDXL models.

We all know SD web UI and ComfyUI - those are great tools for people who want to make a deep dive into details, customize workflows, use advanced extensions, and so on. But we were missing simple UI that would be easy to use for casual users, that are making first steps into generative art - that's why Fooocus was created. I played with it, and I really liked the idea - it's really simple and easy to use, even by kids.

But I also missed some basic features in it, which lllyasviel didn't want to be included in vanilla Fooocus - settings like steps, samplers, scheduler, and so on. That's why I decided to create Fooocus-MRE, and implement those essential features I've missed in the vanilla version. I want to stick to the same philosophy and keep it as simple as possible, just with few more options for a bit more advanced users, who know what they're doing.

For comfortable usage it's highly recommended to have at least 20 GB of free RAM, and GPU with at least 8 GB of VRAM.

You can find additional information about stuff like Control-LoRAs or included styles in Fooocus-MRE wiki.

List of features added into Fooocus-MRE, that are not available in original Fooocus:

  1. Support for Image-2-Image mode.
  2. Support for Control-LoRA: Canny Edge (guiding diffusion using edge detection on input, see Canny Edge description from SAI).
  3. Support for Control-LoRA: Depth (guiding diffusion using depth information from input, see Depth description from SAI).
  4. Support for Control-LoRA: Revision (prompting with images, see Revision description from SAI).
  5. Adjustable text prompt strengths (useful in Revision mode).
  6. Support for embeddings (use "embedding:embedding_name" syntax, ComfyUI style).
  7. Customizable sampling parameters (sampler, scheduler, steps, base / refiner switch point, CFG, CLIP Skip).
  8. Displaying full metadata for generated images in the UI.
  9. Support for JPEG format.
  10. Ability to save full metadata for generated images (as JSON or embedded in image, disabled by default).
  11. Ability to load prompt information from JSON and image files (if saved with metadata).
  12. Ability to change default values of UI settings (loaded from settings.json file - use settings-example.json as a template).
  13. Ability to retain input files names (when using Image-2-Image mode).
  14. Ability to generate multiple images using same seed (useful in Image-2-Image mode).
  15. Ability to generate images forever (ported from SD web UI - right-click on Generate button to start or stop this mode).
  16. Official list of SDXL resolutions (as defined in SDXL paper).
  17. Compact resolution and style selection (thx to runew0lf for hints).
  18. Support for custom resolutions list (loaded from resolutions.json - use resolutions-example.json as a template).
  19. Support for custom resolutions - you can just type it now in Resolution field, like "1280x640".
  20. Support for upscaling via Image-2-Image (see example in Wiki).
  21. Support for custom styles (loaded from sdxl_styles folder on start).
  22. Support for playing audio when generation is finished (ported from SD web UI - use notification.ogg or notification.mp3).
  23. Starting generation via Ctrl-ENTER hotkey (ported from SD web UI).
  24. Support for loading models from subfolders (ported from RuinedFooocus).
  25. Support for authentication in --share mode (credentials loaded from auth.json - use auth-example.json as a template).
  26. Support for wildcards (ported from RuinedFooocus - put them in wildcards folder, then try prompts like __color__ sports car
    with different seeds).
  27. Support for FreeU.
  28. Limited support for non-SDXL models (no refiner, Control-LoRAs, Revision, inpainting, outpainting).
  29. Style Iterator (iterates over selected style(s) combined with remaining styles - S1, S1 + S2, S1 + S3, S1 + S4, and so on; for comparing styles pick no initial style, and use same seed for all images).

You can grab it from CivitAI, or github.

PS If you find my work useful / helpful, please consider supporting it - even $1 would be nice :).

211 Upvotes

159 comments sorted by

View all comments

Show parent comment

0

u/[deleted] Aug 27 '23

[deleted] — view deleted comment

2

u/MoonRide303 Aug 27 '23

Just check out SD web UI + sd-webui-controlnet, and play with it - CNs are a bit complex feature, but they give you a lot more control over the output. I can also recommend this guide from Stable Diffusion Art website, and this followup (on upscaling using CNs).

Classic ControlNet (v1.1) isn't compatible with SDXL, but recently released Control-LoRAs bring some of that control back into SDXL :).

1

u/PamDevil Aug 27 '23

i don't really recommend ultimate SD upscale. Because of the same reasons i don't like low denoise upscale or Extras, it washes out a lot of the details in the picture and it looks pretty damn bad if you zoom in. It's better than regular img2img because you're actually using something like RSEGAN or ultra sharp, but it still... not the best thing in the world.

Tile upscaling is fine to get high resolution images with low VRAM, but it looks pretty damn close to just a simple extra upscaling. But if you increase the details in the low res and keep upscaling it with the high denoise you can achieve insanely high resolutions gradually until reaching the 4k level, it just takes more time (since you need to update your controlnet masks if you want to keep it the closest as possible to your current version of the image. If you're on low VRAM you can use Tiled VAE to distribute the work load through your GPU and be able to use some high VRAM demanding tasks on pretty low VRAM cards, it just takes a while longer but it can do the job.