by lightx2v
Open source · 315k downloads · 792 likes
Qwen Image Lightning is an AI model specialized in generating images from text, designed to produce high-quality visuals quickly and efficiently. It leverages advanced diffusion techniques to transform textual descriptions into realistic or stylized images with great precision and fine details. This model stands out for its fast execution speed and optimization for smooth performance, making it ideal for applications requiring real-time or large-scale image generation. Its use cases include creating visual content for marketing, digital art, illustration, or design assistance. Thanks to its flexibility and easy integration with tools like Diffusers, it caters to both developers' and non-technical creators' needs.
Please refer to Qwen-Image-Lightning github to learn how to use the models.
use with diffusers 🧨:
make sure to install diffusers from main (pip install git+https://github.com/huggingface/diffusers.git)
from diffusers import DiffusionPipeline, FlowMatchEulerDiscreteScheduler
import torch
import math
# From https://github.com/ModelTC/Qwen-Image-Lightning/blob/342260e8f5468d2f24d084ce04f55e101007118b/generate_with_diffusers.py#L82C9-L97C10
scheduler_config = {
"base_image_seq_len": 256,
"base_shift": math.log(3), # We use shift=3 in distillation
"invert_sigmas": False,
"max_image_seq_len": 8192,
"max_shift": math.log(3), # We use shift=3 in distillation
"num_train_timesteps": 1000,
"shift": 1.0,
"shift_terminal": None, # set shift_terminal to None
"stochastic_sampling": False,
"time_shift_type": "exponential",
"use_beta_sigmas": False,
"use_dynamic_shifting": True,
"use_exponential_sigmas": False,
"use_karras_sigmas": False,
}
scheduler = FlowMatchEulerDiscreteScheduler.from_config(scheduler_config)
pipe = DiffusionPipeline.from_pretrained(
"Qwen/Qwen-Image", scheduler=scheduler, torch_dtype=torch.bfloat16
).to("cuda")
pipe.load_lora_weights(
"lightx2v/Qwen-Image-Lightning", weight_name="Qwen-Image-Lightning-8steps-V1.0.safetensors"
)
prompt = "a tiny astronaut hatching from an egg on the moon, Ultra HD, 4K, cinematic composition."
negative_prompt = " "
image = pipe(
prompt=prompt,
negative_prompt=negative_prompt,
width=1024,
height=1024,
num_inference_steps=8,
true_cfg_scale=1.0,
generator=torch.manual_seed(0),
).images[0]
image.save("qwen_fewsteps.png")