{
 "note": "Hand-curated. 'unknown' = no data yet.",
 "models": [
  {
   "id": "fibo2",
   "name": "Fibo 2.0 / Edit Turbo (Bria, 8B, CC BY-NC 4.0)",
   "status": "Released Oct 20, 2026. BriaFibo2Pipeline is in diffusers main (no release yet, so install diffusers from source). Trainer support is pending: ai-toolkit, OneTrainer, musubi-tuner, kohya sd-scripts and SimpleTuner have no Fibo 2.0 support yet (checked Oct 21). You can train LoRAs today with Bria's own trainer, the diffusers DreamBooth scripts (open PR) or AcademiaSD LoRAlab. Non-commercial license: commercial use needs a paid agreement with Bria.",
   "trainers": {
    "ai-toolkit": "unknown (no Fibo 2.0 support or PR yet, Oct 21)",
    "OneTrainer": "unknown (no Fibo 2.0 support or PR yet, Oct 21)",
    "musubi-tuner": "unknown (no Fibo 2.0 support or PR yet, Oct 21)",
    "kohya sd-scripts": "unknown (no Fibo 2.0 support or PR yet, Oct 21)",
    "SimpleTuner": "unknown (no Fibo 2.0 support or PR yet, Oct 21)"
   },
   "vram": "LoRA training: ~8.7 GB at 512px, rank 8 on an RTX 5080 with AcademiaSD LoRAlab's NF4 build. Weight sizes: transformer 16.45 GB bf16 or 8.41 GB int8 ConvRot; Qwen3-VL-4B text encoder 8.88 GB bf16 or 4.86 GB int8; FLUX.2 VAE 0.34 GB. Bria's self-hosted inference package asks for a 40 GB GPU. Forge edit plugin starting points: 12 GB at 512-768px, 16 GB at 768-1024px (estimated on an RTX 3090, not measured on 12/16 GB cards). Full bf16 LoRA training at 1024px: unknown",
   "settings": [
    "License: CC BY-NC 4.0, non-commercial use only. Commercial use (client work, paid gigs, products) needs a separate paid agreement with Bria; LoRAs trained on it are derivatives under the same terms",
    "Gated on Hugging Face: fill in Bria's access form (company, intended use) on the model page or downloads fail",
    "Train on Fibo 2.0 Dev. Edit Turbo is distilled for 4-step editing and is not meant for fine-tuning",
    "One set of weights does text-to-image and editing, so a single LoRA can learn a style or domain and how to edit within it",
    "Bria's own trainer: fine_tuning/train_lora.py in the Fibo-2.0-dev repo is a single-GPU LoRA trainer for both text-to-image and edit LoRAs; its README recommends JSON captions",
    "Bria's suggested LoRA start: rank 64 (alpha = rank), LR 1e-4 constant, 1024px, gradient accumulation 8, LoRA on every linear layer",
    "Captions: Fibo 2.0 is trained on structured JSON (VGL) captions; caption your dataset in the form you will prompt with. Plain sentences work and are used as the short_description. bria-vgl writes the JSON from a short prompt (it calls Gemini, so it needs a GEMINI_API_KEY)",
    "In practice JSON captions and plain captions give the same result, so plain captions are fine for a first run",
    "Training on Dev shows likeness by about step 300. Realistic subjects train well; anime results are mixed",
    "Edit LoRAs train on (source image, target image, instruction) triplets; the diffusers edit trainer raises max_sequence_length to 1024 because the source image's vision tokens count toward it (~576 tokens at 768px)",
    "diffusers LoRA trainers (PR #15084, still open, waiting on a rebase): train_dreambooth_lora_bria_fibo2.py (text-to-image) and _img2img.py (edit); transformer-only LoRA, text encoder and VAE frozen; needs transformers>=5.20.1. Memory flags: --cache_latents, --gradient_checkpointing, --use_8bit_adam, --offload, bitsandbytes quantized training, --do_fp8_training",
    "diffusers: BriaFibo2Pipeline is in main since Oct 20 (PR #14991) but not in a release yet (latest v0.41.0), so install diffusers from source (pip install git+https://github.com/huggingface/diffusers)",
    "AcademiaSD LoRAlab Trainer Studio trains Fibo 2.0 LoRAs from 8 GB using an NF4 build of Dev, and exports LoRAs in ComfyUI's format",
    "Resolution: ~1 MP, sides in multiples of 16 (1024x1024, 1424x800 for 16:9, 1248x832 for 3:2)",
    "Inference, Dev: 50 steps, CFG 5 (diffusers card); ComfyUI's native support uses Dev 30 steps, CFG 5 and Edit Turbo 4 steps, CFG 1, euler/simple",
    "Dev in ComfyUI that works: 50 steps, CFG 5, euler/simple, no negative prompt, 1 MP auto-resize",
    "Edits take a mask (white = regenerate) and up to 4 reference images, referred to as <image_1>, <image_2>...",
    "Edit mode is weak at small edits such as removing makeup and tends to redraw the whole head; describe the hair in the prompt to keep it",
    "Two-reference prompts work well: \"the woman in image 1 and image 2 is now ...\"",
    "ComfyUI native support (Dev and Edit Turbo) is on master (PR #17240, merged Oct 21), not in a stable release yet, so use the latest nightly/beta. Repackaged files: Comfy-Org/Fibo-2.0. ComfyUI-Fibo2 custom nodes run Edit Turbo on ComfyUI 0.42.0 (tested on an RTX 4090)",
    "ComfyUI: the int8 ConvRot Qwen3-VL text encoder errors with vision inputs (issue #17248, no fix yet); use the bf16 or fp8 scaled text encoder",
    "Architecture: 8B flow-matching single-stream DiT (44 blocks), FLUX.2 VAE, Qwen3-VL-4B-Instruct text encoder with a Perceiver that compresses it to 256-512 gist tokens",
    "Artificial Analysis (Oct 20): #1 open-weights model for image editing (Elo 1087, just ahead of Qwen-Image-2.1 at 1083) and #2 open-weights for text-to-image behind Qwen-Image-2.1",
    "Trained only on licensed data (~1B-image Bria dataset)",
    "Community take: Edit Turbo is very fast at 4 steps and good with references and object removal, but struggles with complex prompts and several references at once, and outputs stay around 1 MP. Many people prefer MOSS Image or Krea 2 for text-to-image looks"
   ],
   "sources": [
    "https://huggingface.co/briaai/Fibo-2.0-dev",
    "https://huggingface.co/briaai/Fibo-2.0-edit-turbo",
    "https://huggingface.co/briaai/Fibo-2.0-dev/blob/main/fine_tuning/train_lora.py",
    "https://huggingface.co/briaai/Fibo-2.0-dev/blob/main/fine_tuning/README.md",
    "https://platform.bria.ai/licensing/pricing?model=fibo-2",
    "https://creativecommons.org/licenses/by-nc/4.0/deed.en",
    "https://github.com/huggingface/diffusers/pull/14991",
    "https://github.com/huggingface/diffusers/pull/15084",
    "https://github.com/Bria-AI/vgl",
    "https://huggingface.co/AcademiaSD/Fibo-2.0-NF4-for-LoRA-Training",
    "https://github.com/AcademiaSD/AcademiaSD_LoRAlab-TrainerStudio",
    "https://github.com/Comfy-Org/ComfyUI/pull/17240",
    "https://huggingface.co/Comfy-Org/Fibo-2.0",
    "https://github.com/Comfy-Org/ComfyUI/issues/17248",
    "https://github.com/drphero/ComfyUI-Fibo2",
    "https://github.com/Bria-AI/BYOC",
    "https://github.com/tranquil222/forge-image-edit",
    "https://www.reddit.com/r/StableDiffusion/comments/1xbc8sl/image_edit_plugin_for_forge_neo_supports_qwen_21/",
    "https://www.reddit.com/r/StableDiffusion/comments/1xbfjik/thoughts_on_fibo_20_image_editing/",
    "https://artificialanalysis.ai/image/leaderboard/editing/open-weights",
    "https://artificialanalysis.ai/image/leaderboard/text-to-image/open-weights",
    "https://x.com/MishaFein/status/2112559463525961943"
   ]
  },
  {
   "id": "flux3-klein",
   "name": "FLUX.3 Image Klein (BFL)",
   "trainers": {
    "ai-toolkit": "supported (day-0, PR #1078 merged Oct 15; fixes Oct 15)",
    "OneTrainer": "unknown",
    "musubi-tuner": "unknown",
    "kohya sd-scripts": "unknown",
    "SimpleTuner": "supported (Base + distilled klein recipes, 24-144 GB)"
   },
   "vram": "SimpleTuner recipes: Base from 24 GB (512px, batch 3) up to 144 GB; distilled klein at 24 GB (768px, batch 1) or 80 GB (1024px, batch 4)",
   "settings": [
    "Open weights, gated on Hugging Face: click 'Agree and access' on the model page or downloads fail with 403",
    "Mixed early reception; watch for anatomy issues",
    "Base model sampling: ~50 steps, CFG 3.5",
    "LoRA strength ~1.3 at inference",
    "Character LoRAs come out weak at the default rank 16/32; go higher",
    "SimpleTuner recipes: rank-32 LoRA, LR 1e-4, REPA; distilled klein auto-loads a published training-assistant LoRA (strength 1.0 in training, 0.0 at validation; disable_assistant_lora to turn off)",
    "ai-toolkit edit training with several control images used only one until a fix on Oct 17; update before training edit LoRAs",
    "A FLUX.2 dataset and recipe carried over unchanged doesn't work well; long upsampled prompts with JSON bounding boxes at ~2 MP sample better"
   ],
   "sources": [
    "https://huggingface.co/black-forest-labs/flux-3-image-klein-base",
    "https://github.com/ostris/ai-toolkit/pull/1078",
    "https://github.com/ostris/ai-toolkit/commit/438595b",
    "https://github.com/ostris/ai-toolkit/commit/0947356",
    "https://github.com/bghira/SimpleTuner/blob/main/documentation/quickstart/FLUX3_IMAGE.md",
    "https://github.com/bghira/SimpleTuner/commit/1cc48ca",
    "https://huggingface.co/SimpleTuner/flux-3-klein-image-training-assistant",
    "https://github.com/ostris/ai-toolkit/commit/9d408eb"
   ]
  },
  {
   "id": "moss-image",
   "name": "MOSS Image (OpenMOSS, ~5B, Apache 2.0)",
   "trainers": {
    "ai-toolkit": "supported (SFT + Base, Oct 16; edit training Oct 17)",
    "OneTrainer": "unknown",
    "musubi-tuner": "unknown",
    "kohya sd-scripts": "supported (v0.12.2, Oct 20; LoRA incl. ConvRot INT8, faster H2D-only block swap)",
    "SimpleTuner": "supported (v4.10.0, Oct 17; Base/SFT incl. edit LoRAs)"
   },
   "vram": "kohya sd-scripts guide (1024px, batch 1, LoRA dim 16, AdamW, gradient checkpointing, text encoder outputs cached): ~13 GB training with bf16 DiT, ~9 GB with ConvRot INT8 DiT + text encoder, ~5-7 GB adding block swap (needs ~15 GB system RAM). v0.12.2's H2D-only block swap on an RTX 3090 (bf16, 1024px, batch 1, --blocks_to_swap 36): ~7 GB at 9.4 s/step vs 11.7 s/step with classic block swap. Caching text encoder outputs needs ~8.3 GB even in INT8, so 8 GB GPUs are not supported yet. Training the text encoder LoRA too: ~17 GB INT8, ~32 GB bf16. SimpleTuner ships 24, 32, 48, 80 and 144 GB recipes at 512px. ai-toolkit: ~15 GB at batch 2, 1024px, AdamW",
   "settings": [
    "Learns fast",
    "Tokenizer loading bug fixed same day (Oct 16) in ai-toolkit; update before training",
    "SFT variant: stripe artifacts, no fix yet",
    "sd-scripts: fp8_base is not supported for MOSS Image; use --convrot_int8 (and --convrot_int8_text_encoder) instead",
    "sd-scripts: --timestep_sampling sigma --weighting_scheme logit_normal --logit_mean -1.09 --logit_std 0.95 --discrete_flow_shift 1.0 reproduces pre-training; simpler alternative: --timestep_sampling shift --discrete_flow_shift 3.0",
    "sd-scripts example: LR 1e-4 constant at network_alpha 1 (lower LR if you raise alpha)",
    "SimpleTuner recipes: rank-32 LoRA, LR 1e-4, REPA, 4,000 steps, 512px-area training; validate at 50 steps, CFG 3, 1024px",
    "Edit/reference LoRAs: SimpleTuner model_flavour sft-edit or base-edit with matching target and reference folders; ai-toolkit also trains Base and SFT as edit models",
    "Base LoRA with ai-toolkit defaults (adamw8bit, shift timesteps, rank 32) gives a good style by ~1,500 steps; Base-trained LoRAs also work on SFT",
    "Try a higher LoRA rank than usual (smaller hidden size than Krea 2); character LoRAs are hard to get right so far",
    "Full fine-tunes on small datasets collapse after a few epochs; use LoRA unless you have a very large dataset",
    "ComfyUI \"lora key not loaded\": ai-toolkit now saves unfused q/k/v LoRA keys (Oct 17); use the Comfy-Org MOSS files to fix it",
    "ai-toolkit low_vram + cache_text_embeddings could OOM at startup because the text encoder stayed on the GPU; fixed in ai-toolkit on Oct 17, so update first",
    "Inference: an SFT LoRA at ~0.6 strength with the Base model at 30 steps, CFG 3 works well; 8-step DMD LoRAs exist for SFT and Base but can weaken LoRA effect",
    "Base DMD2 speed LoRA is final (update 3000, Oct 20): stock Euler, 4-8 steps, CFG 1",
    "Testing your LoRA's likeness: skip Kromoss and turbo/DMD speed LoRAs, use 50 steps, CFG 2 and LoRA strength ~1.5, and generate at 1.5 MP or more (2-3 MP is best)",
    "OpenMOSS user guide: keep the text encoder frozen when training on MOSS Image Base",
    "OpenMOSS user guide, captioning: an LLM prompt that returns JSON with long, medium and short captions; recommended captioners are Gemma 4, Qwen 3.5 27B or Qwen 3.5 35B-A3B with thinking mode on",
    "OpenMOSS user guide, Base inference: 50+ steps, CFG 3 (3-6 for short prompts), shift 5, Euler sampler",
    "Using the whole JSON caption output as the caption works well; ai-toolkit accepts .json caption files",
    "Standard LoRA recipe that trains well on Base: LoRA on attention + MLP, rank 32, alpha 32, AdamW LR 1e-4 (betas 0.9/0.95, weight decay 0.01), grad clip 1.0, cosine schedule with 100 warmup steps and min multiplier 0.1, bf16, text encoder and VAE frozen, ~1 MP (1024²) with aspect ratio kept, no min-SNR",
    "Low-VRAM ai-toolkit LoKr on Base: rank 4 LoKr, 8-bit quantization, low VRAM on, text encoder fully offloaded, transformer 50% offloaded",
    "A Krea 2 config pasted straight into MOSS Image gives poor results; start from MOSS-specific settings",
    "sd-scripts v0.12.2: cache several caption variants per image (for example the long, medium and short captions) and pick one at random each step; before, only the first was kept",
    "sd-scripts v0.12.2 H2D-only block swap: add --block_swap_h2d_only to --blocks_to_swap (needs --gradient_checkpointing; optional --block_swap_ring_size, default 2, and --use_pinned_memory_for_block_swap). MOSS Image LoRA on an RTX 3090 at 1024px, batch 1, 36 blocks swapped: 9.4 s/step instead of 11.7 (~20% faster) at ~7 GB VRAM. LoRA only, not full fine-tuning",
    "sd-scripts: if you train the text encoder LoRA, don't cache text encoder outputs; older LoRA command examples in the docs did both (fixed in v0.12.2)",
    "Kromoss: Apache 2.0 full fine-tune of Base that fixes Base's blurriness; drop-in for SFT files and workflows (50 steps, CFG 3), with an 8-step turbo LoRA (8 steps, CFG 1, euler/simple) and, since Oct 20, an 8-steps DMD2 LoRA (8 steps, 4 also works, CFG 1, strength 1). Still being updated (update 11000 on Oct 20)",
    "Kromoss int8 ConvRot single file (~5.4 GB) runs in ComfyUI on smaller GPUs; its convert_to_comfy.py turns your own MOSS Image diffusers fine-tune into a ComfyUI single file",
    "ai-toolkit \"no module named fla\" (flash-linear-attention) in Docker: fixed Oct 19, so pull the latest version and update dependencies; prompt encoding at batch size above 1 also got faster the same day",
    "ComfyUI v0.42.1 fixes crashes in the MOSS Image template workflow; ComfyUI master adds MOSS RoPE scaling (ScaleRope node) for higher resolutions and a MOSS color/depth control node",
    "RoPE scaling for high-res MOSS works best at partial strength; an experimental hi-res reference LoRA using depth/color maps reaches ~8K without duplicated subjects",
    "If SFT feels stiff: extract SFT as a LoRA and apply it to Base at ~0.5 strength",
    "SimpleTuner: LoKr training with torch.compile needs LyCORIS 4.1.3, which SimpleTuner requires since Oct 20"
   ],
   "sources": [
    "https://huggingface.co/OpenMOSS-Team/MOSS-Image-SFT",
    "https://huggingface.co/OpenMOSS-Team/MOSS-Image-Base",
    "https://github.com/ostris/ai-toolkit/commit/e05a3a4",
    "https://github.com/ostris/ai-toolkit/commit/c6a9b56",
    "https://github.com/ostris/ai-toolkit/commit/29f5ff4",
    "https://github.com/kohya-ss/sd-scripts/blob/main/docs/moss_image_train_network.md",
    "https://github.com/kohya-ss/sd-scripts/releases/tag/v0.12.1",
    "https://github.com/bghira/SimpleTuner/blob/main/documentation/quickstart/MOSS_IMAGE.md",
    "https://github.com/bghira/SimpleTuner/releases/tag/v4.10.0",
    "https://github.com/ostris/ai-toolkit/commit/b7cd8a1",
    "https://github.com/ostris/ai-toolkit/commit/82e6311",
    "https://github.com/ostris/ai-toolkit/commit/9a1828f",
    "https://github.com/ostris/ai-toolkit/commit/8cf43dd",
    "https://huggingface.co/Comfy-Org/MOSS-Image",
    "https://huggingface.co/lodestones/MOSS-Image-SFT-8-steps-dmd",
    "https://huggingface.co/lodestones/MOSS-Image-Base-8-steps-dmd",
    "https://github.com/OpenMOSS/MOSS-Image/blob/main/USERGUIDE.md",
    "https://huggingface.co/lodestones/Kromoss",
    "https://github.com/kohya-ss/sd-scripts/pull/2466",
    "https://github.com/ostris/ai-toolkit/commit/0473387",
    "https://github.com/ostris/ai-toolkit/commit/2d4c89d",
    "https://github.com/Comfy-Org/ComfyUI/releases/tag/v0.42.1",
    "https://github.com/Comfy-Org/ComfyUI/pull/17172",
    "https://github.com/Comfy-Org/ComfyUI/pull/17206",
    "https://github.com/kohya-ss/sd-scripts/releases/tag/v0.12.2",
    "https://github.com/kohya-ss/sd-scripts/pull/2467",
    "https://github.com/kohya-ss/sd-scripts/blob/main/docs/block_swap.md",
    "https://github.com/kohya-ss/sd-scripts/pull/2468",
    "https://github.com/bghira/SimpleTuner/pull/3290"
   ]
  },
  {
   "id": "iris-3b",
   "name": "Iris 3B (pixel-space, Apache 2.0)",
   "trainers": {
    "ai-toolkit": "supported (Oct 9)",
    "OneTrainer": "unknown",
    "musubi-tuner": "unknown",
    "kohya sd-scripts": "unknown",
    "SimpleTuner": "unknown"
   },
   "vram": "~4 GB with a community int8 build",
   "settings": [
    "unknown"
   ],
   "sources": [
    "https://huggingface.co/speridlabs/iris-3b",
    "https://github.com/ostris/ai-toolkit/commit/2fa0bd8"
   ]
  },
  {
   "id": "qwen-image-2.1",
   "name": "Qwen-Image-2.1 / 2.1 Turbo",
   "trainers": {
    "ai-toolkit": "supported (Sep 20; Turbo via training adapter Oct 10)",
    "OneTrainer": "unknown",
    "musubi-tuner": "unknown",
    "kohya sd-scripts": "unknown",
    "SimpleTuner": "Turbo alternative: assistant LoRA"
   },
   "vram": "unknown",
   "settings": [
    "Train Turbo with ai-toolkit's distillation/training adapter",
    "One model for generation and edit; it edits when the dataset has control images (ai-toolkit README)",
    "ai-toolkit default guidance for Qwen Image: 3",
    "LoRAs trained on the non-Turbo model transfer to Turbo, but adapter-trained Turbo LoRAs come out better",
    "Stronger than FLUX.3 for edit-style LoRAs on the same dataset"
   ],
   "sources": [
    "https://huggingface.co/Qwen/Qwen-Image-2.1",
    "https://huggingface.co/Qwen/Qwen-Image-2.1-Turbo",
    "https://github.com/ostris/ai-toolkit/commit/c2622ed",
    "https://github.com/ostris/ai-toolkit/commit/f370e74",
    "https://github.com/ostris/ai-toolkit/commit/474948a"
   ]
  },
  {
   "id": "ming-image",
   "name": "Ming-Image-0.1-Design (inclusionAI, MIT)",
   "trainers": {
    "ai-toolkit": "supported (fine-tune, Sep 23; training adapter by default)",
    "OneTrainer": "unknown",
    "musubi-tuner": "unknown",
    "kohya sd-scripts": "unknown",
    "SimpleTuner": "unknown"
   },
   "vram": "unknown",
   "settings": [
    "unknown"
   ],
   "sources": [
    "https://huggingface.co/inclusionAI/Ming-Image-0.1-Design",
    "https://github.com/ostris/ai-toolkit/commit/77847d7"
   ]
  },
  {
   "id": "krea2",
   "name": "Krea 2 / Krea 2 Turbo",
   "trainers": {
    "ai-toolkit": "supported (Raw + Turbo, incl. edit training)",
    "OneTrainer": "supported (Krea 2 16 GB preset benchmarked in OneTrainer PR #1680; not in README list)",
    "musubi-tuner": "supported (fp8 / ConvRot int8 base)",
    "kohya sd-scripts": "not listed",
    "SimpleTuner": "supported"
   },
   "vram": "Not published by trainers. musubi: 12GB+ recommended for image training (general guidance); fp8 or --convrot_int8 halves weight VRAM",
   "settings": [
    "Natural-language captions, ~70-500 words; shorter captions lock features harder",
    "Diverse dataset (varied expressions/angles)",
    "Train at 1024px or higher",
    "Batch size >= 2 if VRAM allows",
    "Training at 512px can work for output up to ~2MP; add higher-res buckets gradually",
    "ai-toolkit downscales images larger than 1536px",
    "Automagic3 can give weaker LoRAs than v1/v2; pair it with LoKr factor 8 or 4 and sigmoid timesteps (that's my recipe)",
    "EMA in ai-toolkit makes no noticeable difference; Automagic v3 already behaves a lot like EMA",
    "OneTrainer preview-2 branch (not master yet): LoRA on 8-bit quantized Krea 2 trains ~1.2x faster (16 GB preset); FLUX.2 16 GB preset ~1.3x; faster 8-bit math on RTX 50-series; DoRA not sped up"
   ],
   "sources": [
    "https://blog.hinablue.me/krea2-lora-trainer/",
    "https://www.reddit.com/r/StableDiffusion/comments/1vrkd5x/which_platform_should_i_use_to_train_lora/",
    "https://sanj.dev/post/onetrainer-vs-kohya-ss-vs-ai-toolkit/",
    "https://github.com/ostris/ai-toolkit#readme",
    "https://github.com/kohya-ss/musubi-tuner#readme",
    "https://github.com/kohya-ss/musubi-tuner/blob/main/docs/krea2.md",
    "https://github.com/bghira/SimpleTuner#readme",
    "https://github.com/Nerogar/OneTrainer/pull/1680"
   ]
  },
  {
   "id": "flux2-dev",
   "name": "FLUX.2 dev (32B)",
   "trainers": {
    "ai-toolkit": "supported (reference)",
    "OneTrainer": "supported",
    "musubi-tuner": "supported",
    "kohya sd-scripts": "experimental",
    "SimpleTuner": "supported"
   },
   "vram": "80 GB recommended; ai-toolkit ships train_lora_flux_24gb.yaml",
   "settings": [
    "Start from ai-toolkit train_lora_flux_24gb.yaml",
    "OneTrainer preview-2 branch (not master yet): LoRA on 8-bit quantized FLUX.2 trains ~1.3x faster with the 16 GB preset; DoRA not sped up"
   ],
   "sources": [
    "https://sanj.dev/post/onetrainer-vs-kohya-ss-vs-ai-toolkit/",
    "https://github.com/nerogar/OneTrainer",
    "https://github.com/ostris/ai-toolkit#readme",
    "https://github.com/kohya-ss/musubi-tuner#readme",
    "https://github.com/bghira/SimpleTuner#readme",
    "https://github.com/Nerogar/OneTrainer/pull/1680"
   ]
  },
  {
   "id": "flux2-klein",
   "name": "FLUX.2 klein (4B)",
   "trainers": {
    "ai-toolkit": "supported (klein base 4B and 9B)",
    "OneTrainer": "supported",
    "musubi-tuner": "supported",
    "kohya sd-scripts": "unknown",
    "SimpleTuner": "unknown (Flux.2 listed; variant not stated)"
   },
   "vram": "12-16 GB",
   "settings": [
    "unknown"
   ],
   "sources": [
    "https://sanj.dev/post/onetrainer-vs-kohya-ss-vs-ai-toolkit/",
    "https://github.com/nerogar/OneTrainer",
    "https://github.com/ostris/ai-toolkit#readme",
    "https://github.com/kohya-ss/musubi-tuner#readme"
   ]
  },
  {
   "id": "zimage",
   "name": "Z-Image",
   "trainers": {
    "ai-toolkit": "supported (Z-Image, Turbo, De-Turbo)",
    "OneTrainer": "supported",
    "musubi-tuner": "supported",
    "kohya sd-scripts": "not listed",
    "SimpleTuner": "supported"
   },
   "vram": "Not published. musubi: 12GB+ recommended for image training (general); --fp8_llm saves VRAM",
   "settings": [
    "unknown"
   ],
   "sources": [
    "https://github.com/nerogar/OneTrainer",
    "https://www.reddit.com/r/StableDiffusion/comments/1vrkd5x/which_platform_should_i_use_to_train_lora/",
    "https://github.com/ostris/ai-toolkit#readme",
    "https://github.com/kohya-ss/musubi-tuner#readme",
    "https://github.com/kohya-ss/musubi-tuner/blob/main/docs/zimage.md",
    "https://github.com/bghira/SimpleTuner#readme"
   ]
  },
  {
   "id": "sdxl",
   "name": "SDXL",
   "trainers": {
    "ai-toolkit": "supported",
    "OneTrainer": "supported",
    "musubi-tuner": "not listed",
    "kohya sd-scripts": "supported",
    "SimpleTuner": "supported"
   },
   "vram": "low-VRAM friendly with gradient checkpointing, 8-bit optimizer, cached latents (exact GB unknown)",
   "settings": [
    "Gradient checkpointing",
    "8-bit optimizer",
    "Cache latents",
    "OneTrainer: 'compile' + int8 quant on RTX 20xx+"
   ],
   "sources": [
    "https://www.reddit.com/r/StableDiffusion/comments/1vrkd5x/which_platform_should_i_use_to_train_lora/",
    "https://github.com/ostris/ai-toolkit#readme",
    "https://github.com/kohya-ss/sd-scripts#readme",
    "https://github.com/bghira/SimpleTuner#readme"
   ]
  },
  {
   "id": "flux1",
   "name": "FLUX.1",
   "trainers": {
    "ai-toolkit": "supported",
    "OneTrainer": "supported",
    "musubi-tuner": "FLUX.1 Kontext only",
    "kohya sd-scripts": "supported",
    "SimpleTuner": "supported"
   },
   "vram": "ai-toolkit ships a 24GB example config (train_lora_flux_24gb.yaml)",
   "settings": [
    "ai-toolkit is the easiest; SimpleTuner is more powerful (teacher-student regularization) but its data loader is harder to set up"
   ],
   "sources": [
    "https://www.reddit.com/r/FluxAI/comments/1ogw37j/best_flux_lora_trainer/",
    "https://github.com/nerogar/OneTrainer",
    "https://github.com/ostris/ai-toolkit#readme",
    "https://github.com/kohya-ss/sd-scripts#readme",
    "https://github.com/kohya-ss/musubi-tuner#readme"
   ]
  }
 ],
 "hosted": [
  {
   "name": "fal",
   "url": "https://fal.ai",
   "pricing": "unknown"
  },
  {
   "name": "Replicate",
   "url": "https://replicate.com",
   "pricing": "unknown"
  },
  {
   "name": "Civitai on-site trainer",
   "url": "https://civitai.com",
   "pricing": "unknown"
  }
 ],
 "recipes": [
  {
   "model": "krea2",
   "title": "My proven Krea 2 recipe",
   "source": "I trained this with ai-toolkit (generic hyperparameters only)",
   "rows": [
    [
     "Trainer",
     "ai-toolkit"
    ],
    [
     "Base model",
     "krea/Krea-2-Raw (arch krea2)"
    ],
    [
     "Network",
     "LoKr: linear 32, alpha 32, full rank on, factor 8"
    ],
    [
     "Optimizer / LR",
     "automagic3, 1e-4"
    ],
    [
     "Weight decay",
     "1e-5 (0.00001)"
    ],
    [
     "Schedule",
     "flowmatch scheduler, sigmoid timesteps, content_or_style balanced"
    ],
    [
     "Differential guidance",
     "On, scale 3"
    ],
    [
     "Batch",
     "1, grad accumulation 1"
    ],
    [
     "Memory",
     "gradient checkpointing, bf16, qfloat8 model + text encoder, low_vram, cached latents and text embeddings"
    ],
    [
     "Resolution",
     "1024"
    ],
    [
     "Captions",
     "dropout 0.05; text encoder not trained; trigger word optional"
    ],
    [
     "Epochs",
     "About 160 epochs (my best checkpoint: ~162 epochs on a 34-image dataset; batch 1, repeats 1, grad accumulation 1)"
    ],
    [
     "Samples",
     "guidance 4, 30 steps"
    ],
    [
     "Note",
     "The right epoch count depends on your dataset size and content."
    ]
   ],
   "yaml": "# Example ai-toolkit config (generic hyperparameters only)\nconfig:\n  process:\n    - type: sd_trainer\n      network:\n        type: lokr\n        linear: 32\n        linear_alpha: 32\n        lokr_full_rank: true\n        lokr_factor: 8\n      train:\n        batch_size: 1\n        gradient_accumulation_steps: 1\n        steps: 5500            # steps = epochs x images (e.g. 162 x 34 ≈ 5,500); ~160 epochs worked best for me\n        train_text_encoder: false\n        gradient_checkpointing: true\n        noise_scheduler: flowmatch\n        timestep_type: sigmoid\n        content_or_style: balanced\n        optimizer: automagic3\n        lr: 1e-4\n        optimizer_params:\n          weight_decay: 1e-5   # 0.00001\n        dtype: bf16\n        cache_text_embeddings: true\n        do_differential_guidance: true\n        differential_guidance_scale: 3\n      datasets:\n        - caption_dropout_rate: 0.05\n          cache_latents_to_disk: true\n          resolution: [1024]\n      model:\n        name_or_path: krea/Krea-2-Raw\n        arch: krea2\n        quantize: true\n        qtype: qfloat8\n        quantize_te: true\n        qtype_te: qfloat8\n        low_vram: true\n      sample:\n        guidance_scale: 4\n        sample_steps: 30\n      # trigger_word: optional / not needed"
  },
  {
   "model": "moss-image",
   "title": "MOSS Image character recipe that works",
   "source": "AI Toolkit Discord, Oct 20 2026",
   "rows": [
    [
     "Source",
     "AI Toolkit Discord, Oct 20 2026"
    ],
    [
     "Trainer",
     "ai-toolkit"
    ],
    [
     "Base model",
     "MOSS Image Base"
    ],
    [
     "Quantization",
     "transformer and text encoder in 8-bit ConvRot"
    ],
    [
     "Network",
     "LoKr, factor 8"
    ],
    [
     "Optimizer / LR",
     "AdamW 8-bit, 1e-4"
    ],
    [
     "Weight decay",
     "5e-5"
    ],
    [
     "Schedule",
     "shift timesteps"
    ],
    [
     "EMA",
     "on, 0.99"
    ],
    [
     "Batch",
     "2, gradient accumulation 2"
    ],
    [
     "Differential guidance",
     "On, scale 3"
    ],
    [
     "Resolution",
     "512"
    ],
    [
     "Dataset",
     "100 images reached the same likeness as 25 images, with much more flexibility"
    ]
   ],
   "yaml": ""
  },
  {
   "model": "fibo2",
   "title": "Fibo 2.0 LoRA: what to input (Bria's starting point)",
   "source": "Bria fine_tuning guide, via diffusers PR #15084",
   "rows": [
    [
     "Source",
     "Bria's fine_tuning guide (huggingface.co/briaai/Fibo-2.0-dev), summarized in diffusers PR #15084"
    ],
    [
     "Trainer",
     "Bria fine_tuning/train_lora.py (single GPU, text-to-image and edit), or diffusers train_dreambooth_lora_bria_fibo2.py (PR #15084)"
    ],
    [
     "Base model",
     "Fibo 2.0 Dev (not Edit Turbo)"
    ],
    [
     "Network",
     "LoRA, rank 64, alpha 64, all linear layers"
    ],
    [
     "Learning rate",
     "1e-4, constant"
    ],
    [
     "Resolution",
     "1024 (~1 MP)"
    ],
    [
     "Batch",
     "1, gradient accumulation 8"
    ],
    [
     "Steps",
     "1,000 (diffusers t2i example) / 2,000 (edit example); likeness shows by about step 300"
    ],
    [
     "Captions",
     "Structured JSON (VGL, recommended in Bria's README) or plain sentences; both give the same result in practice"
    ],
    [
     "Save VRAM",
     "cache latents, gradient checkpointing, 8-bit Adam, offload VAE and text encoder"
    ]
   ],
   "yaml": ""
  }
 ],
 "general_tips": [
  "Gated Hugging Face models: click 'Agree and access' on each model page, or you'll get 403 errors",
  "Steps scale with dataset size (steps = epochs x images at batch 1)",
  "A safe start: LoKr with auto rank (~64), batch/grad accumulation 4"
 ]
}