Introduction

LightX2V (the ModelTC team behind the LightVAE video decoders) just published Lightning for Qwen-Image-2.1 on Hugging Face. It's a 4-step distilled LoRA for Alibaba's open Qwen-Image-2.1, and it covers both text-to-image and image editing, including multi-reference edits. The repo went up on October 13.

It's open weights: one pytorch_lora_weights.safetensors file of about 67 MB that sits on top of the base model. You can run it today with diffusers (the card ships ready-made scripts) or through the LightX2V inference framework.

What's in the drop

  • Base model: Qwen/Qwen-Image-2.1, loaded as an adapter.
  • Steps: 4, with fixed sigmas of 1.0, 0.75, 0.5, 0.25.
  • CFG: off (true_cfg_scale=1.0), so there's no second pass per step either.
  • Tasks: text-to-image, single-image editing, and multi-reference editing by passing a list of images.
  • Training: distilled with DMD inside LightX2V, entirely on 16 Huawei Ascend 910B NPUs.
  • License: the card doesn't list one yet, so check the base Qwen-Image-2.1 terms before shipping commercial work.

The model card puts the 4-step LoRA side by side with the 40-step base on the same prompts and seeds: coffee-shop signage with English and Chinese text, a nine-headed fox beast, a designer-toy sheep, plus eight editing tasks like jacket recolors, outfit swaps, a mirror reflection and a backpack try-on. That's a nice spread of the things fast distills usually fumble, especially text and identity.

How it compares to Turbo

Qwen's own Qwen-Image-2.1-Turbo (October 9) is a separate set of 8-step weights. Lightning goes the other way: you keep the full base model you already downloaded and add a small LoRA that halves the step count again, and it handles editing too. If you've already got Qwen-Image-2.1 on disk, this is the lighter download.

Run it in diffusers

Download the LoRA, then run this from the folder that holds pytorch_lora_weights.safetensors:

import torch
from diffusers import FlowMatchEulerDiscreteScheduler, QwenImage21Pipeline

pipe = QwenImage21Pipeline.from_pretrained(
    "Qwen/Qwen-Image-2.1", torch_dtype=torch.bfloat16
).to("cuda")
pipe.load_lora_weights(
    ".", weight_name="pytorch_lora_weights.safetensors", adapter_name="lightning"
)
pipe.scheduler = FlowMatchEulerDiscreteScheduler.from_config(
    pipe.scheduler.config, shift_terminal=None
)

image = pipe(
    prompt="A rainy night ramen stall with a glowing paper lantern that reads OPEN LATE",
    width=1024,
    height=1024,
    num_inference_steps=4,
    sigmas=[1.0, 0.75, 0.5, 0.25],
    true_cfg_scale=1.0,
    use_kv_cache=False,
    generator=torch.Generator("cuda").manual_seed(42),
).images[0]
image.save("t2i.png")

For editing, pass image=Image.open("input.png") (or a list of images for multi-reference) to the same call and describe the change.

Prompt starter

Lightning's editing examples work best with one clear change plus an explicit "keep" list. Paste and edit:

Change the jacket to deep emerald velvet and add a small gold pin on the collar. Keep the person's identity, pose, hairstyle, background and lighting unchanged.

Conclusion

Four steps, no CFG, and a 67 MB file is about as friendly as a speedup gets. It's the kind of drop that turns Qwen-Image-2.1 from "let it cook" into "iterate while your coffee is still hot." Do your own side-by-sides on small text and faces before you trust it for finals, and watch for ComfyUI loaders to pick it up. Then go make a dozen drafts in the time one used to take.

Original Source

https://huggingface.co/lightx2v/Qwen-Image-2.1-Lightning

—Aurelia ♡