Command Line Arguments and Settings - linwownil/stable-diffusion-webui GitHub Wiki

webui-user

The recommended way to customize how the program is run is editing webui-user.bat (Windows) and webui-user.sh (Linux):

  • set PYTHON allows for setting a custom Python path
    • Example: set PYTHON=b:/soft/Python310/Python.exe
  • set VENV_DIR allows you to choose the directory for the virtual environment. Default is venv. Special value - runs the script without creating virtual environment.
    • Example: set VENV_DIR=C:\run\var\run will create venv in the C:\run\var\run directory.
    • Example: set VENV_DIR=- runs the program using the system's python
  • set COMMANDLINE_ARGS setting the command line arguments webui.py is ran with
    • Example: set COMMANDLINE_ARGS=--ckpt a.ckpt uses the model a.ckpt instead of model.ckpt

Command Line Arguments

Running online

Use the --share option to run online. You will get a xxx.app.gradio link. This is the intended way to use the program in collabs. You may set up authentication for said gradio shared instance with the flag --gradio-auth username:password, optionally providing multiple sets of usernames and passwords separated by commas.

Use --listen to make the server listen to network connections. This will allow computers on the local network to access the UI, and if you configure port forwarding, also computers on the internet.

Use --port xxxx to make the server listen on a specific port, xxxx being the wanted port. Remember that all ports below 1024 need root/admin rights, for this reason it is advised to use a port above 1024. Defaults to port 7860 if available.

All command line arguments

Argument Command Value Default Description
CONFIGURATION
-h, --help None False show this help message and exit
--exit Terminate after installation
--data-dir DATA_DIR ./ base path where all user data is stored
--config CONFIG configs/stable-diffusion/v1-inference.yaml path to config which constructs model
--ckpt CKPT model.ckpt path to checkpoint of stable diffusion model; if specified, this checkpoint will be added to the list of checkpoints and loaded
--ckpt-dir CKPT_DIR None Path to directory with stable diffusion checkpoints
--no-download-sd-model None False don't download SD1.5 model even if no model is found
--vae-dir VAE_PATH None Path to Variational Autoencoders model
--gfpgan-dir GFPGAN_DIR GFPGAN/ GFPGAN directory
--gfpgan-model GFPGAN_MODEL GFPGAN model file name
--codeformer-models-path CODEFORMER_MODELS_PATH models/Codeformer/ Path to directory with codeformer model file(s).
--gfpgan-models-path GFPGAN_MODELS_PATH models/GFPGAN Path to directory with GFPGAN model file(s).
--esrgan-models-path ESRGAN_MODELS_PATH models/ESRGAN Path to directory with ESRGAN model file(s).
--bsrgan-models-path BSRGAN_MODELS_PATH models/BSRGAN Path to directory with BSRGAN model file(s).
--realesrgan-models-path REALESRGAN_MODELS_PATH models/RealESRGAN Path to directory with RealESRGAN model file(s).
--scunet-models-path SCUNET_MODELS_PATH models/ScuNET Path to directory with ScuNET model file(s).
--swinir-models-path SWINIR_MODELS_PATH models/SwinIR Path to directory with SwinIR and SwinIR v2 model file(s).
--ldsr-models-path LDSR_MODELS_PATH models/LDSR Path to directory with LDSR model file(s).
--lora-dir LORA_DIR models/Lora Path to directory with Lora networks.
--clip-models-path CLIP_MODELS_PATH None Path to directory with CLIP model file(s).
--embeddings-dir EMBEDDINGS_DIR embeddings/ embeddings directory for textual inversion (default: embeddings)
--textual-inversion-templates-dir TEXTUAL_INVERSION_TEMPLATES_DIR textual_inversion_templates directory with textual inversion templates
--hypernetwork-dir HYPERNETWORK_DIR models/hypernetworks/ hypernetwork directory
--localizations-dir LOCALIZATIONS_DIR localizations/ localizations directory
--styles-file STYLES_FILE styles.csv filename to use for styles
--ui-config-file UI_CONFIG_FILE ui-config.json filename to use for ui configuration
--no-progressbar-hiding None False do not hide progressbar in gradio UI (we hide it because it slows down ML if you have hardware acceleration in browser)
--max-batch-count MAX_BATCH_COUNT 16 maximum batch count value for the UI
--ui-settings-file UI_SETTINGS_FILE config.json filename to use for ui settings
--allow-code None False allow custom script execution from webui
--share None False use share=True for gradio and make the UI accessible through their site (doesn't work for me but you might have better luck)
--listen None False launch gradio with 0.0.0.0 as server name, allowing to respond to network requests
--port PORT 7860 launch gradio with given server port, you need root/admin rights for ports < 1024, defaults to 7860 if available
--hide-ui-dir-config None False hide directory configuration from webui
--freeze-settings None False disable editing settings
--enable-insecure-extension-access None False enable extensions tab regardless of other options
--gradio-debug None False launch gradio with --debug option
--gradio-auth GRADIO_AUTH None set gradio authentication like "username:password"; or comma-delimit multiple like "u1:p1,u2:p2,u3:p3"
--gradio-auth-path GRADIO_AUTH_PATH None set gradio authentication file path ex. "/path/to/auth/file" same auth format as --gradio-auth
--disable-console-progressbars None False do not output progressbars to console
--enable-console-prompts None False print prompts to console when generating with txt2img and img2img
--api None False launch webui with API
--api-auth API_AUTH None Set authentication for API like "username:password"; or comma-delimit multiple like "u1:p1,u2:p2,u3:p3"
--api-log None False enable logging of all API requests
--nowebui None False only launch the API, without the UI
--ui-debug-mode None False Don't load model to quickly launch UI
--device-id DEVICE_ID None Select the default CUDA device to use (export CUDA_VISIBLE_DEVICES=0,1,etc might be needed before)
--administrator None False Administrator rights
--cors-allow-origins CORS_ALLOW_ORIGINS None Allowed CORS origin(s) in the form of a comma-separated list (no spaces)
--cors-allow-origins-regex CORS_ALLOW_ORIGINS_REGEX None Allowed CORS origin(s) in the form of a single regular expression
--tls-keyfile TLS_KEYFILE None Partially enables TLS, requires --tls-certfile to fully function
--tls-certfile TLS_CERTFILE None Partially enables TLS, requires --tls-keyfile to fully function
--server-name SERVER_NAME None Sets hostname of server
--gradio-queue None False Uses gradio queue; experimental option; breaks restart UI button
--skip-version-check None False Do not check versions of torch and xformers
--no-hashing None False disable sha256 hashing of checkpoints to help loading performance
PERFORMANCE
--xformers None False enable xformers for cross attention layers
--reinstall-xformers None False force reinstall xformers. Useful for upgrading - but remove it after upgrading or you'll reinstall xformers perpetually.
--force-enable-xformers None False enable xformers for cross attention layers regardless of whether the checking code thinks you can run it; do not make bug reports if this fails to work
--xformers-flash-attention None False enable xformers with Flash Attention to improve reproducibility (supported for SD2.x or variant only)
--opt-split-attention None False force-enables Doggettx's cross-attention layer optimization. By default, it's on for cuda enabled systems.
--opt-split-attention-invokeai None False force-enables InvokeAI's cross-attention layer optimization. By default, it's on when cuda is unavailable.
--opt-split-attention-v1 None False enable older version of split attention optimization that does not consume all the VRAM it can find
--opt-sub-quad-attention None False enable memory efficient sub-quadratic cross-attention layer optimization
--sub-quad-q-chunk-size SUB_QUAD_Q_CHUNK_SIZE 1024 query chunk size for the sub-quadratic cross-attention layer optimization to use
--sub-quad-kv-chunk-size SUB_QUAD_KV_CHUNK_SIZE None kv chunk size for the sub-quadratic cross-attention layer optimization to use
--sub-quad-chunk-threshold SUB_QUAD_CHUNK_THRESHOLD None the percentage of VRAM threshold for the sub-quadratic cross-attention layer optimization to use chunking
--opt-channelslast None False Enable alternative layout for 4d tensors, may result in faster inference only on Nvidia cards with Tensor cores (16xx and higher)
--disable-opt-split-attention None False force-disables cross-attention layer optimization
--disable-nan-check None False do not check if produced images/latent spaces have nans; useful for running without a checkpoint in CI
--use-cpu {all, sd, interrogate, gfpgan, bsrgan, esrgan, scunet, codeformer} None use CPU as torch device for specified modules
--no-half None False do not switch the model to 16-bit floats
--precision {full,autocast} autocast evaluate at this precision
--no-half-vae None False do not switch the VAE model to 16-bit floats
--upcast-sampling None False upcast sampling. No effect with --no-half. Usually produces similar results to --no-half with better performance while using less memory.
--medvram None False enable stable diffusion model optimizations for sacrificing a little speed for low VRM usage
--lowvram None False enable stable diffusion model optimizations for sacrificing a lot of speed for very low VRM usage
--lowram None False load stable diffusion checkpoint weights to VRAM instead of RAM
--always-batch-cond-uncond None False disables cond/uncond batching that is enabled to save memory with --medvram or --lowvram
FEATURES
--autolaunch None False open the webui URL in the system's default browser upon launch
--theme None Unset open the webui with the specified theme ("light" or "dark"). If not specified, uses the default browser theme
--use-textbox-seed None False use textbox for seeds in UI (no up/down, but possible to input long seeds)
--disable-safe-unpickle None False disable checking pytorch models for malicious code
--ngrok NGROK None ngrok authtoken, alternative to gradio --share
--ngrok-region NGROK_REGION us The region in which ngrok should start.
DEFUNCT OPTIONS
--show-negative-prompt None False does not do anything
--deepdanbooru None False does not do anything
--unload-gfpgan None False does not do anything.
--gradio-img2img-tool GRADIO_IMG2IMG_TOOL None does not do anything
--gradio-inpaint-tool GRADIO_INPAINT_TOOL None gdoes not do anything