# Diffusers

Diffusers provides pretrained diffusion models and the building blocks for custom image, video, and audio workflows.

It has two main paths.

- [DiffusionPipeline](/docs/diffusers/main/en/api/pipelines/overview#diffusers.DiffusionPipeline) supports few-line inference with pretrained checkpoints, plus adapters like LoRA. This is the easy path for generation.
- [Modular Diffusers](./modular_diffusers/overview) enables composable blocks and [ModularPipeline](/docs/diffusers/main/en/api/modular_diffusers/pipeline#diffusers.ModularPipeline) for custom pipelines when you need more control.

Optimizations such as offloading and quantization keep large models runnable on memory-constrained devices. If memory is not an issue, Diffusers also supports `torch.compile` for faster inference.

Browse trending Diffusers models on the [Hub](https://huggingface.co/models?library=diffusers&sort=trending) now.

## Learn

If you're a beginner, start with the [Hugging Face Diffusion Models Course](https://huggingface.co/learn/diffusion-course/unit0/1). It covers diffusion theory and how to generate images, fine-tune models, and more with Diffusers.

The [Quickstart](./quicktour) also includes a copyable agent setup prompt for inference.

## Where next

- [Inference](./using-diffusers/loading) — load pipelines and run generation
- [Optimize and scale](./stable_diffusion) — memory, speed, quantization, and serving
- [Modular Diffusers](./modular_diffusers/overview) — build custom pipelines from blocks
- [Train and fine-tune](./training/overview) — train diffusion models and adapters
- [CLI](./using-diffusers/cli) - run and package pipelines from the command line
 

