Skip to content

GUI howtos

fszontagh edited this page Jan 27, 2025 · 10 revisions

Image Output Filename Format

Starting from version 0.2.1, a new setting is available under Settings -> Diffusion that lets you customize the filenames of generated images (excluding the file extension).

You can use the following tags to define the filename structure:

Tag Description
[year] Current year
[month] Current month
[day] Current day
[hours] Hour of image creation
[minutes] Minute of image creation
[seconds] Second of image creation
[finished_at] Unix timestamp when the job finished
[created_at] Unix timestamp when the job was created
[updated_at] Unix timestamp when the job was updated
[jobid] Internal ID of the job
[seed] Initial seed used for the generation
[batch] Number of images generated in a single job
[width] Image width in pixels
[height] Image height in pixels
[mode] Generation mode (e.g., txt2img, img2img, upscale)
[model] Name of the model used
[model_sha256] sha256 of the base model. If the model is not hashed, it's an empty string
[steps] Number of steps used to generate the image
[steps_total] Total steps used (including tiling steps)
[cfg_scale] CFG scale value used
[denoising_strength] Denoising strength applied
[server_id] The ID of the server where the job started available from v0.2.5, empty if local
[server_name] The name of the server where job started available from v0.2.5, empty if local

Example

If you include a directory separator (/) in the filename, such as:

[mode]-[year]-[month]-[day]/[jobid]_[width]x[height]

a corresponding directory will be created in the output folder, and the images will be saved within it.

Conflict Handling

If a file with the same name already exists, the new image will be saved with a suffix in the format _\<number>.ext to avoid overwriting.

The default format is:

[mode]_[jobid]_[seed]_[width]x[height]

Forcing a Specific Backend

The GUI allows you to force the use of a specific Stable Diffusion C++ backend. These backends are compiled as separate shared libraries, and you can specify which one to load using the following parameters:

Parameter Backend
-avx stable-diffusion_avx
-avx2 stable-diffusion_avx2
-avx512 stable-diffusion_avx512
-cuda stable-diffusion_cuda
-hipblas stable-diffusion_hipblas
-vulkan stable-diffusion_vulkan

Note: Hipblas binaries are not released.

You can also build a custom backend using Stable Diffusion C++. Ensure that the GUI version matches the corresponding sd.cpp version (based on the Git tag) before launching the GUI with your custom backend.

Prompt presets / styles

Starting with version v0.2.3, prompt presets have been implemented using JSON format.
For predefined presets, you can utilize Fooocus presets, which are available here

In the GUI's data folders, you’ll find a prompt_templates folder where these .json files can be placed.
If a preset includes the {prompt} tag, it will be replaced with the original prompt. If no {prompt} tag is present in the preset, the prompt will simply be appended to the preset.

In the job queue list, when a job's generation settings are reloaded into the GUI, only the original prompts will be loaded, excluding the preset. However, the full prompt (including the preset) will be saved in the metadata of the generated images.

Example of a json file structure

[
    {
        "name": "sai-3d-model",
        "prompt": "professional 3d model {prompt} . octane render, highly detailed, volumetric, dramatic lighting",
        "negative_prompt": "ugly, deformed, noisy, low poly, blurry, painting"
    },
    {
        "name": "sai-analog film",
        "prompt": "analog film photo {prompt} . faded film, desaturated, 35mm photo, grainy, vignette, vintage, Kodachrome, Lomography, stained, highly detailed, found footage",
        "egative_prompt": "painting, drawing, illustration, glitch, deformed, mutated, cross-eyed, ugly, disfigured"
    }
]
Clone this wiki locally