Custom Models & LoRA
mold works best when models come from the built-in manifest, but you can also point it at manual weight paths or set per-model defaults in config.toml.
Manual Model Entries
The [models] table lets you define or override model paths and defaults:
[models."flux-dev:q4"]
transformer = "/srv/mold/models/flux1-dev-Q4_1.gguf"
vae = "/srv/mold/models/ae.safetensors"
t5_encoder = "/srv/mold/models/t5xxl_fp16.safetensors"
clip_encoder = "/srv/mold/models/clip_l.safetensors"
t5_tokenizer = "/srv/mold/models/t5.tokenizer.json"
clip_tokenizer = "/srv/mold/models/clip.tokenizer.json"
default_steps = 25
default_guidance = 3.5This is useful when:
- you keep weights outside the default Hugging Face cache layout
- you want a custom local model definition
- you want per-model defaults without repeating CLI flags
Path Override Environment Variables
If you need a one-off override, environment variables take precedence over the config file. See Configuration for the full list, including:
MOLD_TRANSFORMER_PATHMOLD_VAE_PATHMOLD_SPATIAL_UPSCALER_PATHMOLD_T5_PATHMOLD_CLIP_PATHMOLD_TEXT_TOKENIZER_PATHMOLD_DECODER_PATH
These are primarily debugging and advanced deployment tools, not the normal path for day-to-day use.
LoRA Defaults
For LoRA-capable models, you can keep a default adapter in config:
[models."flux-dev:q4"]
lora = "/path/to/style.safetensors"
lora_scale = 0.8At runtime, CLI flags still win:
mold run flux-dev:q4 "portrait" --lora another-style.safetensors --lora-scale 1.1Multi-LoRA Stacking
Pass --lora more than once to stack adapters. The deltas merge additively into the base weights — W' = W + Σ scale_i · B_i @ A_i — so the result is the same as composing two style edits in series, but only one transformer build is required:
mold run flux-dev "an epic portrait" \
--lora cinematic.safetensors --lora-scale 0.8 \
--lora moody-light.safetensors --lora-scale 0.4The web UI's LoRA picker stacks up to 4 LoRAs per generation; each row gets its own scale slider and remove button.
Browsing & Installing LoRAs
The web Catalog tab searches Hugging Face and Civitai live. Open Catalog, choose a family, click the LoRAs chip, then Install on the LoRA you want. Once installed, it appears in compatible Generate → Settings → LoRA pickers.
The same flow is available over the server API:
# Search installable FLUX LoRAs
curl "http://localhost:7680/api/catalog/search?q=cinematic&family=flux&kind=lora"
# Install by catalog id; cv: and hf: ids are both supported
curl -X POST "http://localhost:7680/api/catalog/cv:1234567/download"
# List installed LoRAs for a family
curl "http://localhost:7680/api/catalog/installed?kind=lora&family=flux"Catalog downloads may also queue companion files such as tokenizers, VAEs, text encoders, or LTX-2 support assets. See Model Discovery Catalog for the complete API surface.
Civitai Trigger Words
LoRAs trained with explicit trigger phrases (Civitai trainedWords) surface those phrases as click-to-insert chips next to the LoRA picker in the web UI. Clicking a chip appends the phrase to the active prompt with sensible comma-separation — no more flipping back to the Civitai page to copy/paste.
LoRA Rules
- Supported families: FLUX, Flux.2, LTX-2, SD1.5, SD3, SDXL, Qwen-Image (+ Qwen-Image-Edit), Z-Image. Wuerstchen and LTX-Video are not yet wired — attaching a LoRA there returns a 400 with the current supported-family list. (Source of truth:
mold-core::validation::require_lora_capable_family.) .safetensorsonly- scale must be between
0.0and2.0 - the server resolves the path on the machine doing inference
That last point matters for remote setups. If you call a remote mold serve, the LoRA file path must exist on the server host.
Auto-Pulled Models vs Manual Paths
If you use the built-in manifest:
mold pulldownloads shared files oncemold listandmold infoknow the model metadata- checksums and
.pullingmarkers work normally
If you bypass the manifest with custom paths:
- you own the file layout
- you own any upgrades or replacements
- docs and tooling will know less about that model automatically
Good Defaults
For most users:
- use manifest-backed models first
- add per-model defaults in
config.toml - use env-path overrides only for debugging or special deployments
