Presets are JSON files stored in theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/lllyasviel/Fooocus/llms.txt
Use this file to discover all available pages before exploring further.
presets/ folder that define a complete generation configuration in one place — including which checkpoint and LoRAs to load, default styles, sampler, scheduler, CFG scale, aspect ratio, and even which model files to auto-download if they are missing. Switching a preset instantly reconfigures the entire pipeline, making it easy to jump between photorealistic, anime, and fast-generation workflows without manually adjusting every setting.
Built-in Presets
Fooocus ships with the following presets out of the box:| Preset | Launch Flag | Batch File | Main Checkpoint | Default Performance |
|---|---|---|---|---|
default | (none) | run.bat | juggernautXL_v8Rundiffusion.safetensors | Speed |
anime | --preset anime | run_anime.bat | animaPencilXL_v500.safetensors | Speed |
realistic | --preset realistic | run_realistic.bat | realisticStockPhoto_v20.safetensors | Speed |
lcm | --preset lcm | — | juggernautXL_v8Rundiffusion.safetensors | Extreme Speed |
lightning | --preset lightning | — | juggernautXL_v8Rundiffusion.safetensors | Lightning |
playground_v2.5 | --preset playground_v2.5 | — | playground-v2.5-1024px-aesthetic.fp16.safetensors | Speed |
pony_v6 | --preset pony_v6 | — | ponyDiffusionV6XL.safetensors | Speed |
sai | --preset sai | — | sd_xl_base_1.0_0.9vae.safetensors | Speed |
checkpoint_downloads, lora_downloads, embeddings_downloads, or vae_downloads sections are automatically fetched from the configured URLs the first time that preset is loaded.
Switching Presets
- Browser UI
- Command Line
From Fooocus 2.3.0 onward, you can switch presets directly in the web interface without restarting. Open the Preset dropdown (visible in the top section of the UI) and select any preset from the list. Fooocus will load the new configuration immediately.To prevent users from changing presets through the UI, launch with
--disable-preset-selection.Useful CLI Flags for Presets
| Flag | Description |
|---|---|
--preset PRESET | Load the named preset at startup |
--disable-preset-selection | Hide the preset dropdown in the browser UI, locking the current preset |
--always-download-new-model | Automatically download any model files declared in checkpoint_downloads / lora_downloads that are not present locally |
The previous_default_models Field
When Fooocus starts and the file named in default_model is not found on disk, it falls back through the list in previous_default_models in order, using the first one it finds. This ensures that users who already have an older version of a model can still load the preset without an immediate download.
Preset JSON Format
A preset file is a plain JSON object. All keys are optional — any key omitted from the preset file falls back to the value inconfig.txt or Fooocus’s built-in defaults. The default.json preset is shown below with annotations explaining each field:
Standard JSON does not allow comments (
//). The annotations above are for illustration only — remove them if you copy this block into a real preset file.Field Reference
Model fields
Model fields
| Field | Type | Description |
|---|---|---|
default_model | string | Checkpoint filename (must be in path_checkpoints) |
default_refiner | string | Refiner checkpoint filename, or "None" |
default_refiner_switch | float 0–1 | Fraction of total steps at which to swap to refiner |
default_vae | string | VAE filename, or "Default (model)" to use the checkpoint’s built-in VAE |
previous_default_models | list of strings | Ordered fallback list used when default_model is not found |
LoRA fields
LoRA fields
| Field | Type | Description |
|---|---|---|
default_loras | list | Each element is [enabled (bool), filename (str), weight (float)] |
default_loras_min_weight | float | Minimum LoRA weight the UI slider allows |
default_loras_max_weight | float | Maximum LoRA weight the UI slider allows |
default_max_lora_number | int | Number of LoRA rows shown in the UI |
Sampler and generation fields
Sampler and generation fields
| Field | Type | Description |
|---|---|---|
default_cfg_scale | float | Guidance scale (CFG) |
default_sample_sharpness | float | SAG sharpness enhancement weight |
default_sampler | string | Sampler key (e.g. "dpmpp_2m_sde_gpu") |
default_scheduler | string | Noise scheduler (e.g. "karras") |
default_performance | string | "Quality", "Speed", "Extreme Speed", "Lightning", or "Hyper-SD" |
default_overwrite_step | int | Override step count; -1 follows the performance mode |
default_overwrite_switch | int | Override refiner switch step; -1 follows preset |
default_aspect_ratio | string | Resolution as "width*height" |
default_image_number | int | Number of images per generation run |
Prompt and style fields
Prompt and style fields
| Field | Type | Description |
|---|---|---|
default_prompt | string | Pre-filled positive prompt |
default_prompt_negative | string | Pre-filled negative prompt |
default_styles | list of strings | Active style names loaded at startup |
Download fields
Download fields
| Field | Type | Description |
|---|---|---|
checkpoint_downloads | object | { "filename": "url", … } — downloaded if file is missing |
lora_downloads | object | { "filename": "url", … } |
embeddings_downloads | object | { "filename": "url", … } |
vae_downloads | object | { "filename": "url", … } |
Creating a Custom Preset
Create the JSON file
Create a new file in the
presets/ directory. The file name (without .json) becomes the preset name.Define your configuration
Add the keys you want to override. You only need to include the fields you are changing — anything omitted falls back to
config.txt defaults.