Skip to main content
Lumina Image 2.0 is a Next-generation Diffusion Transformer (Next-DiT) model. It uses a single Gemma2 language model as its text encoder and a dedicated AutoEncoder, making it architecturally distinct from Stable Diffusion and FLUX.1.

Architecture

  • Next-DiT — Next-generation Diffusion Transformer architecture. Replaces the UNet with a transformer that natively handles variable-resolution inputs.
  • Gemma2 (2B) — single text encoder based on Google’s Gemma2 language model. Handles both prompt encoding and system prompt conditioning.
  • AutoEncoder (AE) — the same AE used by FLUX.1 (ae.safetensors).

Required model files

Download the following files before training:
The AutoEncoder for Lumina Image 2.0 is the same file as the FLUX.1 AE. If you already have ae.safetensors from a FLUX.1 setup, you can reuse it here.

Available training methods

LoRA training

Use lumina_train_network.py with --network_module=networks.lora_lumina:

System prompts

Lumina Image 2.0 is conditioned on a system prompt in addition to the image caption. You must provide a system prompt during training to match the model’s pre-training setup.

Key training parameters

Use --mixed_precision="bf16" for Lumina training. The model was pre-trained in bfloat16 and fp16 can be less stable.

Per-component LoRA rank control

Use --network_args to set different ranks for each model component:
The three values in embedder_dims correspond to: x_embedder, t_embedder, and caption_embedder.

Memory optimization

Inference

After training, use lumina_minimal_inference.py to generate images with your LoRA:

Incompatible options

The following arguments are for SD 1.x/2.x and must not be used for Lumina:
  • --v2, --v_parameterization, --clip_skip