img2img.mdx 1.76 KB
Newer Older
Nathan Lambert's avatar
Nathan Lambert committed
1
2
3
4
5
6
7
8
9
10
11
12
<!--Copyright 2022 The HuggingFace Team. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
specific language governing permissions and limitations under the License.
-->

13
# Text-Guided Image-to-Image Generation
Patrick von Platen's avatar
Patrick von Platen committed
14

15
The [`StableDiffusionImg2ImgPipeline`] lets you pass a text prompt and an initial image to condition the generation of new images.
Patrick von Platen's avatar
Patrick von Platen committed
16

17
18
19
20
```python
import requests
from PIL import Image
from io import BytesIO
Patrick von Platen's avatar
Patrick von Platen committed
21

22
from diffusers import StableDiffusionImg2ImgPipeline
Patrick von Platen's avatar
Patrick von Platen committed
23

24
25
26
# load the pipeline
device = "cuda"
pipe = StableDiffusionImg2ImgPipeline.from_pretrained(
27
    "CompVis/stable-diffusion-v1-4", revision="fp16", torch_dtype=torch.float16
28
).to(device)
Patrick von Platen's avatar
Patrick von Platen committed
29

30
31
# let's download an initial image
url = "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/assets/stable-samples/img2img/sketch-mountains-input.jpg"
Patrick von Platen's avatar
Patrick von Platen committed
32

33
34
35
response = requests.get(url)
init_image = Image.open(BytesIO(response.content)).convert("RGB")
init_image = init_image.resize((768, 512))
Patrick von Platen's avatar
Patrick von Platen committed
36

37
prompt = "A fantasy landscape, trending on artstation"
Patrick von Platen's avatar
Patrick von Platen committed
38

39
images = pipe(prompt=prompt, init_image=init_image, strength=0.75, guidance_scale=7.5).images
Patrick von Platen's avatar
Patrick von Platen committed
40

41
42
images[0].save("fantasy_landscape.png")
```
43
You can also run this example on colab [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/huggingface/notebooks/blob/main/diffusers/image_2_image_using_diffusers.ipynb)
Patrick von Platen's avatar
Patrick von Platen committed
44