← ImageLoRA · All LoRA guides
How to train a Fibo 2.0 LoRA: trainers, VRAM and settings
Everything you need to train Fibo 2.0 / Edit Turbo (Bria, 8B, CC BY-NC 4.0) LoRAs: which trainers support it, VRAM, settings and where to rent a GPU.
Status: Released Oct 20, 2026. ai-toolkit trains Fibo 2.0 Dev since Oct 23 (LoRA, text-to-image and edit in one model). diffusers v0.42.0 (Oct 23) is the first release with BriaFibo2Pipeline and the DreamBooth LoRA scripts (text-to-image and edit), so a normal pip install works. DiffSynth-Studio trains it since Oct 21 (LoRA and full, text-to-image and edit). OneTrainer, musubi-tuner, kohya sd-scripts and SimpleTuner have no Fibo 2.0 support yet (checked Oct 24). Bria's own trainer and AcademiaSD LoRAlab also work. Non-commercial license: commercial use needs a paid agreement with Bria.
Fibo 2.0 in ai-toolkit: defaults
| Source | ai-toolkit commit 7cc9fef (Oct 23 2026), model "Fibo 2.0 Dev" |
|---|
| Base weights | Comfy-Org/Fibo-2.0 (repack of Fibo 2.0 Dev, not gated) |
|---|
| Quantization | transformer and text encoder: convrot8 |
|---|
| Low VRAM | on |
|---|
| Scheduler | flowmatch |
|---|
| Timesteps | weighted (close to shift; keep it) |
|---|
| Network | LoRA (conv layers off) |
|---|
| Edit vs text-to-image | control images in the dataset = edit LoRA; none = text-to-image LoRA |
|---|
| References | match_target_res on (sized to the target) |
|---|
| Samples | 1024x1024, CFG 5, 30 steps |
|---|
| Steps | about 300-500 for simple datasets; ~2,000 on a complex dataset still gave mixed results |
|---|
| VRAM | unknown (no measured numbers yet) |
|---|
Fibo 2.0 LoRA: what to input (Bria's starting point)
| Source | Bria's fine_tuning guide (huggingface.co/briaai/Fibo-2.0-dev), summarized in the diffusers Fibo 2.0 LoRA README |
|---|
| Trainer | Bria fine_tuning/train_lora.py (single GPU, text-to-image and edit), DiffSynth-Studio (examples/fibo, LoRA and full), or diffusers train_dreambooth_lora_bria_fibo2.py (v0.42.0+, use --pretrained_model_name_or_path=briaai/Fibo-2.0-dev), ai-toolkit (Oct 23) |
|---|
| 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); LoRAs converge fast, about 300-500 steps is usually enough |
|---|
| DiffSynth-Studio example | LoRA rank 32, LR 1e-4, 5 epochs, max_pixels 1048576, gradient checkpointing, targets to_q,to_k,to_v,to_out.0,w1,w2,w3 |
|---|
| Our tested run (Oct 21) | rank 64, alpha 64, LR 1e-4 constant, AdamW, 1024px, batch 1, grad accum 2, 400 steps, save every 100, text dropout 0.1; 15 images; best at step 300 (A100 40GB: 23 GiB peak, 6.2 s/step, 42 min) |
|---|
| Captions | Structured JSON (VGL, recommended in Bria's README) or plain sentences; both give the same result in practice; plain captions wrapped as Fibo JSON work without bria-vgl or a Gemini key |
|---|
| Save VRAM | cache latents, gradient checkpointing, 8-bit Adam, offload VAE and text encoder |
|---|
Trainer support
| Trainer | Status |
|---|
| ai-toolkit | supported (Oct 23, commit 7cc9fef; Fibo 2.0 Dev LoRA, text-to-image and edit) |
| OneTrainer | unknown (no Fibo 2.0 support or PR yet, Oct 24) |
| musubi-tuner | unknown (no Fibo 2.0 support or PR yet, Oct 24) |
| kohya sd-scripts | unknown (no Fibo 2.0 support or PR yet, Oct 24) |
| SimpleTuner | unknown (no Fibo 2.0 support or PR yet, Oct 24) |
| DiffSynth-Studio | supported (Oct 21, PR #1774; LoRA and full training on Dev, text-to-image and edit) |
| diffusers | supported (v0.42.0, Oct 23; DreamBooth LoRA scripts for text-to-image and edit) |
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). Bf16 LoRA training at 1024px, rank 64, batch 1 with Bria's trainer: 23.0 GiB peak allocated (~26 GB in nvidia-smi), measured on an A100 40GB in our Oct 21 test run. 24 GB cards: not tested yet. DiffSynth-Studio and ai-toolkit training: unknown (no VRAM numbers published yet; ai-toolkit's Fibo defaults load int8 ConvRot weights with low VRAM mode on)
Settings that work
- 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
- DiffSynth-Studio (ModelScope) trains Fibo 2.0 Dev: LoRA and full training for text-to-image and edit LoRAs, with mask and multi-reference edit datasets (examples/fibo/model_training: Fibo-2.0-dev-T2I.sh and Fibo-2.0-dev-Edit.sh). Edit Turbo is inference only. Support landed Oct 21 (PR #1774); update to Oct 22 or later for the dtype fix (PR #1781)
- DiffSynth-Studio example LoRA settings: rank 32, LR 1e-4, 5 epochs, max_pixels 1048576 (~1 MP), gradient checkpointing, LoRA targets to_q,to_k,to_v,to_out.0,w1,w2,w3
- 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
- Fibo LoRAs converge fast: about 300-500 steps is usually enough (our own test was best at step 300). Realistic subjects train well; anime results are mixed
- Warning: a text-to-image LoRA works for text-to-image, including on the edit model, but disfigures people when you give it an input image to edit. Train an edit LoRA (with control images) if you want to use it for edits
- On a complex dataset, ~2,000 steps still gave mixed results for a text-to-image LoRA; simpler datasets converge much sooner
- Our tested run (A100 40GB, Oct 21): Bria's train_lora.py, 15 images, 1024px, rank 64, alpha 64, LR 1e-4 constant, AdamW, batch 1, gradient accumulation 2, 400 steps, text dropout 0.1. Likeness from step 200, step 300 best, step 400 about the same
- Bria's README mentions bria-vgl captioning (needs a Gemini key). Plain captions wrapped as Fibo JSON work fine without it
- Edit with a LoRA: a plain edit instruction keeps untouched areas and other people's faces intact
- Edit with a reference photo as <image_2>: better costumes and likeness, but it often redraws the whole image
- Edit prompts: describe the exact pose and position for your subject or it gets buried in the scene, e.g. 'replace the man standing at the front of the boat with ...'. 'Add as a fifth person' prompts can replace a person instead
- 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, in the v0.42.0 release (Oct 23, PR #15084): examples/dreambooth/train_dreambooth_lora_bria_fibo2.py (text-to-image) and train_dreambooth_lora_bria_fibo2_img2img.py (edit). The README examples use briaai/fibo-2; set --pretrained_model_name_or_path=briaai/Fibo-2.0-dev (the gated Hugging Face repo) instead. Transformer-only LoRA on every linear layer by default, text encoder and VAE frozen; needs diffusers v0.42.0+ (Python 3.11+, huggingface_hub >=1.32.0,<3.0) and transformers>=5.20.1. Memory flags: --cache_latents, --gradient_checkpointing, --use_8bit_adam, --offload, bitsandbytes quantized training, --do_fp8_training. The default rank is small, so raise --rank/--lora_alpha toward Bria's 64
- ai-toolkit (Oct 23, commit 7cc9fef): pick "Fibo 2.0 Dev" in the UI. One model does both jobs: add control images to the dataset and it trains an edit LoRA, leave them out and it trains text-to-image. Several control images per sample work
- ai-toolkit Fibo defaults: weights from the Comfy-Org/Fibo-2.0 repack (the Bria repo is gated), transformer and text encoder quantized to convrot8, low VRAM on, flowmatch scheduler, timestep type weighted, match_target_res on (references are sized to the target), conv layers off. Samples: 1024x1024, CFG 5, 30 steps
- Keep ai-toolkit's convrot8 quantization for Fibo: qfloat8 on the transformer and text encoder gives black sample images
- Fibo trains slower than Qwen-Image 2.1. One test in ai-toolkit on the same pod with the same settings (cached latents and text embeddings, compile on): Fibo 2.0 ~5 s/it, Qwen-Image 2.1 ~1.2 s/it
- Keep ai-toolkit's weighted timestep default for Fibo: it's close to shift and suits the model well
- LoRA files from ai-toolkit use ComfyUI key names, so they load in ComfyUI directly
- diffusers v0.42.0 (Oct 23) is the first release with BriaFibo2Pipeline (Dev and Edit Turbo, up to 5 reference images), so pip install -U diffusers is enough; no source install needed. It needs Python 3.11+ and huggingface_hub >=1.32.0,<3.0
- 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)
- Warning: ComfyUI v0.42.1 throws key errors when any LoRA is loaded on Fibo 2.0, even with the bf16 Dev model and Bria's test LoRA; without a LoRA it runs fine. No fix in a release yet
- ComfyUI master (Oct 22, PR #17290): Fibo now uses NTK-aware RoPE scaling, which fixes high resolutions like 2048x1536. Before, the subject landed in the top-left corner and the rest of the image repeated
- ComfyUI master (Oct 22, PR #17285): structured JSON negative prompts like the one on Bria's model card are no longer cleaned, and that negative is the new text-to-image default. Edit and Turbo defaults are unchanged
- ComfyUI master (Oct 23, PR #17196): the FLUX.2 VAE that Fibo uses now runs in fp16 with a fused kernel (needs the matching comfy-kitchen update), which is faster, uses less peak VRAM and decodes closer to fp32 than the old bf16 default. The tiled VAE node is no longer needed at high resolutions, and your existing VAE file works after updating; don't use bf16 FLUX.2 VAE files
- 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
- Output tends to a slight yellowish tint; correct it in post or in your prompt if colour matters
- Edits rotate characters well but don't move the camera; ask for a new pose of the subject, not a new camera angle
- 8-step speed LoRA for Dev (akhaliq/Fibo-2.0-8step-smd, CC BY-NC 4.0, work in progress): rank 128, 8 steps, CFG 1, no negative prompt. Keep it in fp32; it loses its effect in bf16. Weaker than Edit Turbo on in-image text and colour
- Testing your own LoRA's likeness: skip speed LoRAs and use Dev at full steps and CFG
Full guide with recipes: How to train a Fibo 2.0 LoRA.
Trainer comparisons
Where to rent a 16 GB+ GPU
Cheapest 16 GB+ cards (2026-10-20 08:06 UTC) from RunPod and Vast.ai. Prices move constantly; see the live price table.
| GPU | VRAM | RunPod community $/hr | Vast.ai cheapest $/hr |
|---|
| Tesla V100 | 16 GB | $0.19 | $0.08 |
| RTX 3090 | 24 GB | $0.22 | $0.12 |
| RTX 5060 Ti | 16 GB | — | $0.14 |
| Tesla V100S | 32 GB | — | $0.14 |
| RTX A5000 | 24 GB | $0.16 | — |
| RTX A4000 | 16 GB | $0.17 | — |
Sources
FAQ
Which trainers support Fibo 2.0?
ai-toolkit, DiffSynth-Studio, diffusers
How much VRAM does Fibo 2.0 LoRA training need?
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). Bf16 LoRA training at 1024px, rank 64, batch 1 with Bria's trainer: 23.0 GiB peak allocated (~26 GB in nvidia-smi), measured on an A100 40GB in our Oct 21 test run. 24 GB cards: not tested yet. DiffSynth-Studio and ai-toolkit training: unknown (no VRAM numbers published yet; ai-toolkit's Fibo defaults load int8 ConvRot weights with low VRAM mode on)
Weekly newsletter: new models, trainer releases, cheapest GPUs.
Subscribe
Data updated 2026-10-20. Disclosure: RunPod and Vast.ai links are referral links; ImageLoRA may earn a commission at no cost to you. unknown = no data yet. · Raw data (JSON) · llms.txt