frankjoshua/Qwen-Image-Lightning

frankjoshua
Texto a imagen

Modelo de generación de imágenes a partir de texto basado en Qwen-Image y adaptado con Qwen-Image-Lightning mediante distilación/LoRA para inferencia de pocos pasos. Está orientado a crear imágenes detalladas desde prompts en inglés o chino, usando Diffusers y un scheduler FlowMatchEuler configurado para el flujo Lightning.

Como usar

Instalación y uso básico con Diffusers:

pip install -U diffusers transformers accelerate
import torch
from diffusers import DiffusionPipeline

# switch to "mps" for apple devices
pipe = DiffusionPipeline.from_pretrained("frankjoshua/Qwen-Image-Lightning", dtype=torch.bfloat16, device_map="cuda")

prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k"
image = pipe(prompt).images[0]

Uso recomendado con Diffusers desde la rama principal y pesos LoRA Lightning:

pip install git+https://github.com/huggingface/diffusers.git
from diffusers import DiffusionPipeline, FlowMatchEulerDiscreteScheduler
import torch
import math

scheduler_config = {
    "base_image_seq_len": 256,
    "base_shift": math.log(3),
    "invert_sigmas": False,
    "max_image_seq_len": 8192,
    "max_shift": math.log(3),
    "num_train_timesteps": 1000,
    "shift": 1.0,
    "shift_terminal": 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")

Funcionalidades

Generación texto-a-imagen con arquitectura Diffusers.
Basado en Qwen/Qwen-Image.
Ajuste Lightning mediante LoRA para generación en pocos pasos, incluyendo ejemplo de 8 pasos.
Soporte para prompts en inglés y chino.
Licencia Apache 2.0.
No está desplegado actualmente en proveedores de inferencia de Hugging Face.

Casos de uso

Crear imágenes 1024x1024 desde descripciones textuales con pocos pasos de inferencia.
Prototipar flujos locales de generación visual con Qwen-Image y LoRA Lightning.
Generar escenas detalladas, cinemáticas o de alta resolución a partir de prompts creativos.
Integrar generación texto-a-imagen en notebooks, apps locales o pipelines basados en Diffusers.