overview.md 6.34 KB
Newer Older
Aryan's avatar
Aryan committed
1
<!--Copyright 2025 The HuggingFace Team. All rights reserved.
2
3
4
5
6
7
8
9
10
11
12
13
14

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
specific language governing permissions and limitations under the License.
-->

# Pipelines

Steven Liu's avatar
Steven Liu committed
15
Pipelines provide a simple way to run state-of-the-art diffusion models in inference by bundling all of the necessary components (multiple independently-trained models, schedulers, and processors) into a single end-to-end class. Pipelines are flexible and they can be adapted to use different schedulers or even model components.
16

Steven Liu's avatar
Steven Liu committed
17
All pipelines are built from the base [`DiffusionPipeline`] class which provides basic functionality for loading, downloading, and saving all the components. Specific pipeline types (for example [`StableDiffusionPipeline`]) loaded with [`~DiffusionPipeline.from_pretrained`] are automatically detected and the pipeline components are loaded and passed to the `__init__` function of the pipeline.
18

Steven Liu's avatar
Steven Liu committed
19
20
21
22
23
24
> [!WARNING]
> You shouldn't use the [`DiffusionPipeline`] class for training. Individual components (for example, [`UNet2DModel`] and [`UNet2DConditionModel`]) of diffusion pipelines are usually trained individually, so we suggest directly working with them instead.
>
> <br>
>
> Pipelines do not offer any training functionality. You'll notice PyTorch's autograd is disabled by decorating the [`~DiffusionPipeline.__call__`] method with a [`torch.no_grad`](https://pytorch.org/docs/stable/generated/torch.no_grad.html) decorator because pipelines should not be used for training. If you're interested in training, please take a look at the [Training](../../training/overview) guides instead!
25

Steven Liu's avatar
Steven Liu committed
26
27
28
29
The table below lists all the pipelines currently available in 🤗 Diffusers and the tasks they support. Click on a pipeline to view its abstract and published paper.

| Pipeline | Tasks |
|---|---|
30
| [aMUSEd](amused) | text2image |
31
| [AnimateDiff](animatediff) | text2video |
Steven Liu's avatar
Steven Liu committed
32
33
34
| [Attend-and-Excite](attend_and_excite) | text2image |
| [AudioLDM](audioldm) | text2audio |
| [AudioLDM2](audioldm2) | text2audio |
35
| [AuraFlow](auraflow) | text2image |
Steven Liu's avatar
Steven Liu committed
36
| [BLIP Diffusion](blip_diffusion) | text2image |
galbria's avatar
galbria committed
37
| [Bria 3.2](bria_3_2) | text2image |
38
| [CogVideoX](cogvideox) | text2video |
Steven Liu's avatar
Steven Liu committed
39
40
| [Consistency Models](consistency_models) | unconditional image generation |
| [ControlNet](controlnet) | text2image, image2image, inpainting |
41
42
43
| [ControlNet with Flux.1](controlnet_flux) | text2image |
| [ControlNet with Hunyuan-DiT](controlnet_hunyuandit) | text2image |
| [ControlNet with Stable Diffusion 3](controlnet_sd3) | text2image |
Steven Liu's avatar
Steven Liu committed
44
| [ControlNet with Stable Diffusion XL](controlnet_sdxl) | text2image |
UmerHA's avatar
UmerHA committed
45
46
| [ControlNet-XS](controlnetxs) | text2image |
| [ControlNet-XS with Stable Diffusion XL](controlnetxs_sdxl) | text2image |
Steven Liu's avatar
Steven Liu committed
47
48
49
50
51
52
| [Dance Diffusion](dance_diffusion) | unconditional audio generation |
| [DDIM](ddim) | unconditional image generation |
| [DDPM](ddpm) | unconditional image generation |
| [DeepFloyd IF](deepfloyd_if) | text2image, image2image, inpainting, super-resolution |
| [DiffEdit](diffedit) | inpainting |
| [DiT](dit) | text2image |
53
54
| [Flux](flux) | text2image |
| [Hunyuan-DiT](hunyuandit) | text2image |
SahilCarterr's avatar
SahilCarterr committed
55
| [I2VGen-XL](i2vgenxl) | image2video |
Steven Liu's avatar
Steven Liu committed
56
| [InstructPix2Pix](pix2pix) | image editing |
57
| [Kandinsky 2.1](kandinsky) | text2image, image2image, inpainting, interpolation |
Steven Liu's avatar
Steven Liu committed
58
| [Kandinsky 2.2](kandinsky_v22) | text2image, image2image, inpainting |
59
| [Kandinsky 3](kandinsky3) | text2image, image2image |
60
| [Kolors](kolors) | text2image |
61
| [Latent Consistency Models](latent_consistency_models) | text2image |
Steven Liu's avatar
Steven Liu committed
62
| [Latent Diffusion](latent_diffusion) | text2image, super-resolution |
63
| [Latte](latte) | text2image |
64
| [LEDITS++](ledits_pp) | image editing |
65
| [Lumina-T2X](lumina) | text2image |
66
| [Marigold](marigold) | depth-estimation, normals-estimation, intrinsic-decomposition |
Steven Liu's avatar
Steven Liu committed
67
68
| [MultiDiffusion](panorama) | text2image |
| [MusicLDM](musicldm) | text2audio |
69
| [PAG](pag) | text2image |
70
| [Paint by Example](paint_by_example) | inpainting |
71
| [PIA](pia) | image2video |
72
| [PixArt-α](pixart) | text2image |
73
| [PixArt-Σ](pixart_sigma) | text2image |
Steven Liu's avatar
Steven Liu committed
74
75
76
| [Self-Attention Guidance](self_attention_guidance) | text2image |
| [Semantic Guidance](semantic_stable_diffusion) | text2image |
| [Shap-E](shap_e) | text-to-3D, image-to-3D |
77
| [Stable Audio](stable_audio) | text2audio |
78
| [Stable Cascade](stable_cascade) | text2image |
Steven Liu's avatar
Steven Liu committed
79
| [Stable Diffusion](stable_diffusion/overview) | text2image, image2image, depth2image, inpainting, image variation, latent upscaler, super-resolution |
80
| [Stable Diffusion XL](stable_diffusion/stable_diffusion_xl) | text2image, image2image, inpainting |
Steven Liu's avatar
Steven Liu committed
81
| [Stable Diffusion XL Turbo](stable_diffusion/sdxl_turbo) | text2image, image2image, inpainting |
Steven Liu's avatar
Steven Liu committed
82
| [Stable unCLIP](stable_unclip) | text2image, image variation |
83
| [T2I-Adapter](stable_diffusion/adapter) | text2image |
Steven Liu's avatar
Steven Liu committed
84
| [Text2Video](text_to_video) | text2video, video2video |
85
86
| [Text2Video-Zero](text_to_video_zero) | text2video |
| [unCLIP](unclip) | text2image, image variation |
Steven Liu's avatar
Steven Liu committed
87
88
89
| [UniDiffuser](unidiffuser) | text2image, image2text, image variation, text variation, unconditional image generation, unconditional audio generation |
| [Value-guided planning](value_guided_sampling) | value guided sampling |
| [Wuerstchen](wuerstchen) | text2image |
Zhong-Yu Li's avatar
Zhong-Yu Li committed
90
| [VisualCloze](visualcloze) | text2image, image2image, subject driven generation, inpainting, style transfer, image restoration, image editing, [depth,normal,edge,pose]2image, [depth,normal,edge,pose]-estimation, virtual try-on, image relighting |
Steven Liu's avatar
Steven Liu committed
91

92
## DiffusionPipeline
93

94
95
96
97
98
99
[[autodoc]] DiffusionPipeline
	- all
	- __call__
	- device
	- to
	- components
100

101
102
103
104
105

[[autodoc]] pipelines.StableDiffusionMixin.enable_freeu

[[autodoc]] pipelines.StableDiffusionMixin.disable_freeu

106
107
108
## PushToHubMixin

[[autodoc]] utils.PushToHubMixin
109
110
111
112
113
114
115
116
117
118
119
120
121
122

## Callbacks

[[autodoc]] callbacks.PipelineCallback

[[autodoc]] callbacks.SDCFGCutoffCallback

[[autodoc]] callbacks.SDXLCFGCutoffCallback

[[autodoc]] callbacks.SDXLControlnetCFGCutoffCallback

[[autodoc]] callbacks.IPAdapterScaleCutoffCallback

[[autodoc]] callbacks.SD3CFGCutoffCallback