Diffusers documentation
Introducción
Introducción
Diffusers es una biblioteca para desarrolladores e investigadores que proporciona una API de inferencia sencilla para generar imágenes, videos y audio, así como los bloques de construcción para implementar nuevos flujos de trabajo.
Diffusers ofrece muchas optimizaciones de serie que permiten cargar y ejecutar modelos grandes en configuraciones con memoria limitada o acelerar la inferencia.
Este tutorial de iniciación te dará una visión general de Diffusers y te permitirá empezar a generar contenido rápidamente.
Antes de comenzar, asegúrate de tener una cuenta de Hugging Face para usar modelos con acceso restringido como Flux. ¿Prefieres construir un pipeline personalizado? Consulta la introducción rápida a Modular Diffusers y el resumen.
Sigue la guía de Instalación para instalar Diffusers si aún no está instalado.
Prompt del agente
Pega esto en tu agente de codificación para configurar Diffusers para inferencia.
Help me get set up with Hugging Face Diffusers for inference. 1. Install Diffusers for my environment with `uv pip install "diffusers[torch]"`. 2. If I need gated Hub models, help me authenticate to the Hugging Face Hub. 3. Install Diffusers coding agent skills with `diffusers-cli skills add diffusers-cli`. Pass `--cursor`, `--claude`, or `--codex` if auto-detect fails. Optionally pass `--all` to install every skill in the registry. 4. Run a first text-to-image with DiffusionPipeline or `diffusers-cli run`, using a small or current Quickstart model and the right `device_map` for my machine. 5. Ask what I want next and point me at the matching docs.
DiffusionPipeline
DiffusionPipeline agrupa los componentes de un modelo de difusión (codificador de texto, programador, UNet o DiT y VAE) en una sola clase para la inferencia. Cargue con from_pretrained() y luego llame a la tubería.
Los argumentos de __call__() como num_inference_steps cambian la calidad y la velocidad. Para ver los detalles de carga y los componentes combinables, consulte Cargar pipelines. Para cambiar el programador, consulte Programadores.
Los ejemplos a continuación utilizan los valores de argumento predeterminados.
Use .images[0] para acceder a la imagen generada.
import torch
from diffusers import DiffusionPipeline
pipeline = DiffusionPipeline.from_pretrained(
"Qwen/Qwen-Image", dtype=torch.bfloat16, device_map="cuda" # or "mps", "xpu", "cpu"
)
prompt = """
cinematic film still of a cat sipping a margarita in a pool in Palm Springs, California
highly detailed, high budget hollywood movie, cinemascope, moody, epic, gorgeous, film grain
"""
pipeline(prompt).images[0]Use .frames[0] para acceder a la salida del video generado y export_to_video() para guardar el video.
import torch
from diffusers import AutoencoderKLWan, DiffusionPipeline
from diffusers.utils import export_to_video
vae = AutoencoderKLWan.from_pretrained(
"Wan-AI/Wan2.2-T2V-A14B-Diffusers",
subfolder="vae",
dtype=torch.float32
)
pipeline = DiffusionPipeline.from_pretrained(
"Wan-AI/Wan2.2-T2V-A14B-Diffusers",
vae=vae,
dtype=torch.bfloat16,
device_map="cuda" # or "mps", "xpu", "cpu"
)
prompt = """
Cinematic video of a sleek cat lounging on a colorful inflatable in a crystal-clear turquoise pool in Palm Springs,
sipping a salt-rimmed margarita through a straw. Golden-hour sunlight glows over mid-century modern homes and swaying palms.
Shot in rich Sony a7S III: with moody, glamorous color grading, subtle lens flares, and soft vintage film grain.
Ripples shimmer as a warm desert breeze stirs the water, blending luxury and playful charm in an epic, gorgeously composed frame.
"""
video = pipeline(prompt=prompt, num_frames=81, num_inference_steps=40).frames[0]
export_to_video(video, "output.mp4", fps=16)LoRA
Los adaptadores LoRA añaden un punto de control de estilo o sujeto pequeño sobre un pipeline base. Carga uno con load_lora_weights(). Algunos LoRA requieren una frase de activación. Consulta la tarjeta de modelo del LoRA.
import torch
from diffusers import DiffusionPipeline
pipeline = DiffusionPipeline.from_pretrained(
"Qwen/Qwen-Image", dtype=torch.bfloat16, device_map="cuda" # or "mps", "xpu", "cpu"
)
pipeline.load_lora_weights(
"threecrowco/VolkClipartQwen",
weight_name="pytorch_lora_weights.safetensors",
)
prompt = """
Volk clipart style drawing of a cat sipping a margarita in a pool in Palm Springs, California, flat colors, bold outlines, simple shapes
"""
pipeline(prompt).images[0]Cuantización y optimizaciones
Los modelos grandes a menudo requieren menos memoria o más velocidad. Utilice cuantización para reducir los pesos en memoria y compile_repeated_blocks() para acelerar las generaciones posteriores. Para descarga de modelos y otras opciones, consulte Optimizar y escalar.
Para usar menos memoria, cargue en 4 bits con bitsandbytes.
import torch
from diffusers import DiffusionPipeline
from diffusers.quantizers import PipelineQuantizationConfig
quant_config = PipelineQuantizationConfig(
quant_backend="bitsandbytes_4bit",
quant_kwargs={"load_in_4bit": True, "bnb_4bit_quant_type": "nf4", "bnb_4bit_compute_dtype": torch.bfloat16},
components_to_quantize=["transformer", "text_encoder"],
)
pipeline = DiffusionPipeline.from_pretrained(
"Qwen/Qwen-Image",
dtype=torch.bfloat16,
quantization_config=quant_config,
device_map="cuda" # or "mps", "xpu", "cpu"
)
prompt = """
cinematic film still of a cat sipping a margarita in a pool in Palm Springs, California
highly detailed, high budget hollywood movie, cinemascope, moody, epic, gorgeous, film grain
"""
pipeline(prompt).images[0]Para acelerar las ejecuciones posteriores, compile los bloques repetidos del transformer. El primer generate después de la compilación es un arranque en frío y es lento. Los generates posteriores son más rápidos.
import torch
from diffusers import DiffusionPipeline
pipeline = DiffusionPipeline.from_pretrained(
"Qwen/Qwen-Image", dtype=torch.bfloat16, device_map="cuda" # or "mps", "xpu", "cpu"
)
pipeline.transformer.compile_repeated_blocks(fullgraph=True)
prompt = """
cinematic film still of a cat sipping a margarita in a pool in Palm Springs, California
highly detailed, high budget hollywood movie, cinemascope, moody, epic, gorgeous, film grain
"""
pipeline(prompt).images[0]Próximos pasos
- Inferencia — pipelines, prompting y adaptadores
- Optimizar y escalar — memoria, velocidad, cuantización y servicio
- Diffusers modulares — bloques componibles y pipelines personalizados
- Entrenar y ajustar — scripts de entrenamiento y adaptadores
- CLI — generar desde la línea de comandos