What is the difference between StableDiffusionPipeline and DiffusionPipeline

Hi guys, I would like to enquire that what is the difference between StableDiffusionPipeline and DiffusionPipeline. Can we loading stable diffusion weight using DiffusionPipeline, such as

pipeline = DiffusionPipeline.from_pretrained(


DiffusionPipeline is a generic class that can be extended for specific tasks. StableDiffusionPipeline inherits and extends the DiffusionPipeline class specifically for text-2-image tasks.

You can call DiffusionPipeline.from_pretrained which will recognize and load a StableDiffusionPipeline based on the model that is passed to it. Or you can call StableDiffusionPipeline.from_pretrained directly also.

Thanks for your kind reply. So basically they will go to the same file.py in diffusers. The DiffusionPipeline finds the StableDiffusionPipeline class in the src dir automatically right?