__init__.py 39.2 KB
Newer Older
1
__version__ = "0.33.0.dev0"
2

Dhruv Nair's avatar
Dhruv Nair committed
3
4
from typing import TYPE_CHECKING

5
from .utils import (
6
    DIFFUSERS_SLOW_IMPORT,
7
    OptionalDependencyNotAvailable,
Dhruv Nair's avatar
Dhruv Nair committed
8
    _LazyModule,
9
    is_flax_available,
10
    is_k_diffusion_available,
11
    is_librosa_available,
12
    is_note_seq_available,
13
14
    is_onnx_available,
    is_scipy_available,
15
    is_sentencepiece_available,
16
    is_torch_available,
17
    is_torchsde_available,
18
19
    is_transformers_available,
)
Patrick von Platen's avatar
Patrick von Platen committed
20
21


Dhruv Nair's avatar
Dhruv Nair committed
22
23
24
25
26
27
28
29
30
# Lazy Import based on
# https://github.com/huggingface/transformers/blob/main/src/transformers/__init__.py

# When adding a new object to this init, please add it to `_import_structure`. The `_import_structure` is a dictionary submodule to list of object names,
# and is used to defer the actual importing for when the objects are requested.
# This way `import diffusers` provides the names in the namespace without actually importing anything (and especially none of the backends).

_import_structure = {
    "configuration_utils": ["ConfigMixin"],
31
    "hooks": [],
32
    "loaders": ["FromOriginalModelMixin"],
Dhruv Nair's avatar
Dhruv Nair committed
33
34
    "models": [],
    "pipelines": [],
35
    "quantizers.quantization_config": ["BitsAndBytesConfig", "GGUFQuantizationConfig", "TorchAoConfig"],
Dhruv Nair's avatar
Dhruv Nair committed
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
    "schedulers": [],
    "utils": [
        "OptionalDependencyNotAvailable",
        "is_flax_available",
        "is_inflect_available",
        "is_invisible_watermark_available",
        "is_k_diffusion_available",
        "is_k_diffusion_version",
        "is_librosa_available",
        "is_note_seq_available",
        "is_onnx_available",
        "is_scipy_available",
        "is_torch_available",
        "is_torchsde_available",
        "is_transformers_available",
        "is_transformers_version",
        "is_unidecode_available",
        "logging",
    ],
}

57
58
59
60
try:
    if not is_onnx_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
61
62
63
64
65
66
    from .utils import dummy_onnx_objects  # noqa F403

    _import_structure["utils.dummy_onnx_objects"] = [
        name for name in dir(dummy_onnx_objects) if not name.startswith("_")
    ]

67
else:
Dhruv Nair's avatar
Dhruv Nair committed
68
    _import_structure["pipelines"].extend(["OnnxRuntimeModel"])
69

70
71
72
73
try:
    if not is_torch_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
74
75
76
77
    from .utils import dummy_pt_objects  # noqa F403

    _import_structure["utils.dummy_pt_objects"] = [name for name in dir(dummy_pt_objects) if not name.startswith("_")]

78
else:
79
80
81
82
83
84
85
    _import_structure["hooks"].extend(
        [
            "HookRegistry",
            "PyramidAttentionBroadcastConfig",
            "apply_pyramid_attention_broadcast",
        ]
    )
Dhruv Nair's avatar
Dhruv Nair committed
86
87
    _import_structure["models"].extend(
        [
Aryan's avatar
Aryan committed
88
            "AllegroTransformer3DModel",
Dhruv Nair's avatar
Dhruv Nair committed
89
            "AsymmetricAutoencoderKL",
Sayak Paul's avatar
Sayak Paul committed
90
            "AuraFlowTransformer2DModel",
91
            "AutoencoderDC",
Dhruv Nair's avatar
Dhruv Nair committed
92
            "AutoencoderKL",
Aryan's avatar
Aryan committed
93
            "AutoencoderKLAllegro",
94
            "AutoencoderKLCogVideoX",
Aryan's avatar
Aryan committed
95
            "AutoencoderKLHunyuanVideo",
Aryan's avatar
Aryan committed
96
            "AutoencoderKLLTXVideo",
97
            "AutoencoderKLMagvit",
Aryan's avatar
Aryan committed
98
            "AutoencoderKLMochi",
Suraj Patil's avatar
Suraj Patil committed
99
            "AutoencoderKLTemporalDecoder",
100
            "AutoencoderKLWan",
101
            "AutoencoderOobleck",
Dhruv Nair's avatar
Dhruv Nair committed
102
            "AutoencoderTiny",
103
            "CacheMixin",
104
            "CogVideoXTransformer3DModel",
Yuxuan.Zhang's avatar
Yuxuan.Zhang committed
105
            "CogView3PlusTransformer2DModel",
106
            "CogView4Transformer2DModel",
Shenghai Yuan's avatar
Shenghai Yuan committed
107
            "ConsisIDTransformer3DModel",
Will Berman's avatar
Will Berman committed
108
            "ConsistencyDecoderVAE",
Dhruv Nair's avatar
Dhruv Nair committed
109
            "ControlNetModel",
hlky's avatar
hlky committed
110
            "ControlNetUnionModel",
111
            "ControlNetXSAdapter",
112
            "DiTTransformer2DModel",
113
            "EasyAnimateTransformer3DModel",
王奇勋's avatar
王奇勋 committed
114
            "FluxControlNetModel",
115
            "FluxMultiControlNetModel",
Sayak Paul's avatar
Sayak Paul committed
116
            "FluxTransformer2DModel",
117
            "HunyuanDiT2DControlNetModel",
118
            "HunyuanDiT2DModel",
119
            "HunyuanDiT2DMultiControlNetModel",
Aryan's avatar
Aryan committed
120
            "HunyuanVideoTransformer3DModel",
121
            "I2VGenXLUNet",
122
            "Kandinsky3UNet",
123
            "LatteTransformer3DModel",
Aryan's avatar
Aryan committed
124
            "LTXVideoTransformer3DModel",
Le Zhuo's avatar
Le Zhuo committed
125
            "Lumina2Transformer2DModel",
126
            "LuminaNextDiT2DModel",
Aryan's avatar
Aryan committed
127
            "MochiTransformer3DModel",
Dhruv Nair's avatar
Dhruv Nair committed
128
            "ModelMixin",
Dhruv Nair's avatar
Dhruv Nair committed
129
            "MotionAdapter",
Dhruv Nair's avatar
Dhruv Nair committed
130
            "MultiAdapter",
131
            "MultiControlNetModel",
Shitao Xiao's avatar
Shitao Xiao committed
132
            "OmniGenTransformer2DModel",
133
            "PixArtTransformer2DModel",
Dhruv Nair's avatar
Dhruv Nair committed
134
            "PriorTransformer",
135
            "SanaTransformer2DModel",
136
137
            "SD3ControlNetModel",
            "SD3MultiControlNetModel",
Dhruv Nair's avatar
Dhruv Nair committed
138
            "SD3Transformer2DModel",
Aryan's avatar
Aryan committed
139
            "SparseControlNetModel",
140
            "StableAudioDiTModel",
141
            "StableCascadeUNet",
Dhruv Nair's avatar
Dhruv Nair committed
142
143
144
145
146
147
148
            "T2IAdapter",
            "T5FilmDecoder",
            "Transformer2DModel",
            "UNet1DModel",
            "UNet2DConditionModel",
            "UNet2DModel",
            "UNet3DConditionModel",
149
            "UNetControlNetXSModel",
Dhruv Nair's avatar
Dhruv Nair committed
150
            "UNetMotionModel",
Suraj Patil's avatar
Suraj Patil committed
151
            "UNetSpatioTemporalConditionModel",
Will Berman's avatar
Will Berman committed
152
            "UVit2DModel",
Dhruv Nair's avatar
Dhruv Nair committed
153
            "VQModel",
154
            "WanTransformer3DModel",
Dhruv Nair's avatar
Dhruv Nair committed
155
        ]
156
    )
Dhruv Nair's avatar
Dhruv Nair committed
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
    _import_structure["optimization"] = [
        "get_constant_schedule",
        "get_constant_schedule_with_warmup",
        "get_cosine_schedule_with_warmup",
        "get_cosine_with_hard_restarts_schedule_with_warmup",
        "get_linear_schedule_with_warmup",
        "get_polynomial_decay_schedule_with_warmup",
        "get_scheduler",
    ]
    _import_structure["pipelines"].extend(
        [
            "AudioPipelineOutput",
            "AutoPipelineForImage2Image",
            "AutoPipelineForInpainting",
            "AutoPipelineForText2Image",
            "ConsistencyModelPipeline",
            "DanceDiffusionPipeline",
            "DDIMPipeline",
            "DDPMPipeline",
            "DiffusionPipeline",
            "DiTPipeline",
            "ImagePipelineOutput",
            "KarrasVePipeline",
            "LDMPipeline",
            "LDMSuperResolutionPipeline",
            "PNDMPipeline",
            "RePaintPipeline",
            "ScoreSdeVePipeline",
185
            "StableDiffusionMixin",
Dhruv Nair's avatar
Dhruv Nair committed
186
        ]
187
    )
188
    _import_structure["quantizers"] = ["DiffusersQuantizer"]
Dhruv Nair's avatar
Dhruv Nair committed
189
190
    _import_structure["schedulers"].extend(
        [
Will Berman's avatar
Will Berman committed
191
            "AmusedScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
192
            "CMStochasticIterativeScheduler",
193
194
            "CogVideoXDDIMScheduler",
            "CogVideoXDPMScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
195
196
197
198
199
200
201
202
203
204
            "DDIMInverseScheduler",
            "DDIMParallelScheduler",
            "DDIMScheduler",
            "DDPMParallelScheduler",
            "DDPMScheduler",
            "DDPMWuerstchenScheduler",
            "DEISMultistepScheduler",
            "DPMSolverMultistepInverseScheduler",
            "DPMSolverMultistepScheduler",
            "DPMSolverSinglestepScheduler",
205
            "EDMDPMSolverMultistepScheduler",
Suraj Patil's avatar
Suraj Patil committed
206
            "EDMEulerScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
207
208
            "EulerAncestralDiscreteScheduler",
            "EulerDiscreteScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
209
            "FlowMatchEulerDiscreteScheduler",
210
            "FlowMatchHeunDiscreteScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
211
212
213
214
215
            "HeunDiscreteScheduler",
            "IPNDMScheduler",
            "KarrasVeScheduler",
            "KDPM2AncestralDiscreteScheduler",
            "KDPM2DiscreteScheduler",
216
            "LCMScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
217
218
            "PNDMScheduler",
            "RePaintScheduler",
Junsong Chen's avatar
Junsong Chen committed
219
            "SASolverScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
220
221
            "SchedulerMixin",
            "ScoreSdeVeScheduler",
Michael's avatar
Michael committed
222
            "TCDScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
223
224
225
226
            "UnCLIPScheduler",
            "UniPCMultistepScheduler",
            "VQDiffusionScheduler",
        ]
227
    )
Dhruv Nair's avatar
Dhruv Nair committed
228
    _import_structure["training_utils"] = ["EMAModel"]
Patrick von Platen's avatar
Patrick von Platen committed
229

230
231
232
233
try:
    if not (is_torch_available() and is_scipy_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
234
235
236
237
238
239
    from .utils import dummy_torch_and_scipy_objects  # noqa F403

    _import_structure["utils.dummy_torch_and_scipy_objects"] = [
        name for name in dir(dummy_torch_and_scipy_objects) if not name.startswith("_")
    ]

240
else:
Dhruv Nair's avatar
Dhruv Nair committed
241
    _import_structure["schedulers"].extend(["LMSDiscreteScheduler"])
Patrick von Platen's avatar
Patrick von Platen committed
242

243
244
245
246
try:
    if not (is_torch_available() and is_torchsde_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
247
248
249
250
251
252
    from .utils import dummy_torch_and_torchsde_objects  # noqa F403

    _import_structure["utils.dummy_torch_and_torchsde_objects"] = [
        name for name in dir(dummy_torch_and_torchsde_objects) if not name.startswith("_")
    ]

253
else:
254
    _import_structure["schedulers"].extend(["CosineDPMSolverMultistepScheduler", "DPMSolverSDEScheduler"])
255
256
257
258
259

try:
    if not (is_torch_available() and is_transformers_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
260
261
262
263
264
265
    from .utils import dummy_torch_and_transformers_objects  # noqa F403

    _import_structure["utils.dummy_torch_and_transformers_objects"] = [
        name for name in dir(dummy_torch_and_transformers_objects) if not name.startswith("_")
    ]

266
else:
Dhruv Nair's avatar
Dhruv Nair committed
267
268
    _import_structure["pipelines"].extend(
        [
Aryan's avatar
Aryan committed
269
            "AllegroPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
270
271
            "AltDiffusionImg2ImgPipeline",
            "AltDiffusionPipeline",
Will Berman's avatar
Will Berman committed
272
273
274
            "AmusedImg2ImgPipeline",
            "AmusedInpaintPipeline",
            "AmusedPipeline",
275
            "AnimateDiffControlNetPipeline",
Aryan's avatar
Aryan committed
276
            "AnimateDiffPAGPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
277
            "AnimateDiffPipeline",
Aryan's avatar
Aryan committed
278
            "AnimateDiffSDXLPipeline",
Aryan's avatar
Aryan committed
279
            "AnimateDiffSparseControlNetPipeline",
280
            "AnimateDiffVideoToVideoControlNetPipeline",
Aryan V S's avatar
Aryan V S committed
281
            "AnimateDiffVideoToVideoPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
282
283
284
285
            "AudioLDM2Pipeline",
            "AudioLDM2ProjectionModel",
            "AudioLDM2UNet2DConditionModel",
            "AudioLDMPipeline",
Sayak Paul's avatar
Sayak Paul committed
286
            "AuraFlowPipeline",
Ayush Mangal's avatar
Ayush Mangal committed
287
288
            "BlipDiffusionControlNetPipeline",
            "BlipDiffusionPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
289
            "CLIPImageProjection",
290
            "CogVideoXFunControlPipeline",
291
            "CogVideoXImageToVideoPipeline",
292
            "CogVideoXPipeline",
293
            "CogVideoXVideoToVideoPipeline",
Yuxuan.Zhang's avatar
Yuxuan.Zhang committed
294
            "CogView3PlusPipeline",
295
            "CogView4Pipeline",
Shenghai Yuan's avatar
Shenghai Yuan committed
296
            "ConsisIDPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
297
            "CycleDiffusionPipeline",
298
299
300
            "EasyAnimateControlPipeline",
            "EasyAnimateInpaintPipeline",
            "EasyAnimatePipeline",
Aryan's avatar
Aryan committed
301
            "FluxControlImg2ImgPipeline",
302
            "FluxControlInpaintPipeline",
303
304
            "FluxControlNetImg2ImgPipeline",
            "FluxControlNetInpaintPipeline",
王奇勋's avatar
王奇勋 committed
305
            "FluxControlNetPipeline",
Aryan's avatar
Aryan committed
306
307
            "FluxControlPipeline",
            "FluxFillPipeline",
308
309
            "FluxImg2ImgPipeline",
            "FluxInpaintPipeline",
Sayak Paul's avatar
Sayak Paul committed
310
            "FluxPipeline",
Aryan's avatar
Aryan committed
311
            "FluxPriorReduxPipeline",
312
            "HunyuanDiTControlNetPipeline",
313
            "HunyuanDiTPAGPipeline",
314
            "HunyuanDiTPipeline",
Aryan's avatar
Aryan committed
315
            "HunyuanSkyreelsImageToVideoPipeline",
Aryan's avatar
Aryan committed
316
            "HunyuanVideoPipeline",
317
            "I2VGenXLPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
318
319
320
321
322
323
324
            "IFImg2ImgPipeline",
            "IFImg2ImgSuperResolutionPipeline",
            "IFInpaintingPipeline",
            "IFInpaintingSuperResolutionPipeline",
            "IFPipeline",
            "IFSuperResolutionPipeline",
            "ImageTextPipelineOutput",
325
326
            "Kandinsky3Img2ImgPipeline",
            "Kandinsky3Pipeline",
Dhruv Nair's avatar
Dhruv Nair committed
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
            "KandinskyCombinedPipeline",
            "KandinskyImg2ImgCombinedPipeline",
            "KandinskyImg2ImgPipeline",
            "KandinskyInpaintCombinedPipeline",
            "KandinskyInpaintPipeline",
            "KandinskyPipeline",
            "KandinskyPriorPipeline",
            "KandinskyV22CombinedPipeline",
            "KandinskyV22ControlnetImg2ImgPipeline",
            "KandinskyV22ControlnetPipeline",
            "KandinskyV22Img2ImgCombinedPipeline",
            "KandinskyV22Img2ImgPipeline",
            "KandinskyV22InpaintCombinedPipeline",
            "KandinskyV22InpaintPipeline",
            "KandinskyV22Pipeline",
            "KandinskyV22PriorEmb2EmbPipeline",
            "KandinskyV22PriorPipeline",
344
            "LatentConsistencyModelImg2ImgPipeline",
345
            "LatentConsistencyModelPipeline",
346
            "LattePipeline",
Dhruv Nair's avatar
Dhruv Nair committed
347
            "LDMTextToImagePipeline",
348
349
            "LEditsPPPipelineStableDiffusion",
            "LEditsPPPipelineStableDiffusionXL",
Aryan's avatar
Aryan committed
350
351
            "LTXImageToVideoPipeline",
            "LTXPipeline",
Le Zhuo's avatar
Le Zhuo committed
352
            "Lumina2Text2ImgPipeline",
353
            "LuminaText2ImgPipeline",
354
            "MarigoldDepthPipeline",
355
            "MarigoldIntrinsicsPipeline",
356
            "MarigoldNormalsPipeline",
Aryan's avatar
Aryan committed
357
            "MochiPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
358
            "MusicLDMPipeline",
Shitao Xiao's avatar
Shitao Xiao committed
359
            "OmniGenPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
360
            "PaintByExamplePipeline",
Dhruv Nair's avatar
Dhruv Nair committed
361
            "PIAPipeline",
Sayak Paul's avatar
Sayak Paul committed
362
            "PixArtAlphaPipeline",
363
            "PixArtSigmaPAGPipeline",
364
            "PixArtSigmaPipeline",
Aryan's avatar
Aryan committed
365
            "ReduxImageEncoder",
366
367
            "SanaPAGPipeline",
            "SanaPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
368
369
370
            "SemanticStableDiffusionPipeline",
            "ShapEImg2ImgPipeline",
            "ShapEPipeline",
371
372
            "StableAudioPipeline",
            "StableAudioProjectionModel",
373
374
375
            "StableCascadeCombinedPipeline",
            "StableCascadeDecoderPipeline",
            "StableCascadePriorPipeline",
376
            "StableDiffusion3ControlNetInpaintingPipeline",
377
            "StableDiffusion3ControlNetPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
378
            "StableDiffusion3Img2ImgPipeline",
379
            "StableDiffusion3InpaintPipeline",
380
            "StableDiffusion3PAGImg2ImgPipeline",
381
            "StableDiffusion3PAGImg2ImgPipeline",
StAlKeR7779's avatar
StAlKeR7779 committed
382
            "StableDiffusion3PAGPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
383
            "StableDiffusion3Pipeline",
Dhruv Nair's avatar
Dhruv Nair committed
384
385
386
387
            "StableDiffusionAdapterPipeline",
            "StableDiffusionAttendAndExcitePipeline",
            "StableDiffusionControlNetImg2ImgPipeline",
            "StableDiffusionControlNetInpaintPipeline",
388
            "StableDiffusionControlNetPAGInpaintPipeline",
389
            "StableDiffusionControlNetPAGPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
390
            "StableDiffusionControlNetPipeline",
391
            "StableDiffusionControlNetXSPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
392
393
394
395
396
397
398
399
400
401
402
403
            "StableDiffusionDepth2ImgPipeline",
            "StableDiffusionDiffEditPipeline",
            "StableDiffusionGLIGENPipeline",
            "StableDiffusionGLIGENTextImagePipeline",
            "StableDiffusionImageVariationPipeline",
            "StableDiffusionImg2ImgPipeline",
            "StableDiffusionInpaintPipeline",
            "StableDiffusionInpaintPipelineLegacy",
            "StableDiffusionInstructPix2PixPipeline",
            "StableDiffusionLatentUpscalePipeline",
            "StableDiffusionLDM3DPipeline",
            "StableDiffusionModelEditingPipeline",
404
            "StableDiffusionPAGImg2ImgPipeline",
405
            "StableDiffusionPAGInpaintPipeline",
406
            "StableDiffusionPAGPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
407
408
409
410
411
412
413
414
415
416
            "StableDiffusionPanoramaPipeline",
            "StableDiffusionParadigmsPipeline",
            "StableDiffusionPipeline",
            "StableDiffusionPipelineSafe",
            "StableDiffusionPix2PixZeroPipeline",
            "StableDiffusionSAGPipeline",
            "StableDiffusionUpscalePipeline",
            "StableDiffusionXLAdapterPipeline",
            "StableDiffusionXLControlNetImg2ImgPipeline",
            "StableDiffusionXLControlNetInpaintPipeline",
417
            "StableDiffusionXLControlNetPAGImg2ImgPipeline",
YiYi Xu's avatar
YiYi Xu committed
418
            "StableDiffusionXLControlNetPAGPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
419
            "StableDiffusionXLControlNetPipeline",
hlky's avatar
hlky committed
420
421
422
            "StableDiffusionXLControlNetUnionImg2ImgPipeline",
            "StableDiffusionXLControlNetUnionInpaintPipeline",
            "StableDiffusionXLControlNetUnionPipeline",
423
            "StableDiffusionXLControlNetXSPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
424
425
426
            "StableDiffusionXLImg2ImgPipeline",
            "StableDiffusionXLInpaintPipeline",
            "StableDiffusionXLInstructPix2PixPipeline",
YiYi Xu's avatar
YiYi Xu committed
427
428
429
            "StableDiffusionXLPAGImg2ImgPipeline",
            "StableDiffusionXLPAGInpaintPipeline",
            "StableDiffusionXLPAGPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
430
431
432
            "StableDiffusionXLPipeline",
            "StableUnCLIPImg2ImgPipeline",
            "StableUnCLIPPipeline",
Suraj Patil's avatar
Suraj Patil committed
433
            "StableVideoDiffusionPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
434
435
            "TextToVideoSDPipeline",
            "TextToVideoZeroPipeline",
436
            "TextToVideoZeroSDXLPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
437
438
439
440
441
442
443
444
445
446
447
            "UnCLIPImageVariationPipeline",
            "UnCLIPPipeline",
            "UniDiffuserModel",
            "UniDiffuserPipeline",
            "UniDiffuserTextDecoder",
            "VersatileDiffusionDualGuidedPipeline",
            "VersatileDiffusionImageVariationPipeline",
            "VersatileDiffusionPipeline",
            "VersatileDiffusionTextToImagePipeline",
            "VideoToVideoSDPipeline",
            "VQDiffusionPipeline",
448
449
            "WanImageToVideoPipeline",
            "WanPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
450
451
452
453
            "WuerstchenCombinedPipeline",
            "WuerstchenDecoderPipeline",
            "WuerstchenPriorPipeline",
        ]
454
    )
455

456
457
458
459
try:
    if not (is_torch_available() and is_transformers_available() and is_k_diffusion_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
460
461
462
463
464
465
    from .utils import dummy_torch_and_transformers_and_k_diffusion_objects  # noqa F403

    _import_structure["utils.dummy_torch_and_transformers_and_k_diffusion_objects"] = [
        name for name in dir(dummy_torch_and_transformers_and_k_diffusion_objects) if not name.startswith("_")
    ]

466
else:
467
    _import_structure["pipelines"].extend(["StableDiffusionKDiffusionPipeline", "StableDiffusionXLKDiffusionPipeline"])
468

469
470
471
472
473
474
475
476
477
478
479
try:
    if not (is_torch_available() and is_transformers_available() and is_sentencepiece_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    from .utils import dummy_torch_and_transformers_and_sentencepiece_objects  # noqa F403

    _import_structure["utils.dummy_torch_and_transformers_and_sentencepiece_objects"] = [
        name for name in dir(dummy_torch_and_transformers_and_sentencepiece_objects) if not name.startswith("_")
    ]

else:
Álvaro Somoza's avatar
Álvaro Somoza committed
480
    _import_structure["pipelines"].extend(["KolorsImg2ImgPipeline", "KolorsPAGPipeline", "KolorsPipeline"])
481

482
483
484
485
try:
    if not (is_torch_available() and is_transformers_available() and is_onnx_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
486
487
488
489
490
491
    from .utils import dummy_torch_and_transformers_and_onnx_objects  # noqa F403

    _import_structure["utils.dummy_torch_and_transformers_and_onnx_objects"] = [
        name for name in dir(dummy_torch_and_transformers_and_onnx_objects) if not name.startswith("_")
    ]

492
else:
Dhruv Nair's avatar
Dhruv Nair committed
493
494
495
496
497
498
499
500
501
    _import_structure["pipelines"].extend(
        [
            "OnnxStableDiffusionImg2ImgPipeline",
            "OnnxStableDiffusionInpaintPipeline",
            "OnnxStableDiffusionInpaintPipelineLegacy",
            "OnnxStableDiffusionPipeline",
            "OnnxStableDiffusionUpscalePipeline",
            "StableDiffusionOnnxPipeline",
        ]
502
    )
503
504
505
506
507

try:
    if not (is_torch_available() and is_librosa_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
508
509
510
511
512
513
    from .utils import dummy_torch_and_librosa_objects  # noqa F403

    _import_structure["utils.dummy_torch_and_librosa_objects"] = [
        name for name in dir(dummy_torch_and_librosa_objects) if not name.startswith("_")
    ]

514
else:
Dhruv Nair's avatar
Dhruv Nair committed
515
    _import_structure["pipelines"].extend(["AudioDiffusionPipeline", "Mel"])
516

517
try:
518
    if not (is_transformers_available() and is_torch_available() and is_note_seq_available()):
519
520
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
521
522
523
524
525
526
527
    from .utils import dummy_transformers_and_torch_and_note_seq_objects  # noqa F403

    _import_structure["utils.dummy_transformers_and_torch_and_note_seq_objects"] = [
        name for name in dir(dummy_transformers_and_torch_and_note_seq_objects) if not name.startswith("_")
    ]


528
else:
Dhruv Nair's avatar
Dhruv Nair committed
529
    _import_structure["pipelines"].extend(["SpectrogramDiffusionPipeline"])
530

531
532
533
534
try:
    if not is_flax_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
535
536
537
538
539
540
541
    from .utils import dummy_flax_objects  # noqa F403

    _import_structure["utils.dummy_flax_objects"] = [
        name for name in dir(dummy_flax_objects) if not name.startswith("_")
    ]


542
else:
543
    _import_structure["models.controlnets.controlnet_flax"] = ["FlaxControlNetModel"]
Dhruv Nair's avatar
Dhruv Nair committed
544
    _import_structure["models.modeling_flax_utils"] = ["FlaxModelMixin"]
545
    _import_structure["models.unets.unet_2d_condition_flax"] = ["FlaxUNet2DConditionModel"]
Dhruv Nair's avatar
Dhruv Nair committed
546
547
548
549
550
551
552
    _import_structure["models.vae_flax"] = ["FlaxAutoencoderKL"]
    _import_structure["pipelines"].extend(["FlaxDiffusionPipeline"])
    _import_structure["schedulers"].extend(
        [
            "FlaxDDIMScheduler",
            "FlaxDDPMScheduler",
            "FlaxDPMSolverMultistepScheduler",
Pedro Cuenca's avatar
Pedro Cuenca committed
553
            "FlaxEulerDiscreteScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
554
555
556
557
558
559
            "FlaxKarrasVeScheduler",
            "FlaxLMSDiscreteScheduler",
            "FlaxPNDMScheduler",
            "FlaxSchedulerMixin",
            "FlaxScoreSdeVeScheduler",
        ]
560
561
    )

562

563
564
565
566
try:
    if not (is_flax_available() and is_transformers_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
567
568
569
570
571
572
573
    from .utils import dummy_flax_and_transformers_objects  # noqa F403

    _import_structure["utils.dummy_flax_and_transformers_objects"] = [
        name for name in dir(dummy_flax_and_transformers_objects) if not name.startswith("_")
    ]


574
else:
Dhruv Nair's avatar
Dhruv Nair committed
575
576
577
578
579
580
    _import_structure["pipelines"].extend(
        [
            "FlaxStableDiffusionControlNetPipeline",
            "FlaxStableDiffusionImg2ImgPipeline",
            "FlaxStableDiffusionInpaintPipeline",
            "FlaxStableDiffusionPipeline",
Pedro Cuenca's avatar
Pedro Cuenca committed
581
            "FlaxStableDiffusionXLPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
582
        ]
583
    )
584
585
586
587
588

try:
    if not (is_note_seq_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
589
590
591
592
593
594
595
    from .utils import dummy_note_seq_objects  # noqa F403

    _import_structure["utils.dummy_note_seq_objects"] = [
        name for name in dir(dummy_note_seq_objects) if not name.startswith("_")
    ]


596
else:
Dhruv Nair's avatar
Dhruv Nair committed
597
598
    _import_structure["pipelines"].extend(["MidiProcessor"])

599
if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
Dhruv Nair's avatar
Dhruv Nair committed
600
    from .configuration_utils import ConfigMixin
601
    from .quantizers.quantization_config import BitsAndBytesConfig, GGUFQuantizationConfig, TorchAoConfig
Dhruv Nair's avatar
Dhruv Nair committed
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616

    try:
        if not is_onnx_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_onnx_objects import *  # noqa F403
    else:
        from .pipelines import OnnxRuntimeModel

    try:
        if not is_torch_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_pt_objects import *  # noqa F403
    else:
617
        from .hooks import HookRegistry, PyramidAttentionBroadcastConfig, apply_pyramid_attention_broadcast
Dhruv Nair's avatar
Dhruv Nair committed
618
        from .models import (
Aryan's avatar
Aryan committed
619
            AllegroTransformer3DModel,
Dhruv Nair's avatar
Dhruv Nair committed
620
            AsymmetricAutoencoderKL,
Sayak Paul's avatar
Sayak Paul committed
621
            AuraFlowTransformer2DModel,
622
            AutoencoderDC,
Dhruv Nair's avatar
Dhruv Nair committed
623
            AutoencoderKL,
Aryan's avatar
Aryan committed
624
            AutoencoderKLAllegro,
625
            AutoencoderKLCogVideoX,
Aryan's avatar
Aryan committed
626
            AutoencoderKLHunyuanVideo,
Aryan's avatar
Aryan committed
627
            AutoencoderKLLTXVideo,
628
            AutoencoderKLMagvit,
Aryan's avatar
Aryan committed
629
            AutoencoderKLMochi,
Suraj Patil's avatar
Suraj Patil committed
630
            AutoencoderKLTemporalDecoder,
631
            AutoencoderKLWan,
632
            AutoencoderOobleck,
Dhruv Nair's avatar
Dhruv Nair committed
633
            AutoencoderTiny,
634
            CacheMixin,
635
            CogVideoXTransformer3DModel,
Yuxuan.Zhang's avatar
Yuxuan.Zhang committed
636
            CogView3PlusTransformer2DModel,
637
            CogView4Transformer2DModel,
Shenghai Yuan's avatar
Shenghai Yuan committed
638
            ConsisIDTransformer3DModel,
Will Berman's avatar
Will Berman committed
639
            ConsistencyDecoderVAE,
Dhruv Nair's avatar
Dhruv Nair committed
640
            ControlNetModel,
hlky's avatar
hlky committed
641
            ControlNetUnionModel,
642
            ControlNetXSAdapter,
643
            DiTTransformer2DModel,
644
            EasyAnimateTransformer3DModel,
王奇勋's avatar
王奇勋 committed
645
            FluxControlNetModel,
646
            FluxMultiControlNetModel,
Sayak Paul's avatar
Sayak Paul committed
647
            FluxTransformer2DModel,
648
            HunyuanDiT2DControlNetModel,
649
            HunyuanDiT2DModel,
650
            HunyuanDiT2DMultiControlNetModel,
Aryan's avatar
Aryan committed
651
            HunyuanVideoTransformer3DModel,
652
            I2VGenXLUNet,
653
            Kandinsky3UNet,
654
            LatteTransformer3DModel,
Aryan's avatar
Aryan committed
655
            LTXVideoTransformer3DModel,
Le Zhuo's avatar
Le Zhuo committed
656
            Lumina2Transformer2DModel,
657
            LuminaNextDiT2DModel,
Aryan's avatar
Aryan committed
658
            MochiTransformer3DModel,
Dhruv Nair's avatar
Dhruv Nair committed
659
            ModelMixin,
Dhruv Nair's avatar
Dhruv Nair committed
660
            MotionAdapter,
Dhruv Nair's avatar
Dhruv Nair committed
661
            MultiAdapter,
662
            MultiControlNetModel,
Shitao Xiao's avatar
Shitao Xiao committed
663
            OmniGenTransformer2DModel,
664
            PixArtTransformer2DModel,
Dhruv Nair's avatar
Dhruv Nair committed
665
            PriorTransformer,
666
            SanaTransformer2DModel,
667
668
            SD3ControlNetModel,
            SD3MultiControlNetModel,
Dhruv Nair's avatar
Dhruv Nair committed
669
            SD3Transformer2DModel,
Aryan's avatar
Aryan committed
670
            SparseControlNetModel,
671
            StableAudioDiTModel,
Dhruv Nair's avatar
Dhruv Nair committed
672
673
674
675
676
677
678
            T2IAdapter,
            T5FilmDecoder,
            Transformer2DModel,
            UNet1DModel,
            UNet2DConditionModel,
            UNet2DModel,
            UNet3DConditionModel,
679
            UNetControlNetXSModel,
Dhruv Nair's avatar
Dhruv Nair committed
680
            UNetMotionModel,
Suraj Patil's avatar
Suraj Patil committed
681
            UNetSpatioTemporalConditionModel,
Will Berman's avatar
Will Berman committed
682
            UVit2DModel,
Dhruv Nair's avatar
Dhruv Nair committed
683
            VQModel,
684
            WanTransformer3DModel,
Dhruv Nair's avatar
Dhruv Nair committed
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
        )
        from .optimization import (
            get_constant_schedule,
            get_constant_schedule_with_warmup,
            get_cosine_schedule_with_warmup,
            get_cosine_with_hard_restarts_schedule_with_warmup,
            get_linear_schedule_with_warmup,
            get_polynomial_decay_schedule_with_warmup,
            get_scheduler,
        )
        from .pipelines import (
            AudioPipelineOutput,
            AutoPipelineForImage2Image,
            AutoPipelineForInpainting,
            AutoPipelineForText2Image,
Ayush Mangal's avatar
Ayush Mangal committed
700
701
            BlipDiffusionControlNetPipeline,
            BlipDiffusionPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
702
703
704
705
706
707
708
709
710
711
712
713
714
715
            CLIPImageProjection,
            ConsistencyModelPipeline,
            DanceDiffusionPipeline,
            DDIMPipeline,
            DDPMPipeline,
            DiffusionPipeline,
            DiTPipeline,
            ImagePipelineOutput,
            KarrasVePipeline,
            LDMPipeline,
            LDMSuperResolutionPipeline,
            PNDMPipeline,
            RePaintPipeline,
            ScoreSdeVePipeline,
716
            StableDiffusionMixin,
Dhruv Nair's avatar
Dhruv Nair committed
717
        )
718
        from .quantizers import DiffusersQuantizer
Dhruv Nair's avatar
Dhruv Nair committed
719
        from .schedulers import (
Will Berman's avatar
Will Berman committed
720
            AmusedScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
721
            CMStochasticIterativeScheduler,
722
723
            CogVideoXDDIMScheduler,
            CogVideoXDPMScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
724
725
726
727
728
729
730
731
732
733
            DDIMInverseScheduler,
            DDIMParallelScheduler,
            DDIMScheduler,
            DDPMParallelScheduler,
            DDPMScheduler,
            DDPMWuerstchenScheduler,
            DEISMultistepScheduler,
            DPMSolverMultistepInverseScheduler,
            DPMSolverMultistepScheduler,
            DPMSolverSinglestepScheduler,
734
            EDMDPMSolverMultistepScheduler,
Suraj Patil's avatar
Suraj Patil committed
735
            EDMEulerScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
736
737
            EulerAncestralDiscreteScheduler,
            EulerDiscreteScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
738
            FlowMatchEulerDiscreteScheduler,
739
            FlowMatchHeunDiscreteScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
740
741
742
743
744
            HeunDiscreteScheduler,
            IPNDMScheduler,
            KarrasVeScheduler,
            KDPM2AncestralDiscreteScheduler,
            KDPM2DiscreteScheduler,
745
            LCMScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
746
747
            PNDMScheduler,
            RePaintScheduler,
Junsong Chen's avatar
Junsong Chen committed
748
            SASolverScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
749
750
            SchedulerMixin,
            ScoreSdeVeScheduler,
Michael's avatar
Michael committed
751
            TCDScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
            UnCLIPScheduler,
            UniPCMultistepScheduler,
            VQDiffusionScheduler,
        )
        from .training_utils import EMAModel

    try:
        if not (is_torch_available() and is_scipy_available()):
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_torch_and_scipy_objects import *  # noqa F403
    else:
        from .schedulers import LMSDiscreteScheduler

    try:
        if not (is_torch_available() and is_torchsde_available()):
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_torch_and_torchsde_objects import *  # noqa F403
    else:
772
        from .schedulers import CosineDPMSolverMultistepScheduler, DPMSolverSDEScheduler
Dhruv Nair's avatar
Dhruv Nair committed
773
774
775
776
777
778
779
780

    try:
        if not (is_torch_available() and is_transformers_available()):
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_torch_and_transformers_objects import *  # noqa F403
    else:
        from .pipelines import (
Aryan's avatar
Aryan committed
781
            AllegroPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
782
783
            AltDiffusionImg2ImgPipeline,
            AltDiffusionPipeline,
Will Berman's avatar
Will Berman committed
784
785
786
            AmusedImg2ImgPipeline,
            AmusedInpaintPipeline,
            AmusedPipeline,
787
            AnimateDiffControlNetPipeline,
Aryan's avatar
Aryan committed
788
            AnimateDiffPAGPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
789
            AnimateDiffPipeline,
Aryan's avatar
Aryan committed
790
            AnimateDiffSDXLPipeline,
Aryan's avatar
Aryan committed
791
            AnimateDiffSparseControlNetPipeline,
792
            AnimateDiffVideoToVideoControlNetPipeline,
Aryan V S's avatar
Aryan V S committed
793
            AnimateDiffVideoToVideoPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
794
795
796
797
            AudioLDM2Pipeline,
            AudioLDM2ProjectionModel,
            AudioLDM2UNet2DConditionModel,
            AudioLDMPipeline,
Sayak Paul's avatar
Sayak Paul committed
798
            AuraFlowPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
799
            CLIPImageProjection,
800
            CogVideoXFunControlPipeline,
801
            CogVideoXImageToVideoPipeline,
802
            CogVideoXPipeline,
803
            CogVideoXVideoToVideoPipeline,
Yuxuan.Zhang's avatar
Yuxuan.Zhang committed
804
            CogView3PlusPipeline,
805
            CogView4Pipeline,
Shenghai Yuan's avatar
Shenghai Yuan committed
806
            ConsisIDPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
807
            CycleDiffusionPipeline,
808
809
810
            EasyAnimateControlPipeline,
            EasyAnimateInpaintPipeline,
            EasyAnimatePipeline,
Aryan's avatar
Aryan committed
811
            FluxControlImg2ImgPipeline,
812
            FluxControlInpaintPipeline,
813
814
            FluxControlNetImg2ImgPipeline,
            FluxControlNetInpaintPipeline,
王奇勋's avatar
王奇勋 committed
815
            FluxControlNetPipeline,
Aryan's avatar
Aryan committed
816
817
            FluxControlPipeline,
            FluxFillPipeline,
818
819
            FluxImg2ImgPipeline,
            FluxInpaintPipeline,
Sayak Paul's avatar
Sayak Paul committed
820
            FluxPipeline,
Aryan's avatar
Aryan committed
821
            FluxPriorReduxPipeline,
822
            HunyuanDiTControlNetPipeline,
823
            HunyuanDiTPAGPipeline,
824
            HunyuanDiTPipeline,
Aryan's avatar
Aryan committed
825
            HunyuanSkyreelsImageToVideoPipeline,
Aryan's avatar
Aryan committed
826
            HunyuanVideoPipeline,
827
            I2VGenXLPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
828
829
830
831
832
833
834
            IFImg2ImgPipeline,
            IFImg2ImgSuperResolutionPipeline,
            IFInpaintingPipeline,
            IFInpaintingSuperResolutionPipeline,
            IFPipeline,
            IFSuperResolutionPipeline,
            ImageTextPipelineOutput,
835
836
            Kandinsky3Img2ImgPipeline,
            Kandinsky3Pipeline,
Dhruv Nair's avatar
Dhruv Nair committed
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
            KandinskyCombinedPipeline,
            KandinskyImg2ImgCombinedPipeline,
            KandinskyImg2ImgPipeline,
            KandinskyInpaintCombinedPipeline,
            KandinskyInpaintPipeline,
            KandinskyPipeline,
            KandinskyPriorPipeline,
            KandinskyV22CombinedPipeline,
            KandinskyV22ControlnetImg2ImgPipeline,
            KandinskyV22ControlnetPipeline,
            KandinskyV22Img2ImgCombinedPipeline,
            KandinskyV22Img2ImgPipeline,
            KandinskyV22InpaintCombinedPipeline,
            KandinskyV22InpaintPipeline,
            KandinskyV22Pipeline,
            KandinskyV22PriorEmb2EmbPipeline,
            KandinskyV22PriorPipeline,
854
            LatentConsistencyModelImg2ImgPipeline,
855
            LatentConsistencyModelPipeline,
856
            LattePipeline,
Dhruv Nair's avatar
Dhruv Nair committed
857
            LDMTextToImagePipeline,
858
859
            LEditsPPPipelineStableDiffusion,
            LEditsPPPipelineStableDiffusionXL,
Aryan's avatar
Aryan committed
860
861
            LTXImageToVideoPipeline,
            LTXPipeline,
Le Zhuo's avatar
Le Zhuo committed
862
            Lumina2Text2ImgPipeline,
863
            LuminaText2ImgPipeline,
864
            MarigoldDepthPipeline,
865
            MarigoldIntrinsicsPipeline,
866
            MarigoldNormalsPipeline,
Aryan's avatar
Aryan committed
867
            MochiPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
868
            MusicLDMPipeline,
Shitao Xiao's avatar
Shitao Xiao committed
869
            OmniGenPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
870
            PaintByExamplePipeline,
Dhruv Nair's avatar
Dhruv Nair committed
871
            PIAPipeline,
Sayak Paul's avatar
Sayak Paul committed
872
            PixArtAlphaPipeline,
873
            PixArtSigmaPAGPipeline,
874
            PixArtSigmaPipeline,
Aryan's avatar
Aryan committed
875
            ReduxImageEncoder,
876
877
            SanaPAGPipeline,
            SanaPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
878
879
880
            SemanticStableDiffusionPipeline,
            ShapEImg2ImgPipeline,
            ShapEPipeline,
881
882
            StableAudioPipeline,
            StableAudioProjectionModel,
883
884
885
            StableCascadeCombinedPipeline,
            StableCascadeDecoderPipeline,
            StableCascadePriorPipeline,
886
            StableDiffusion3ControlNetInpaintingPipeline,
887
            StableDiffusion3ControlNetPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
888
            StableDiffusion3Img2ImgPipeline,
889
            StableDiffusion3InpaintPipeline,
890
            StableDiffusion3PAGImg2ImgPipeline,
891
            StableDiffusion3PAGPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
892
            StableDiffusion3Pipeline,
Dhruv Nair's avatar
Dhruv Nair committed
893
894
895
896
            StableDiffusionAdapterPipeline,
            StableDiffusionAttendAndExcitePipeline,
            StableDiffusionControlNetImg2ImgPipeline,
            StableDiffusionControlNetInpaintPipeline,
897
            StableDiffusionControlNetPAGInpaintPipeline,
898
            StableDiffusionControlNetPAGPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
899
            StableDiffusionControlNetPipeline,
900
            StableDiffusionControlNetXSPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
901
902
903
904
905
906
907
908
909
910
911
912
            StableDiffusionDepth2ImgPipeline,
            StableDiffusionDiffEditPipeline,
            StableDiffusionGLIGENPipeline,
            StableDiffusionGLIGENTextImagePipeline,
            StableDiffusionImageVariationPipeline,
            StableDiffusionImg2ImgPipeline,
            StableDiffusionInpaintPipeline,
            StableDiffusionInpaintPipelineLegacy,
            StableDiffusionInstructPix2PixPipeline,
            StableDiffusionLatentUpscalePipeline,
            StableDiffusionLDM3DPipeline,
            StableDiffusionModelEditingPipeline,
913
            StableDiffusionPAGImg2ImgPipeline,
914
            StableDiffusionPAGInpaintPipeline,
915
            StableDiffusionPAGPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
916
917
918
919
920
921
922
923
924
925
            StableDiffusionPanoramaPipeline,
            StableDiffusionParadigmsPipeline,
            StableDiffusionPipeline,
            StableDiffusionPipelineSafe,
            StableDiffusionPix2PixZeroPipeline,
            StableDiffusionSAGPipeline,
            StableDiffusionUpscalePipeline,
            StableDiffusionXLAdapterPipeline,
            StableDiffusionXLControlNetImg2ImgPipeline,
            StableDiffusionXLControlNetInpaintPipeline,
926
            StableDiffusionXLControlNetPAGImg2ImgPipeline,
YiYi Xu's avatar
YiYi Xu committed
927
            StableDiffusionXLControlNetPAGPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
928
            StableDiffusionXLControlNetPipeline,
hlky's avatar
hlky committed
929
930
931
            StableDiffusionXLControlNetUnionImg2ImgPipeline,
            StableDiffusionXLControlNetUnionInpaintPipeline,
            StableDiffusionXLControlNetUnionPipeline,
932
            StableDiffusionXLControlNetXSPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
933
934
935
            StableDiffusionXLImg2ImgPipeline,
            StableDiffusionXLInpaintPipeline,
            StableDiffusionXLInstructPix2PixPipeline,
YiYi Xu's avatar
YiYi Xu committed
936
937
938
            StableDiffusionXLPAGImg2ImgPipeline,
            StableDiffusionXLPAGInpaintPipeline,
            StableDiffusionXLPAGPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
939
940
941
            StableDiffusionXLPipeline,
            StableUnCLIPImg2ImgPipeline,
            StableUnCLIPPipeline,
Suraj Patil's avatar
Suraj Patil committed
942
            StableVideoDiffusionPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
943
944
            TextToVideoSDPipeline,
            TextToVideoZeroPipeline,
945
            TextToVideoZeroSDXLPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
946
947
948
949
950
951
952
953
954
955
956
            UnCLIPImageVariationPipeline,
            UnCLIPPipeline,
            UniDiffuserModel,
            UniDiffuserPipeline,
            UniDiffuserTextDecoder,
            VersatileDiffusionDualGuidedPipeline,
            VersatileDiffusionImageVariationPipeline,
            VersatileDiffusionPipeline,
            VersatileDiffusionTextToImagePipeline,
            VideoToVideoSDPipeline,
            VQDiffusionPipeline,
957
958
            WanImageToVideoPipeline,
            WanPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
959
960
961
962
963
964
965
966
967
968
969
            WuerstchenCombinedPipeline,
            WuerstchenDecoderPipeline,
            WuerstchenPriorPipeline,
        )

    try:
        if not (is_torch_available() and is_transformers_available() and is_k_diffusion_available()):
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_torch_and_transformers_and_k_diffusion_objects import *  # noqa F403
    else:
970
        from .pipelines import StableDiffusionKDiffusionPipeline, StableDiffusionXLKDiffusionPipeline
Dhruv Nair's avatar
Dhruv Nair committed
971

972
973
974
975
976
977
    try:
        if not (is_torch_available() and is_transformers_available() and is_sentencepiece_available()):
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_torch_and_transformers_and_sentencepiece_objects import *  # noqa F403
    else:
Álvaro Somoza's avatar
Álvaro Somoza committed
978
        from .pipelines import KolorsImg2ImgPipeline, KolorsPAGPipeline, KolorsPipeline
Dhruv Nair's avatar
Dhruv Nair committed
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
    try:
        if not (is_torch_available() and is_transformers_available() and is_onnx_available()):
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_torch_and_transformers_and_onnx_objects import *  # noqa F403
    else:
        from .pipelines import (
            OnnxStableDiffusionImg2ImgPipeline,
            OnnxStableDiffusionInpaintPipeline,
            OnnxStableDiffusionInpaintPipelineLegacy,
            OnnxStableDiffusionPipeline,
            OnnxStableDiffusionUpscalePipeline,
            StableDiffusionOnnxPipeline,
        )

    try:
        if not (is_torch_available() and is_librosa_available()):
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_torch_and_librosa_objects import *  # noqa F403
    else:
        from .pipelines import AudioDiffusionPipeline, Mel

    try:
        if not (is_transformers_available() and is_torch_available() and is_note_seq_available()):
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_transformers_and_torch_and_note_seq_objects import *  # noqa F403
    else:
        from .pipelines import SpectrogramDiffusionPipeline

    try:
        if not is_flax_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_flax_objects import *  # noqa F403
    else:
1016
        from .models.controlnets.controlnet_flax import FlaxControlNetModel
Dhruv Nair's avatar
Dhruv Nair committed
1017
        from .models.modeling_flax_utils import FlaxModelMixin
1018
        from .models.unets.unet_2d_condition_flax import FlaxUNet2DConditionModel
Dhruv Nair's avatar
Dhruv Nair committed
1019
1020
1021
1022
1023
1024
        from .models.vae_flax import FlaxAutoencoderKL
        from .pipelines import FlaxDiffusionPipeline
        from .schedulers import (
            FlaxDDIMScheduler,
            FlaxDDPMScheduler,
            FlaxDPMSolverMultistepScheduler,
Pedro Cuenca's avatar
Pedro Cuenca committed
1025
            FlaxEulerDiscreteScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
            FlaxKarrasVeScheduler,
            FlaxLMSDiscreteScheduler,
            FlaxPNDMScheduler,
            FlaxSchedulerMixin,
            FlaxScoreSdeVeScheduler,
        )

    try:
        if not (is_flax_available() and is_transformers_available()):
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_flax_and_transformers_objects import *  # noqa F403
    else:
        from .pipelines import (
            FlaxStableDiffusionControlNetPipeline,
            FlaxStableDiffusionImg2ImgPipeline,
            FlaxStableDiffusionInpaintPipeline,
            FlaxStableDiffusionPipeline,
Pedro Cuenca's avatar
Pedro Cuenca committed
1044
            FlaxStableDiffusionXLPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
        )

    try:
        if not (is_note_seq_available()):
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_note_seq_objects import *  # noqa F403
    else:
        from .pipelines import MidiProcessor

else:
    import sys

    sys.modules[__name__] = _LazyModule(
        __name__,
        globals()["__file__"],
        _import_structure,
        module_spec=__spec__,
        extra_objects={"__version__": __version__},
    )