Diffusers documentation
Text-Guided Image-to-Image Generation
Get started
Using Diffusers
Loading & Hub
Loading Pipelines, Models, and SchedulersUsing different SchedulersConfiguring Pipelines, Models, and SchedulersLoading and Adding Custom Pipelines
Pipelines for Inference
Unconditional Image GenerationText-to-Image GenerationText-Guided Image-to-ImageText-Guided Image-InpaintingText-Guided Depth-to-ImageReusing seeds for deterministic generationReproducibilityCommunity PipelinesHow to contribute a Pipeline
Taking Diffusers Beyond Images
Optimization/Special Hardware
Training
OverviewUnconditional Image GenerationTextual InversionDreamboothText-to-image fine-tuningLoRA Support in Diffusers
Conceptual Guides
API
Main Classes
Pipelines
OverviewAltDiffusionAudio DiffusionCycle DiffusionDance DiffusionDDIMDDPMDiTLatent DiffusionPaintByExamplePNDMRePaintSafe Stable DiffusionScore SDE VE
Stable Diffusion
OverviewText-to-ImageImage-to-ImageInpaintDepth-to-ImageImage-VariationSuper-ResolutionInstructPix2Pix
Stable Diffusion 2Stochastic Karras VEUnCLIPUnconditional Latent DiffusionVersatile DiffusionVQ DiffusionSchedulers
OverviewDDIMDDPMDEISDPM Discrete SchedulerDPM Discrete Scheduler with ancestral samplingEuler Ancestral SchedulerEuler schedulerHeun SchedulerIPNDMLinear MultistepMultistep DPM-SolverPNDMRePaint SchedulerSinglestep DPM-SolverStochastic Kerras VEVE-SDEVP-SDEVQDiffusionScheduler
Experimental Features
You are viewing v0.12.0 version. A newer version v0.38.0 is available.
Text-Guided Image-to-Image Generation
The StableDiffusionImg2ImgPipeline lets you pass a text prompt and an initial image to condition the generation of new images.
import torch
import requests
from PIL import Image
from io import BytesIO
from diffusers import StableDiffusionImg2ImgPipeline
# load the pipeline
device = "cuda"
pipe = StableDiffusionImg2ImgPipeline.from_pretrained("runwayml/stable-diffusion-v1-5", torch_dtype=torch.float16).to(
device
)
# let's download an initial image
url = "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/assets/stable-samples/img2img/sketch-mountains-input.jpg"
response = requests.get(url)
init_image = Image.open(BytesIO(response.content)).convert("RGB")
init_image.thumbnail((768, 768))
prompt = "A fantasy landscape, trending on artstation"
images = pipe(prompt=prompt, image=init_image, strength=0.75, guidance_scale=7.5).images
images[0].save("fantasy_landscape.png")