PromptZone - Leading AI Community for Prompt Engineering and AI Enthusiasts

Cover image for Fooocus Presets: Reproducible Setups for SDXL Images
Samir Mensah
Samir Mensah

Posted on

Fooocus Presets: Reproducible Setups for SDXL Images

Fooocus is built to hide settings, which is exactly why people pick it over Automatic1111 or ComfyUI. The part that gets overlooked is that all of those hidden settings live in a plain JSON file you can read, edit and share. Learn the preset format and you get a one-command way to switch the whole application between a photorealistic setup, an illustration setup and a fast-draft setup, without touching a slider.

What a preset is

Fooocus keeps a presets folder in its install directory. Each file in it is a JSON document describing a complete starting configuration: which base checkpoint to load, which LoRAs to apply and at what weight, which style templates to enable, the default aspect ratio, the sampler and scheduler, the guidance scale, and the performance mode.

You select one at launch:

python entry_with_update.py --preset realistic
Enter fullscreen mode Exit fullscreen mode

The argument is the filename without the .json extension. Recent versions also expose a preset selector in the interface itself; older ones need a restart. A stock install ships with several, including a realistic and an anime preset, and later releases added more targeting particular model families. Rather than trusting any list, open your own presets folder and read what is there. That folder is also the fastest way to learn the format, because every shipped preset is a worked example.

Row of faders and knobs on an audio mixing console

The fields that matter

Field What it controls
default_model The base checkpoint filename to load
default_refiner and default_refiner_switch Optional refiner model and the point in the schedule it takes over
default_loras A list of LoRA filenames with their weights
default_styles Which style templates are pre-selected
default_cfg_scale Guidance strength
default_sampler and default_scheduler The sampling method and noise schedule
default_aspect_ratio Starting output dimensions
default_prompt_negative A negative prompt applied by default
checkpoint_downloads and lora_downloads URLs Fooocus fetches automatically if the files are missing

That last row is the one that catches people out. Launching an unfamiliar preset can trigger a multi-gigabyte download before the interface appears. If your connection or your disk is limited, read the download entries before you run it.

Why this beats adjusting the interface

Three reasons, in order of how much time they save.

Reproducibility. Settings you clicked into the UI six weeks ago are gone. A preset file is a record you can diff, comment on and roll back. When output quality drops, you can see what changed instead of guessing.

Context switching. Product shots and comic panels want different checkpoints, different guidance and different styles. Restarting with a different preset flag takes seconds; rebuilding that configuration by hand every time does not.

Sharing. A preset is a few kilobytes of text. Sent to a colleague along with a prompt, it reproduces your setup on their machine, including pulling the models it needs.

Wooden filing box holding rows of handwritten index cards

Writing your own

  1. Copy an existing preset in the presets folder and rename the copy, for example product.json. Never edit the default in place; you will want something to fall back to.
  2. Set default_model to the exact filename of a checkpoint already in models/checkpoints. Exact means exact, including case and extension. A typo here means the preset silently falls back or errors on launch.
  3. Add LoRAs to default_loras with sensible weights. Around 0.6 to 0.8 is a reasonable starting band for most style LoRAs; higher tends to dominate the prompt.
  4. Choose the styles you want pre-enabled. Keep this short. Stacking many style templates produces an averaged look that fights whatever your checkpoint was fine-tuned for.
  5. Set the aspect ratio you use most for this kind of work, so you stop re-selecting it.
  6. Launch with --preset yourfilename, generate one image, and check the settings panel actually reflects the file. If a field did not apply, it is almost always a name mismatch.

Keep presets narrow. One preset per job produces files you can reason about; a single preset trying to cover everything ends up as a worse version of the default.

Presets and styles are different things

Styles in Fooocus are prompt-side templates: they wrap your text in additional descriptive language before it reaches the model. Presets are configuration-side: they decide which model that text reaches in the first place, and how it is sampled.

This matters when output is wrong. If the subject and composition are right but the look is off, that is a style or prompt problem. If the model is producing the wrong kind of image entirely, or generation is much slower or faster than expected, that is the preset.

A prompt for testing a preset

When you build a new preset, run the same prompt through it every time. A prompt with explicit lighting, camera angle and mood gives you a lot of signal about how a configuration behaves:

Princess Leia from Star Wars as a femme fatale in a 1930s black and white noir style reminiscent of German expressionist film, dramatic rim lighting to convey a menacing feeling, short lighting technique accentuating shadows, Dutch angle from a low angle framing her upper body, gloomy industrial dark alley setting, spooky atmosphere
Enter fullscreen mode Exit fullscreen mode

Two things to watch. First, named characters depend entirely on what the checkpoint knows; a heavily fine-tuned style model may have no idea who this is, in which case describe the wardrobe and hair instead. Second, the photographic terms carry real weight here. Rim lighting, short lighting and the Dutch angle are all well represented in training data, and swapping one out changes the image far more than adding another quality adjective would.

Empty alley at night with hard shadows and a single overhead light

Takeaways

  • Presets are editable JSON in the presets folder, selected with --preset name at launch.
  • Read the shipped presets first; they document the format better than any description of it.
  • Check the download fields before running an unfamiliar preset, or you may pull several gigabytes unexpectedly.
  • Filenames in a preset must match your local model files exactly, and a mismatch fails quietly.
  • Keep one narrow preset per type of work, and test each with a single fixed prompt so differences are attributable.

Top comments (0)