ALL YOUR PIPELINES (are belong to us)

Warning: this is an experimental feature under active development.

Make sure you’re running the latest commits from dev branch.

Intro

You’re probably already familiar with StableDiffusionPipeline, StableDiffusionImg2ImgPipeline and StableDiffusionInpaintPipeline, but there are many more, with exciting new additions all the time.

We no longer load a list of hard-coded pipelines in init(). Instead, we init and cache each on first use (for faster first calls on cold boots), and, all pipelines, both official diffusers
and community pipelines, are available.

Initially we’ll be focusing on:

https://banana-forums.dev/t/lpw-stable-diffusion-pipeline-longer-prompts-prompt-weights

but there are many more exciting others, like StableDiffusionUpscalePipeline, StableDiffusionImageVariationPipeline, and Imagic Stable Diffusion (can edit existing images using text prompts). Some may already work out the box, so feel free to post your experiences here :tada:

Note: docker-diffusers-api will eventually cover all diffuser’s use-cases, but for now, we’re only looking at Stable Diffusion related use-cases (and this is the kind of input / output we’re developing against).

Available Pipelines

Full list of *available* pipelines (untested)
  • Official
    • DanceDiffusionPipeline
    • DDIMPipeline
    • DDPMPipeline
    • LDMSuperResolutionPipeline
    • LDMPipeline
    • PNDMPipeline
    • RePaintPipeline
    • ScoreSdeVePipeline
    • KarrasVePipeline
    • AudioDiffusionPipeline
    • AltDiffusionImg2ImgPipeline
    • AltDiffusionPipeline
    • LDMTextToImagePipeline
    • PaintByExamplePipeline
    • CycleDiffusionPipeline
    • StableDiffusionImageVariationPipeline
    • StableDiffusionImg2ImgPipeline
    • StableDiffusionInpaintPipeline
    • StableDiffusionPipeline
    • StableDiffusionUpscalePipeline
    • VersatileDiffusionDualGuidedPipeline
    • VersatileDiffusionImageVariationPipeline
    • VersatileDiffusionPipeline
    • VersatileDiffusionTextToImagePipeline
    • VQDiffusionPipeline
  • Community
    • wildcard_stable_diffusion
    • one_step_unet
    • interpolate_stable_diffusion
    • img2img_inpainting
    • multilingual_stable_diffusion
    • text_inpainting
    • lpw_stable_diffusion
    • lpw_stable_diffusion_onnx
    • stable_diffusion_mega
    • clip_guided_stable_diffusion
    • composable_stable_diffusion
    • checkpoint_merger
    • imagic_stable_diffusion
    • speech_to_image_diffusion
    • seed_resize_stable_diffusion
    • sd_text2img_k_diffusion
    • bit_diffusio

And links with descriptions of each:

Usage

No special build-args are required! :tada:

Simply use the following callInputs:

  • PIPELINE="DesiredPipeline"

  • custom_pipeline_method="custom_method" (optional)

    If the pipeline needs to be called with a custom method (i.e. instead of pipeline(**inputs), you call pipeline.custom_method(**inputs), you can specify the custom method name here. e.g. for lpw_stable_diffusion this would be text2img, img2img or inpaint.

1 Like