File size: 1,380 Bytes
2a620e7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
from googletrans import Translator
from diffusers import StableDiffusionPipeline, DPMSolverMultistepScheduler
import torch
import gradio as gr

translator = Translator()

model_id = "stabilityai/stable-diffusion-2-1"
access_token="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"

pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16, use_auth_token=access_token
)

pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config)
pipe = pipe.to("cuda")

def generate(prompt, inference_steps, guidance_scale, neg_prompt):
  if not neg_prompt:
    neg_prompt = ""
    
    prompt_eng = translator.translate(prompt, dest='en').text
    image = pipe(prompt_eng, guidance_scale= int(guidance_scale), num_inference_steps = int(inference_steps), negative_prompt = neg_prompt).images[0]
    return image

gr.Interface(
    generate,
    title = 'Image to Image using Diffusers',
    inputs=[
        gr.Textbox(label="Prompt"),
        gr.Slider(50, 700, value=50, label ="Inference steps"),
        gr.Slider(1, 10, value=5, label ="Guidance scale"),
        gr.Textbox(label="Negative prompt (include things you DO NOT want in the image")
    ],
    outputs = [
        gr.Image(elem_id="output-image"),

        ], css = "#output-image, #input-image, #image-preview {border-radius: 40px !important; background-color : gray !important;} "
).launch()