v2026.07.14.2 — Beta
🧬 Train on your own weights
Every training family's base picker (SDXL, Krea 2, FLUX.1, FLUX.2 Klein) now accepts a free local path to a .safetensors — fine-tune a variant of the base model without waiting for it to be listed. SDXL additionally gains optional separate VAE and text-encoder paths (the one architecture where ai-toolkit honors them natively). Z-Image keeps its one-time conversion flow.
Honest guardrails, because a silently-wrong component is worse than an error:
- fields you can't actually override on a family are rejected, not ignored (FLUX.2 Klein's text encoder is pinned upstream; Z-Image bundles TE+VAE),
- the launch preflight reads the safetensors header and checks the tensor layout matches the family — an unverifiable file asks "train anyway?" instead of guessing,
- two different custom combos can never share a run folder,
- the resolved paths are recorded in the run's provenance and the ⎘ Share config export (home paths redacted),
- cloud runs refuse custom weights outright (local-only) rather than silently training on the official base.
Suggested by SubtleShader on Discord — from feedback to shipped in a day. Keep them coming.