__init__.py 45.8 KB
Newer Older
1
__version__ = "0.35.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
10
    is_accelerate_available,
    is_bitsandbytes_available,
11
    is_flax_available,
12
    is_gguf_available,
13
    is_k_diffusion_available,
14
    is_librosa_available,
15
    is_note_seq_available,
16
    is_onnx_available,
Sayak Paul's avatar
Sayak Paul committed
17
    is_opencv_available,
18
    is_optimum_quanto_available,
19
    is_scipy_available,
20
    is_sentencepiece_available,
21
    is_torch_available,
22
    is_torchao_available,
23
    is_torchsde_available,
24
25
    is_transformers_available,
)
Patrick von Platen's avatar
Patrick von Platen committed
26
27


Dhruv Nair's avatar
Dhruv Nair committed
28
29
30
31
32
33
34
35
36
# 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"],
37
    "hooks": [],
38
    "loaders": ["FromOriginalModelMixin"],
Dhruv Nair's avatar
Dhruv Nair committed
39
40
    "models": [],
    "pipelines": [],
41
    "quantizers.quantization_config": [],
Dhruv Nair's avatar
Dhruv Nair committed
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
    "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",
    ],
}

63
try:
64
    if not is_torch_available() and not is_accelerate_available() and not is_bitsandbytes_available():
65
66
67
68
69
70
71
72
73
74
75
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    from .utils import dummy_bitsandbytes_objects

    _import_structure["utils.dummy_bitsandbytes_objects"] = [
        name for name in dir(dummy_bitsandbytes_objects) if not name.startswith("_")
    ]
else:
    _import_structure["quantizers.quantization_config"].append("BitsAndBytesConfig")

try:
76
    if not is_torch_available() and not is_accelerate_available() and not is_gguf_available():
77
78
79
80
81
82
83
84
85
86
87
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    from .utils import dummy_gguf_objects

    _import_structure["utils.dummy_gguf_objects"] = [
        name for name in dir(dummy_gguf_objects) if not name.startswith("_")
    ]
else:
    _import_structure["quantizers.quantization_config"].append("GGUFQuantizationConfig")

try:
88
    if not is_torch_available() and not is_accelerate_available() and not is_torchao_available():
89
90
91
92
93
94
95
96
97
98
99
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    from .utils import dummy_torchao_objects

    _import_structure["utils.dummy_torchao_objects"] = [
        name for name in dir(dummy_torchao_objects) if not name.startswith("_")
    ]
else:
    _import_structure["quantizers.quantization_config"].append("TorchAoConfig")

try:
100
    if not is_torch_available() and not is_accelerate_available() and not is_optimum_quanto_available():
101
102
103
104
105
106
107
108
109
110
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    from .utils import dummy_optimum_quanto_objects

    _import_structure["utils.dummy_optimum_quanto_objects"] = [
        name for name in dir(dummy_optimum_quanto_objects) if not name.startswith("_")
    ]
else:
    _import_structure["quantizers.quantization_config"].append("QuantoConfig")

111
112
113
114
try:
    if not is_onnx_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
115
116
117
118
119
120
    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("_")
    ]

121
else:
Dhruv Nair's avatar
Dhruv Nair committed
122
    _import_structure["pipelines"].extend(["OnnxRuntimeModel"])
123

124
125
126
127
try:
    if not is_torch_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
128
129
130
131
    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("_")]

132
else:
133
134
    _import_structure["hooks"].extend(
        [
Aryan's avatar
Aryan committed
135
            "FasterCacheConfig",
Aryan's avatar
Aryan committed
136
            "FirstBlockCacheConfig",
137
138
            "HookRegistry",
            "PyramidAttentionBroadcastConfig",
Aryan's avatar
Aryan committed
139
            "apply_faster_cache",
Aryan's avatar
Aryan committed
140
            "apply_first_block_cache",
141
142
143
            "apply_pyramid_attention_broadcast",
        ]
    )
Dhruv Nair's avatar
Dhruv Nair committed
144
145
    _import_structure["models"].extend(
        [
Aryan's avatar
Aryan committed
146
            "AllegroTransformer3DModel",
Dhruv Nair's avatar
Dhruv Nair committed
147
            "AsymmetricAutoencoderKL",
Sayak Paul's avatar
Sayak Paul committed
148
            "AuraFlowTransformer2DModel",
149
            "AutoencoderDC",
Dhruv Nair's avatar
Dhruv Nair committed
150
            "AutoencoderKL",
Aryan's avatar
Aryan committed
151
            "AutoencoderKLAllegro",
152
            "AutoencoderKLCogVideoX",
Aryan's avatar
Aryan committed
153
            "AutoencoderKLCosmos",
Aryan's avatar
Aryan committed
154
            "AutoencoderKLHunyuanVideo",
Aryan's avatar
Aryan committed
155
            "AutoencoderKLLTXVideo",
156
            "AutoencoderKLMagvit",
Aryan's avatar
Aryan committed
157
            "AutoencoderKLMochi",
Suraj Patil's avatar
Suraj Patil committed
158
            "AutoencoderKLTemporalDecoder",
159
            "AutoencoderKLWan",
160
            "AutoencoderOobleck",
Dhruv Nair's avatar
Dhruv Nair committed
161
            "AutoencoderTiny",
hlky's avatar
hlky committed
162
            "AutoModel",
163
            "CacheMixin",
Edna's avatar
Edna committed
164
            "ChromaTransformer2DModel",
165
            "CogVideoXTransformer3DModel",
Yuxuan.Zhang's avatar
Yuxuan.Zhang committed
166
            "CogView3PlusTransformer2DModel",
167
            "CogView4Transformer2DModel",
Shenghai Yuan's avatar
Shenghai Yuan committed
168
            "ConsisIDTransformer3DModel",
Will Berman's avatar
Will Berman committed
169
            "ConsistencyDecoderVAE",
Dhruv Nair's avatar
Dhruv Nair committed
170
            "ControlNetModel",
hlky's avatar
hlky committed
171
            "ControlNetUnionModel",
172
            "ControlNetXSAdapter",
Aryan's avatar
Aryan committed
173
            "CosmosTransformer3DModel",
174
            "DiTTransformer2DModel",
175
            "EasyAnimateTransformer3DModel",
王奇勋's avatar
王奇勋 committed
176
            "FluxControlNetModel",
177
            "FluxMultiControlNetModel",
Sayak Paul's avatar
Sayak Paul committed
178
            "FluxTransformer2DModel",
hlky's avatar
hlky committed
179
            "HiDreamImageTransformer2DModel",
180
            "HunyuanDiT2DControlNetModel",
181
            "HunyuanDiT2DModel",
182
            "HunyuanDiT2DMultiControlNetModel",
Aryan's avatar
Aryan committed
183
            "HunyuanVideoFramepackTransformer3DModel",
Aryan's avatar
Aryan committed
184
            "HunyuanVideoTransformer3DModel",
185
            "I2VGenXLUNet",
186
            "Kandinsky3UNet",
187
            "LatteTransformer3DModel",
Aryan's avatar
Aryan committed
188
            "LTXVideoTransformer3DModel",
Le Zhuo's avatar
Le Zhuo committed
189
            "Lumina2Transformer2DModel",
190
            "LuminaNextDiT2DModel",
Aryan's avatar
Aryan committed
191
            "MochiTransformer3DModel",
Dhruv Nair's avatar
Dhruv Nair committed
192
            "ModelMixin",
Dhruv Nair's avatar
Dhruv Nair committed
193
            "MotionAdapter",
Dhruv Nair's avatar
Dhruv Nair committed
194
            "MultiAdapter",
195
            "MultiControlNetModel",
Shitao Xiao's avatar
Shitao Xiao committed
196
            "OmniGenTransformer2DModel",
197
            "PixArtTransformer2DModel",
Dhruv Nair's avatar
Dhruv Nair committed
198
            "PriorTransformer",
199
            "SanaControlNetModel",
200
            "SanaTransformer2DModel",
201
202
            "SD3ControlNetModel",
            "SD3MultiControlNetModel",
Dhruv Nair's avatar
Dhruv Nair committed
203
            "SD3Transformer2DModel",
Aryan's avatar
Aryan committed
204
            "SparseControlNetModel",
205
            "StableAudioDiTModel",
206
            "StableCascadeUNet",
Dhruv Nair's avatar
Dhruv Nair committed
207
208
209
            "T2IAdapter",
            "T5FilmDecoder",
            "Transformer2DModel",
hlky's avatar
hlky committed
210
            "TransformerTemporalModel",
Dhruv Nair's avatar
Dhruv Nair committed
211
212
213
214
            "UNet1DModel",
            "UNet2DConditionModel",
            "UNet2DModel",
            "UNet3DConditionModel",
215
            "UNetControlNetXSModel",
Dhruv Nair's avatar
Dhruv Nair committed
216
            "UNetMotionModel",
Suraj Patil's avatar
Suraj Patil committed
217
            "UNetSpatioTemporalConditionModel",
Will Berman's avatar
Will Berman committed
218
            "UVit2DModel",
Dhruv Nair's avatar
Dhruv Nair committed
219
            "VQModel",
220
            "WanTransformer3DModel",
Aryan's avatar
Aryan committed
221
            "WanVACETransformer3DModel",
Dhruv Nair's avatar
Dhruv Nair committed
222
        ]
223
    )
Dhruv Nair's avatar
Dhruv Nair committed
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
    _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",
252
            "StableDiffusionMixin",
Dhruv Nair's avatar
Dhruv Nair committed
253
        ]
254
    )
255
    _import_structure["quantizers"] = ["DiffusersQuantizer"]
Dhruv Nair's avatar
Dhruv Nair committed
256
257
    _import_structure["schedulers"].extend(
        [
Will Berman's avatar
Will Berman committed
258
            "AmusedScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
259
            "CMStochasticIterativeScheduler",
260
261
            "CogVideoXDDIMScheduler",
            "CogVideoXDPMScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
262
263
264
265
266
267
268
269
270
271
            "DDIMInverseScheduler",
            "DDIMParallelScheduler",
            "DDIMScheduler",
            "DDPMParallelScheduler",
            "DDPMScheduler",
            "DDPMWuerstchenScheduler",
            "DEISMultistepScheduler",
            "DPMSolverMultistepInverseScheduler",
            "DPMSolverMultistepScheduler",
            "DPMSolverSinglestepScheduler",
272
            "EDMDPMSolverMultistepScheduler",
Suraj Patil's avatar
Suraj Patil committed
273
            "EDMEulerScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
274
275
            "EulerAncestralDiscreteScheduler",
            "EulerDiscreteScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
276
            "FlowMatchEulerDiscreteScheduler",
277
            "FlowMatchHeunDiscreteScheduler",
278
            "FlowMatchLCMScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
279
280
281
282
283
            "HeunDiscreteScheduler",
            "IPNDMScheduler",
            "KarrasVeScheduler",
            "KDPM2AncestralDiscreteScheduler",
            "KDPM2DiscreteScheduler",
284
            "LCMScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
285
286
            "PNDMScheduler",
            "RePaintScheduler",
Junsong Chen's avatar
Junsong Chen committed
287
            "SASolverScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
288
            "SchedulerMixin",
YiYi Xu's avatar
YiYi Xu committed
289
            "SCMScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
290
            "ScoreSdeVeScheduler",
Michael's avatar
Michael committed
291
            "TCDScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
292
293
294
295
            "UnCLIPScheduler",
            "UniPCMultistepScheduler",
            "VQDiffusionScheduler",
        ]
296
    )
Dhruv Nair's avatar
Dhruv Nair committed
297
    _import_structure["training_utils"] = ["EMAModel"]
Patrick von Platen's avatar
Patrick von Platen committed
298

299
300
301
302
try:
    if not (is_torch_available() and is_scipy_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
303
304
305
306
307
308
    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("_")
    ]

309
else:
Dhruv Nair's avatar
Dhruv Nair committed
310
    _import_structure["schedulers"].extend(["LMSDiscreteScheduler"])
Patrick von Platen's avatar
Patrick von Platen committed
311

312
313
314
315
try:
    if not (is_torch_available() and is_torchsde_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
316
317
318
319
320
321
    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("_")
    ]

322
else:
323
    _import_structure["schedulers"].extend(["CosineDPMSolverMultistepScheduler", "DPMSolverSDEScheduler"])
324
325
326
327
328

try:
    if not (is_torch_available() and is_transformers_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
329
330
331
332
333
334
    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("_")
    ]

335
else:
Dhruv Nair's avatar
Dhruv Nair committed
336
337
    _import_structure["pipelines"].extend(
        [
Aryan's avatar
Aryan committed
338
            "AllegroPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
339
340
            "AltDiffusionImg2ImgPipeline",
            "AltDiffusionPipeline",
Will Berman's avatar
Will Berman committed
341
342
343
            "AmusedImg2ImgPipeline",
            "AmusedInpaintPipeline",
            "AmusedPipeline",
344
            "AnimateDiffControlNetPipeline",
Aryan's avatar
Aryan committed
345
            "AnimateDiffPAGPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
346
            "AnimateDiffPipeline",
Aryan's avatar
Aryan committed
347
            "AnimateDiffSDXLPipeline",
Aryan's avatar
Aryan committed
348
            "AnimateDiffSparseControlNetPipeline",
349
            "AnimateDiffVideoToVideoControlNetPipeline",
Aryan V S's avatar
Aryan V S committed
350
            "AnimateDiffVideoToVideoPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
351
352
353
354
            "AudioLDM2Pipeline",
            "AudioLDM2ProjectionModel",
            "AudioLDM2UNet2DConditionModel",
            "AudioLDMPipeline",
Sayak Paul's avatar
Sayak Paul committed
355
            "AuraFlowPipeline",
Ayush Mangal's avatar
Ayush Mangal committed
356
357
            "BlipDiffusionControlNetPipeline",
            "BlipDiffusionPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
358
            "ChromaImg2ImgPipeline",
Edna's avatar
Edna committed
359
            "ChromaPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
360
            "CLIPImageProjection",
361
            "CogVideoXFunControlPipeline",
362
            "CogVideoXImageToVideoPipeline",
363
            "CogVideoXPipeline",
364
            "CogVideoXVideoToVideoPipeline",
Yuxuan.Zhang's avatar
Yuxuan.Zhang committed
365
            "CogView3PlusPipeline",
Yuxuan Zhang's avatar
Yuxuan Zhang committed
366
            "CogView4ControlPipeline",
367
            "CogView4Pipeline",
Aryan's avatar
Aryan committed
368
            "ConsisIDPipeline",
Aryan's avatar
Aryan committed
369
370
            "Cosmos2TextToImagePipeline",
            "Cosmos2VideoToWorldPipeline",
Aryan's avatar
Aryan committed
371
372
            "CosmosTextToWorldPipeline",
            "CosmosVideoToWorldPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
373
            "CycleDiffusionPipeline",
374
375
376
            "EasyAnimateControlPipeline",
            "EasyAnimateInpaintPipeline",
            "EasyAnimatePipeline",
Aryan's avatar
Aryan committed
377
            "FluxControlImg2ImgPipeline",
378
            "FluxControlInpaintPipeline",
379
380
            "FluxControlNetImg2ImgPipeline",
            "FluxControlNetInpaintPipeline",
王奇勋's avatar
王奇勋 committed
381
            "FluxControlNetPipeline",
Aryan's avatar
Aryan committed
382
383
            "FluxControlPipeline",
            "FluxFillPipeline",
384
385
            "FluxImg2ImgPipeline",
            "FluxInpaintPipeline",
386
            "FluxKontextInpaintPipeline",
Aryan's avatar
Aryan committed
387
            "FluxKontextPipeline",
Sayak Paul's avatar
Sayak Paul committed
388
            "FluxPipeline",
Aryan's avatar
Aryan committed
389
            "FluxPriorReduxPipeline",
hlky's avatar
hlky committed
390
            "HiDreamImagePipeline",
391
            "HunyuanDiTControlNetPipeline",
392
            "HunyuanDiTPAGPipeline",
393
            "HunyuanDiTPipeline",
Aryan's avatar
Aryan committed
394
            "HunyuanSkyreelsImageToVideoPipeline",
Aryan's avatar
Aryan committed
395
            "HunyuanVideoFramepackPipeline",
Aryan's avatar
Aryan committed
396
            "HunyuanVideoImageToVideoPipeline",
Aryan's avatar
Aryan committed
397
            "HunyuanVideoPipeline",
398
            "I2VGenXLPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
399
400
401
402
403
404
405
            "IFImg2ImgPipeline",
            "IFImg2ImgSuperResolutionPipeline",
            "IFInpaintingPipeline",
            "IFInpaintingSuperResolutionPipeline",
            "IFPipeline",
            "IFSuperResolutionPipeline",
            "ImageTextPipelineOutput",
406
407
            "Kandinsky3Img2ImgPipeline",
            "Kandinsky3Pipeline",
Dhruv Nair's avatar
Dhruv Nair committed
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
            "KandinskyCombinedPipeline",
            "KandinskyImg2ImgCombinedPipeline",
            "KandinskyImg2ImgPipeline",
            "KandinskyInpaintCombinedPipeline",
            "KandinskyInpaintPipeline",
            "KandinskyPipeline",
            "KandinskyPriorPipeline",
            "KandinskyV22CombinedPipeline",
            "KandinskyV22ControlnetImg2ImgPipeline",
            "KandinskyV22ControlnetPipeline",
            "KandinskyV22Img2ImgCombinedPipeline",
            "KandinskyV22Img2ImgPipeline",
            "KandinskyV22InpaintCombinedPipeline",
            "KandinskyV22InpaintPipeline",
            "KandinskyV22Pipeline",
            "KandinskyV22PriorEmb2EmbPipeline",
            "KandinskyV22PriorPipeline",
425
            "LatentConsistencyModelImg2ImgPipeline",
426
            "LatentConsistencyModelPipeline",
427
            "LattePipeline",
Dhruv Nair's avatar
Dhruv Nair committed
428
            "LDMTextToImagePipeline",
429
430
            "LEditsPPPipelineStableDiffusion",
            "LEditsPPPipelineStableDiffusionXL",
Aryan's avatar
Aryan committed
431
            "LTXConditionPipeline",
Aryan's avatar
Aryan committed
432
            "LTXImageToVideoPipeline",
Aryan's avatar
Aryan committed
433
            "LTXLatentUpsamplePipeline",
Aryan's avatar
Aryan committed
434
            "LTXPipeline",
435
            "Lumina2Pipeline",
Le Zhuo's avatar
Le Zhuo committed
436
            "Lumina2Text2ImgPipeline",
437
            "LuminaPipeline",
438
            "LuminaText2ImgPipeline",
439
            "MarigoldDepthPipeline",
440
            "MarigoldIntrinsicsPipeline",
441
            "MarigoldNormalsPipeline",
Aryan's avatar
Aryan committed
442
            "MochiPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
443
            "MusicLDMPipeline",
Shitao Xiao's avatar
Shitao Xiao committed
444
            "OmniGenPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
445
            "PaintByExamplePipeline",
Dhruv Nair's avatar
Dhruv Nair committed
446
            "PIAPipeline",
Sayak Paul's avatar
Sayak Paul committed
447
            "PixArtAlphaPipeline",
448
            "PixArtSigmaPAGPipeline",
449
            "PixArtSigmaPipeline",
Aryan's avatar
Aryan committed
450
            "ReduxImageEncoder",
451
            "SanaControlNetPipeline",
452
453
            "SanaPAGPipeline",
            "SanaPipeline",
454
            "SanaSprintImg2ImgPipeline",
YiYi Xu's avatar
YiYi Xu committed
455
            "SanaSprintPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
456
457
458
            "SemanticStableDiffusionPipeline",
            "ShapEImg2ImgPipeline",
            "ShapEPipeline",
459
460
            "StableAudioPipeline",
            "StableAudioProjectionModel",
461
462
463
            "StableCascadeCombinedPipeline",
            "StableCascadeDecoderPipeline",
            "StableCascadePriorPipeline",
464
            "StableDiffusion3ControlNetInpaintingPipeline",
465
            "StableDiffusion3ControlNetPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
466
            "StableDiffusion3Img2ImgPipeline",
467
            "StableDiffusion3InpaintPipeline",
468
            "StableDiffusion3PAGImg2ImgPipeline",
469
            "StableDiffusion3PAGImg2ImgPipeline",
StAlKeR7779's avatar
StAlKeR7779 committed
470
            "StableDiffusion3PAGPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
471
            "StableDiffusion3Pipeline",
Dhruv Nair's avatar
Dhruv Nair committed
472
473
474
475
            "StableDiffusionAdapterPipeline",
            "StableDiffusionAttendAndExcitePipeline",
            "StableDiffusionControlNetImg2ImgPipeline",
            "StableDiffusionControlNetInpaintPipeline",
476
            "StableDiffusionControlNetPAGInpaintPipeline",
477
            "StableDiffusionControlNetPAGPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
478
            "StableDiffusionControlNetPipeline",
479
            "StableDiffusionControlNetXSPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
480
481
482
483
484
485
486
487
488
489
490
491
            "StableDiffusionDepth2ImgPipeline",
            "StableDiffusionDiffEditPipeline",
            "StableDiffusionGLIGENPipeline",
            "StableDiffusionGLIGENTextImagePipeline",
            "StableDiffusionImageVariationPipeline",
            "StableDiffusionImg2ImgPipeline",
            "StableDiffusionInpaintPipeline",
            "StableDiffusionInpaintPipelineLegacy",
            "StableDiffusionInstructPix2PixPipeline",
            "StableDiffusionLatentUpscalePipeline",
            "StableDiffusionLDM3DPipeline",
            "StableDiffusionModelEditingPipeline",
492
            "StableDiffusionPAGImg2ImgPipeline",
493
            "StableDiffusionPAGInpaintPipeline",
494
            "StableDiffusionPAGPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
495
496
497
498
499
500
501
502
503
504
            "StableDiffusionPanoramaPipeline",
            "StableDiffusionParadigmsPipeline",
            "StableDiffusionPipeline",
            "StableDiffusionPipelineSafe",
            "StableDiffusionPix2PixZeroPipeline",
            "StableDiffusionSAGPipeline",
            "StableDiffusionUpscalePipeline",
            "StableDiffusionXLAdapterPipeline",
            "StableDiffusionXLControlNetImg2ImgPipeline",
            "StableDiffusionXLControlNetInpaintPipeline",
505
            "StableDiffusionXLControlNetPAGImg2ImgPipeline",
YiYi Xu's avatar
YiYi Xu committed
506
            "StableDiffusionXLControlNetPAGPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
507
            "StableDiffusionXLControlNetPipeline",
hlky's avatar
hlky committed
508
509
510
            "StableDiffusionXLControlNetUnionImg2ImgPipeline",
            "StableDiffusionXLControlNetUnionInpaintPipeline",
            "StableDiffusionXLControlNetUnionPipeline",
511
            "StableDiffusionXLControlNetXSPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
512
513
514
            "StableDiffusionXLImg2ImgPipeline",
            "StableDiffusionXLInpaintPipeline",
            "StableDiffusionXLInstructPix2PixPipeline",
YiYi Xu's avatar
YiYi Xu committed
515
516
517
            "StableDiffusionXLPAGImg2ImgPipeline",
            "StableDiffusionXLPAGInpaintPipeline",
            "StableDiffusionXLPAGPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
518
519
520
            "StableDiffusionXLPipeline",
            "StableUnCLIPImg2ImgPipeline",
            "StableUnCLIPPipeline",
Suraj Patil's avatar
Suraj Patil committed
521
            "StableVideoDiffusionPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
522
523
            "TextToVideoSDPipeline",
            "TextToVideoZeroPipeline",
524
            "TextToVideoZeroSDXLPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
525
526
527
528
529
530
531
532
533
534
            "UnCLIPImageVariationPipeline",
            "UnCLIPPipeline",
            "UniDiffuserModel",
            "UniDiffuserPipeline",
            "UniDiffuserTextDecoder",
            "VersatileDiffusionDualGuidedPipeline",
            "VersatileDiffusionImageVariationPipeline",
            "VersatileDiffusionPipeline",
            "VersatileDiffusionTextToImagePipeline",
            "VideoToVideoSDPipeline",
Zhong-Yu Li's avatar
Zhong-Yu Li committed
535
536
            "VisualClozeGenerationPipeline",
            "VisualClozePipeline",
Dhruv Nair's avatar
Dhruv Nair committed
537
            "VQDiffusionPipeline",
538
539
            "WanImageToVideoPipeline",
            "WanPipeline",
Aryan's avatar
Aryan committed
540
            "WanVACEPipeline",
541
            "WanVideoToVideoPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
542
543
544
545
            "WuerstchenCombinedPipeline",
            "WuerstchenDecoderPipeline",
            "WuerstchenPriorPipeline",
        ]
546
    )
547

Sayak Paul's avatar
Sayak Paul committed
548
549
550
551
552
553
554
555
556
557
558
559
560
try:
    if not (is_torch_available() and is_transformers_available() and is_opencv_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    from .utils import dummy_torch_and_transformers_and_opencv_objects  # noqa F403

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

else:
    _import_structure["pipelines"].extend(["ConsisIDPipeline"])

561
562
563
564
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
565
566
567
568
569
570
    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("_")
    ]

571
else:
572
    _import_structure["pipelines"].extend(["StableDiffusionKDiffusionPipeline", "StableDiffusionXLKDiffusionPipeline"])
573

574
575
576
577
578
579
580
581
582
583
584
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
585
    _import_structure["pipelines"].extend(["KolorsImg2ImgPipeline", "KolorsPAGPipeline", "KolorsPipeline"])
586

587
588
589
590
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
591
592
593
594
595
596
    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("_")
    ]

597
else:
Dhruv Nair's avatar
Dhruv Nair committed
598
599
600
601
602
603
604
605
606
    _import_structure["pipelines"].extend(
        [
            "OnnxStableDiffusionImg2ImgPipeline",
            "OnnxStableDiffusionInpaintPipeline",
            "OnnxStableDiffusionInpaintPipelineLegacy",
            "OnnxStableDiffusionPipeline",
            "OnnxStableDiffusionUpscalePipeline",
            "StableDiffusionOnnxPipeline",
        ]
607
    )
608
609
610
611
612

try:
    if not (is_torch_available() and is_librosa_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
613
614
615
616
617
618
    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("_")
    ]

619
else:
Dhruv Nair's avatar
Dhruv Nair committed
620
    _import_structure["pipelines"].extend(["AudioDiffusionPipeline", "Mel"])
621

622
try:
623
    if not (is_transformers_available() and is_torch_available() and is_note_seq_available()):
624
625
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
626
627
628
629
630
631
632
    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("_")
    ]


633
else:
Dhruv Nair's avatar
Dhruv Nair committed
634
    _import_structure["pipelines"].extend(["SpectrogramDiffusionPipeline"])
635

636
637
638
639
try:
    if not is_flax_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
640
641
642
643
644
645
646
    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("_")
    ]


647
else:
648
    _import_structure["models.controlnets.controlnet_flax"] = ["FlaxControlNetModel"]
Dhruv Nair's avatar
Dhruv Nair committed
649
    _import_structure["models.modeling_flax_utils"] = ["FlaxModelMixin"]
650
    _import_structure["models.unets.unet_2d_condition_flax"] = ["FlaxUNet2DConditionModel"]
Dhruv Nair's avatar
Dhruv Nair committed
651
652
653
654
655
656
657
    _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
658
            "FlaxEulerDiscreteScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
659
660
661
662
663
664
            "FlaxKarrasVeScheduler",
            "FlaxLMSDiscreteScheduler",
            "FlaxPNDMScheduler",
            "FlaxSchedulerMixin",
            "FlaxScoreSdeVeScheduler",
        ]
665
666
    )

667

668
669
670
671
try:
    if not (is_flax_available() and is_transformers_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
672
673
674
675
676
677
678
    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("_")
    ]


679
else:
Dhruv Nair's avatar
Dhruv Nair committed
680
681
682
683
684
685
    _import_structure["pipelines"].extend(
        [
            "FlaxStableDiffusionControlNetPipeline",
            "FlaxStableDiffusionImg2ImgPipeline",
            "FlaxStableDiffusionInpaintPipeline",
            "FlaxStableDiffusionPipeline",
Pedro Cuenca's avatar
Pedro Cuenca committed
686
            "FlaxStableDiffusionXLPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
687
        ]
688
    )
689
690
691
692
693

try:
    if not (is_note_seq_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
694
695
696
697
698
699
700
    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("_")
    ]


701
else:
Dhruv Nair's avatar
Dhruv Nair committed
702
703
    _import_structure["pipelines"].extend(["MidiProcessor"])

704
if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
Dhruv Nair's avatar
Dhruv Nair committed
705
    from .configuration_utils import ConfigMixin
706
    from .quantizers import PipelineQuantizationConfig
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738

    try:
        if not is_bitsandbytes_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_bitsandbytes_objects import *
    else:
        from .quantizers.quantization_config import BitsAndBytesConfig

    try:
        if not is_gguf_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_gguf_objects import *
    else:
        from .quantizers.quantization_config import GGUFQuantizationConfig

    try:
        if not is_torchao_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_torchao_objects import *
    else:
        from .quantizers.quantization_config import TorchAoConfig

    try:
        if not is_optimum_quanto_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_optimum_quanto_objects import *
    else:
        from .quantizers.quantization_config import QuantoConfig
Dhruv Nair's avatar
Dhruv Nair committed
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753

    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:
Aryan's avatar
Aryan committed
754
755
        from .hooks import (
            FasterCacheConfig,
Aryan's avatar
Aryan committed
756
            FirstBlockCacheConfig,
Aryan's avatar
Aryan committed
757
758
759
            HookRegistry,
            PyramidAttentionBroadcastConfig,
            apply_faster_cache,
Aryan's avatar
Aryan committed
760
            apply_first_block_cache,
Aryan's avatar
Aryan committed
761
762
            apply_pyramid_attention_broadcast,
        )
Dhruv Nair's avatar
Dhruv Nair committed
763
        from .models import (
Aryan's avatar
Aryan committed
764
            AllegroTransformer3DModel,
Dhruv Nair's avatar
Dhruv Nair committed
765
            AsymmetricAutoencoderKL,
Sayak Paul's avatar
Sayak Paul committed
766
            AuraFlowTransformer2DModel,
767
            AutoencoderDC,
Dhruv Nair's avatar
Dhruv Nair committed
768
            AutoencoderKL,
Aryan's avatar
Aryan committed
769
            AutoencoderKLAllegro,
770
            AutoencoderKLCogVideoX,
Aryan's avatar
Aryan committed
771
            AutoencoderKLCosmos,
Aryan's avatar
Aryan committed
772
            AutoencoderKLHunyuanVideo,
Aryan's avatar
Aryan committed
773
            AutoencoderKLLTXVideo,
774
            AutoencoderKLMagvit,
Aryan's avatar
Aryan committed
775
            AutoencoderKLMochi,
Suraj Patil's avatar
Suraj Patil committed
776
            AutoencoderKLTemporalDecoder,
777
            AutoencoderKLWan,
778
            AutoencoderOobleck,
Dhruv Nair's avatar
Dhruv Nair committed
779
            AutoencoderTiny,
hlky's avatar
hlky committed
780
            AutoModel,
781
            CacheMixin,
Edna's avatar
Edna committed
782
            ChromaTransformer2DModel,
783
            CogVideoXTransformer3DModel,
Yuxuan.Zhang's avatar
Yuxuan.Zhang committed
784
            CogView3PlusTransformer2DModel,
785
            CogView4Transformer2DModel,
Shenghai Yuan's avatar
Shenghai Yuan committed
786
            ConsisIDTransformer3DModel,
Will Berman's avatar
Will Berman committed
787
            ConsistencyDecoderVAE,
Dhruv Nair's avatar
Dhruv Nair committed
788
            ControlNetModel,
hlky's avatar
hlky committed
789
            ControlNetUnionModel,
790
            ControlNetXSAdapter,
Aryan's avatar
Aryan committed
791
            CosmosTransformer3DModel,
792
            DiTTransformer2DModel,
793
            EasyAnimateTransformer3DModel,
王奇勋's avatar
王奇勋 committed
794
            FluxControlNetModel,
795
            FluxMultiControlNetModel,
Sayak Paul's avatar
Sayak Paul committed
796
            FluxTransformer2DModel,
hlky's avatar
hlky committed
797
            HiDreamImageTransformer2DModel,
798
            HunyuanDiT2DControlNetModel,
799
            HunyuanDiT2DModel,
800
            HunyuanDiT2DMultiControlNetModel,
Aryan's avatar
Aryan committed
801
            HunyuanVideoFramepackTransformer3DModel,
Aryan's avatar
Aryan committed
802
            HunyuanVideoTransformer3DModel,
803
            I2VGenXLUNet,
804
            Kandinsky3UNet,
805
            LatteTransformer3DModel,
Aryan's avatar
Aryan committed
806
            LTXVideoTransformer3DModel,
Le Zhuo's avatar
Le Zhuo committed
807
            Lumina2Transformer2DModel,
808
            LuminaNextDiT2DModel,
Aryan's avatar
Aryan committed
809
            MochiTransformer3DModel,
Dhruv Nair's avatar
Dhruv Nair committed
810
            ModelMixin,
Dhruv Nair's avatar
Dhruv Nair committed
811
            MotionAdapter,
Dhruv Nair's avatar
Dhruv Nair committed
812
            MultiAdapter,
813
            MultiControlNetModel,
Shitao Xiao's avatar
Shitao Xiao committed
814
            OmniGenTransformer2DModel,
815
            PixArtTransformer2DModel,
Dhruv Nair's avatar
Dhruv Nair committed
816
            PriorTransformer,
817
            SanaControlNetModel,
818
            SanaTransformer2DModel,
819
820
            SD3ControlNetModel,
            SD3MultiControlNetModel,
Dhruv Nair's avatar
Dhruv Nair committed
821
            SD3Transformer2DModel,
Aryan's avatar
Aryan committed
822
            SparseControlNetModel,
823
            StableAudioDiTModel,
Dhruv Nair's avatar
Dhruv Nair committed
824
825
826
            T2IAdapter,
            T5FilmDecoder,
            Transformer2DModel,
hlky's avatar
hlky committed
827
            TransformerTemporalModel,
Dhruv Nair's avatar
Dhruv Nair committed
828
829
830
831
            UNet1DModel,
            UNet2DConditionModel,
            UNet2DModel,
            UNet3DConditionModel,
832
            UNetControlNetXSModel,
Dhruv Nair's avatar
Dhruv Nair committed
833
            UNetMotionModel,
Suraj Patil's avatar
Suraj Patil committed
834
            UNetSpatioTemporalConditionModel,
Will Berman's avatar
Will Berman committed
835
            UVit2DModel,
Dhruv Nair's avatar
Dhruv Nair committed
836
            VQModel,
837
            WanTransformer3DModel,
Aryan's avatar
Aryan committed
838
            WanVACETransformer3DModel,
Dhruv Nair's avatar
Dhruv Nair committed
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
        )
        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
854
855
            BlipDiffusionControlNetPipeline,
            BlipDiffusionPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
856
857
858
859
860
861
862
863
864
865
866
867
868
869
            CLIPImageProjection,
            ConsistencyModelPipeline,
            DanceDiffusionPipeline,
            DDIMPipeline,
            DDPMPipeline,
            DiffusionPipeline,
            DiTPipeline,
            ImagePipelineOutput,
            KarrasVePipeline,
            LDMPipeline,
            LDMSuperResolutionPipeline,
            PNDMPipeline,
            RePaintPipeline,
            ScoreSdeVePipeline,
870
            StableDiffusionMixin,
Dhruv Nair's avatar
Dhruv Nair committed
871
        )
872
        from .quantizers import DiffusersQuantizer
Dhruv Nair's avatar
Dhruv Nair committed
873
        from .schedulers import (
Will Berman's avatar
Will Berman committed
874
            AmusedScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
875
            CMStochasticIterativeScheduler,
876
877
            CogVideoXDDIMScheduler,
            CogVideoXDPMScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
878
879
880
881
882
883
884
885
886
887
            DDIMInverseScheduler,
            DDIMParallelScheduler,
            DDIMScheduler,
            DDPMParallelScheduler,
            DDPMScheduler,
            DDPMWuerstchenScheduler,
            DEISMultistepScheduler,
            DPMSolverMultistepInverseScheduler,
            DPMSolverMultistepScheduler,
            DPMSolverSinglestepScheduler,
888
            EDMDPMSolverMultistepScheduler,
Suraj Patil's avatar
Suraj Patil committed
889
            EDMEulerScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
890
891
            EulerAncestralDiscreteScheduler,
            EulerDiscreteScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
892
            FlowMatchEulerDiscreteScheduler,
893
            FlowMatchHeunDiscreteScheduler,
894
            FlowMatchLCMScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
895
896
897
898
899
            HeunDiscreteScheduler,
            IPNDMScheduler,
            KarrasVeScheduler,
            KDPM2AncestralDiscreteScheduler,
            KDPM2DiscreteScheduler,
900
            LCMScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
901
902
            PNDMScheduler,
            RePaintScheduler,
Junsong Chen's avatar
Junsong Chen committed
903
            SASolverScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
904
            SchedulerMixin,
YiYi Xu's avatar
YiYi Xu committed
905
            SCMScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
906
            ScoreSdeVeScheduler,
Michael's avatar
Michael committed
907
            TCDScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
            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:
928
        from .schedulers import CosineDPMSolverMultistepScheduler, DPMSolverSDEScheduler
Dhruv Nair's avatar
Dhruv Nair committed
929
930
931
932
933
934
935
936

    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
937
            AllegroPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
938
939
            AltDiffusionImg2ImgPipeline,
            AltDiffusionPipeline,
Will Berman's avatar
Will Berman committed
940
941
942
            AmusedImg2ImgPipeline,
            AmusedInpaintPipeline,
            AmusedPipeline,
943
            AnimateDiffControlNetPipeline,
Aryan's avatar
Aryan committed
944
            AnimateDiffPAGPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
945
            AnimateDiffPipeline,
Aryan's avatar
Aryan committed
946
            AnimateDiffSDXLPipeline,
Aryan's avatar
Aryan committed
947
            AnimateDiffSparseControlNetPipeline,
948
            AnimateDiffVideoToVideoControlNetPipeline,
Aryan V S's avatar
Aryan V S committed
949
            AnimateDiffVideoToVideoPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
950
951
952
953
            AudioLDM2Pipeline,
            AudioLDM2ProjectionModel,
            AudioLDM2UNet2DConditionModel,
            AudioLDMPipeline,
Sayak Paul's avatar
Sayak Paul committed
954
            AuraFlowPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
955
            ChromaImg2ImgPipeline,
Edna's avatar
Edna committed
956
            ChromaPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
957
            CLIPImageProjection,
958
            CogVideoXFunControlPipeline,
959
            CogVideoXImageToVideoPipeline,
960
            CogVideoXPipeline,
961
            CogVideoXVideoToVideoPipeline,
Yuxuan.Zhang's avatar
Yuxuan.Zhang committed
962
            CogView3PlusPipeline,
Yuxuan Zhang's avatar
Yuxuan Zhang committed
963
            CogView4ControlPipeline,
964
            CogView4Pipeline,
Aryan's avatar
Aryan committed
965
            ConsisIDPipeline,
Aryan's avatar
Aryan committed
966
967
            Cosmos2TextToImagePipeline,
            Cosmos2VideoToWorldPipeline,
Aryan's avatar
Aryan committed
968
969
            CosmosTextToWorldPipeline,
            CosmosVideoToWorldPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
970
            CycleDiffusionPipeline,
971
972
973
            EasyAnimateControlPipeline,
            EasyAnimateInpaintPipeline,
            EasyAnimatePipeline,
Aryan's avatar
Aryan committed
974
            FluxControlImg2ImgPipeline,
975
            FluxControlInpaintPipeline,
976
977
            FluxControlNetImg2ImgPipeline,
            FluxControlNetInpaintPipeline,
王奇勋's avatar
王奇勋 committed
978
            FluxControlNetPipeline,
Aryan's avatar
Aryan committed
979
980
            FluxControlPipeline,
            FluxFillPipeline,
981
982
            FluxImg2ImgPipeline,
            FluxInpaintPipeline,
983
            FluxKontextInpaintPipeline,
Aryan's avatar
Aryan committed
984
            FluxKontextPipeline,
Sayak Paul's avatar
Sayak Paul committed
985
            FluxPipeline,
Aryan's avatar
Aryan committed
986
            FluxPriorReduxPipeline,
hlky's avatar
hlky committed
987
            HiDreamImagePipeline,
988
            HunyuanDiTControlNetPipeline,
989
            HunyuanDiTPAGPipeline,
990
            HunyuanDiTPipeline,
Aryan's avatar
Aryan committed
991
            HunyuanSkyreelsImageToVideoPipeline,
Aryan's avatar
Aryan committed
992
            HunyuanVideoFramepackPipeline,
Aryan's avatar
Aryan committed
993
            HunyuanVideoImageToVideoPipeline,
Aryan's avatar
Aryan committed
994
            HunyuanVideoPipeline,
995
            I2VGenXLPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
996
997
998
999
1000
1001
1002
            IFImg2ImgPipeline,
            IFImg2ImgSuperResolutionPipeline,
            IFInpaintingPipeline,
            IFInpaintingSuperResolutionPipeline,
            IFPipeline,
            IFSuperResolutionPipeline,
            ImageTextPipelineOutput,
1003
1004
            Kandinsky3Img2ImgPipeline,
            Kandinsky3Pipeline,
Dhruv Nair's avatar
Dhruv Nair committed
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
            KandinskyCombinedPipeline,
            KandinskyImg2ImgCombinedPipeline,
            KandinskyImg2ImgPipeline,
            KandinskyInpaintCombinedPipeline,
            KandinskyInpaintPipeline,
            KandinskyPipeline,
            KandinskyPriorPipeline,
            KandinskyV22CombinedPipeline,
            KandinskyV22ControlnetImg2ImgPipeline,
            KandinskyV22ControlnetPipeline,
            KandinskyV22Img2ImgCombinedPipeline,
            KandinskyV22Img2ImgPipeline,
            KandinskyV22InpaintCombinedPipeline,
            KandinskyV22InpaintPipeline,
            KandinskyV22Pipeline,
            KandinskyV22PriorEmb2EmbPipeline,
            KandinskyV22PriorPipeline,
1022
            LatentConsistencyModelImg2ImgPipeline,
1023
            LatentConsistencyModelPipeline,
1024
            LattePipeline,
Dhruv Nair's avatar
Dhruv Nair committed
1025
            LDMTextToImagePipeline,
1026
1027
            LEditsPPPipelineStableDiffusion,
            LEditsPPPipelineStableDiffusionXL,
Aryan's avatar
Aryan committed
1028
            LTXConditionPipeline,
Aryan's avatar
Aryan committed
1029
            LTXImageToVideoPipeline,
Aryan's avatar
Aryan committed
1030
            LTXLatentUpsamplePipeline,
Aryan's avatar
Aryan committed
1031
            LTXPipeline,
1032
            Lumina2Pipeline,
Le Zhuo's avatar
Le Zhuo committed
1033
            Lumina2Text2ImgPipeline,
1034
            LuminaPipeline,
1035
            LuminaText2ImgPipeline,
1036
            MarigoldDepthPipeline,
1037
            MarigoldIntrinsicsPipeline,
1038
            MarigoldNormalsPipeline,
Aryan's avatar
Aryan committed
1039
            MochiPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
1040
            MusicLDMPipeline,
Shitao Xiao's avatar
Shitao Xiao committed
1041
            OmniGenPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
1042
            PaintByExamplePipeline,
Dhruv Nair's avatar
Dhruv Nair committed
1043
            PIAPipeline,
Sayak Paul's avatar
Sayak Paul committed
1044
            PixArtAlphaPipeline,
1045
            PixArtSigmaPAGPipeline,
1046
            PixArtSigmaPipeline,
Aryan's avatar
Aryan committed
1047
            ReduxImageEncoder,
1048
            SanaControlNetPipeline,
1049
1050
            SanaPAGPipeline,
            SanaPipeline,
1051
            SanaSprintImg2ImgPipeline,
YiYi Xu's avatar
YiYi Xu committed
1052
            SanaSprintPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
1053
1054
1055
            SemanticStableDiffusionPipeline,
            ShapEImg2ImgPipeline,
            ShapEPipeline,
1056
1057
            StableAudioPipeline,
            StableAudioProjectionModel,
1058
1059
1060
            StableCascadeCombinedPipeline,
            StableCascadeDecoderPipeline,
            StableCascadePriorPipeline,
1061
            StableDiffusion3ControlNetInpaintingPipeline,
1062
            StableDiffusion3ControlNetPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
1063
            StableDiffusion3Img2ImgPipeline,
1064
            StableDiffusion3InpaintPipeline,
1065
            StableDiffusion3PAGImg2ImgPipeline,
1066
            StableDiffusion3PAGPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
1067
            StableDiffusion3Pipeline,
Dhruv Nair's avatar
Dhruv Nair committed
1068
1069
1070
1071
            StableDiffusionAdapterPipeline,
            StableDiffusionAttendAndExcitePipeline,
            StableDiffusionControlNetImg2ImgPipeline,
            StableDiffusionControlNetInpaintPipeline,
1072
            StableDiffusionControlNetPAGInpaintPipeline,
1073
            StableDiffusionControlNetPAGPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
1074
            StableDiffusionControlNetPipeline,
1075
            StableDiffusionControlNetXSPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
            StableDiffusionDepth2ImgPipeline,
            StableDiffusionDiffEditPipeline,
            StableDiffusionGLIGENPipeline,
            StableDiffusionGLIGENTextImagePipeline,
            StableDiffusionImageVariationPipeline,
            StableDiffusionImg2ImgPipeline,
            StableDiffusionInpaintPipeline,
            StableDiffusionInpaintPipelineLegacy,
            StableDiffusionInstructPix2PixPipeline,
            StableDiffusionLatentUpscalePipeline,
            StableDiffusionLDM3DPipeline,
            StableDiffusionModelEditingPipeline,
1088
            StableDiffusionPAGImg2ImgPipeline,
1089
            StableDiffusionPAGInpaintPipeline,
1090
            StableDiffusionPAGPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
            StableDiffusionPanoramaPipeline,
            StableDiffusionParadigmsPipeline,
            StableDiffusionPipeline,
            StableDiffusionPipelineSafe,
            StableDiffusionPix2PixZeroPipeline,
            StableDiffusionSAGPipeline,
            StableDiffusionUpscalePipeline,
            StableDiffusionXLAdapterPipeline,
            StableDiffusionXLControlNetImg2ImgPipeline,
            StableDiffusionXLControlNetInpaintPipeline,
1101
            StableDiffusionXLControlNetPAGImg2ImgPipeline,
YiYi Xu's avatar
YiYi Xu committed
1102
            StableDiffusionXLControlNetPAGPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
1103
            StableDiffusionXLControlNetPipeline,
hlky's avatar
hlky committed
1104
1105
1106
            StableDiffusionXLControlNetUnionImg2ImgPipeline,
            StableDiffusionXLControlNetUnionInpaintPipeline,
            StableDiffusionXLControlNetUnionPipeline,
1107
            StableDiffusionXLControlNetXSPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
1108
1109
1110
            StableDiffusionXLImg2ImgPipeline,
            StableDiffusionXLInpaintPipeline,
            StableDiffusionXLInstructPix2PixPipeline,
YiYi Xu's avatar
YiYi Xu committed
1111
1112
1113
            StableDiffusionXLPAGImg2ImgPipeline,
            StableDiffusionXLPAGInpaintPipeline,
            StableDiffusionXLPAGPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
1114
1115
1116
            StableDiffusionXLPipeline,
            StableUnCLIPImg2ImgPipeline,
            StableUnCLIPPipeline,
Suraj Patil's avatar
Suraj Patil committed
1117
            StableVideoDiffusionPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
1118
1119
            TextToVideoSDPipeline,
            TextToVideoZeroPipeline,
1120
            TextToVideoZeroSDXLPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
            UnCLIPImageVariationPipeline,
            UnCLIPPipeline,
            UniDiffuserModel,
            UniDiffuserPipeline,
            UniDiffuserTextDecoder,
            VersatileDiffusionDualGuidedPipeline,
            VersatileDiffusionImageVariationPipeline,
            VersatileDiffusionPipeline,
            VersatileDiffusionTextToImagePipeline,
            VideoToVideoSDPipeline,
Zhong-Yu Li's avatar
Zhong-Yu Li committed
1131
1132
            VisualClozeGenerationPipeline,
            VisualClozePipeline,
Dhruv Nair's avatar
Dhruv Nair committed
1133
            VQDiffusionPipeline,
1134
1135
            WanImageToVideoPipeline,
            WanPipeline,
Aryan's avatar
Aryan committed
1136
            WanVACEPipeline,
1137
            WanVideoToVideoPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
            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:
1149
        from .pipelines import StableDiffusionKDiffusionPipeline, StableDiffusionXLKDiffusionPipeline
Dhruv Nair's avatar
Dhruv Nair committed
1150

1151
1152
1153
1154
1155
1156
    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
1157
        from .pipelines import KolorsImg2ImgPipeline, KolorsPAGPipeline, KolorsPipeline
Sayak Paul's avatar
Sayak Paul committed
1158
1159
1160
1161
1162
1163
1164
1165
1166

    try:
        if not (is_torch_available() and is_transformers_available() and is_opencv_available()):
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_torch_and_transformers_and_opencv_objects import *  # noqa F403
    else:
        from .pipelines import ConsisIDPipeline

Dhruv Nair's avatar
Dhruv Nair committed
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
    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:
1204
        from .models.controlnets.controlnet_flax import FlaxControlNetModel
Dhruv Nair's avatar
Dhruv Nair committed
1205
        from .models.modeling_flax_utils import FlaxModelMixin
1206
        from .models.unets.unet_2d_condition_flax import FlaxUNet2DConditionModel
Dhruv Nair's avatar
Dhruv Nair committed
1207
1208
1209
1210
1211
1212
        from .models.vae_flax import FlaxAutoencoderKL
        from .pipelines import FlaxDiffusionPipeline
        from .schedulers import (
            FlaxDDIMScheduler,
            FlaxDDPMScheduler,
            FlaxDPMSolverMultistepScheduler,
Pedro Cuenca's avatar
Pedro Cuenca committed
1213
            FlaxEulerDiscreteScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
            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
1232
            FlaxStableDiffusionXLPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
        )

    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__},
    )