File size: 4,159 Bytes
bbc58f1
39e9a15
 
 
82e5ae4
55fca92
6723073
b0a0637
 
 
 
bbc58f1
54174b0
a586d92
82e5ae4
82a84a5
39e9a15
 
2e1aad1
 
 
069ccf4
39e9a15
2e1aad1
 
b0a0637
 
069ccf4
 
2e1aad1
 
b0a0637
 
069ccf4
 
2e1aad1
 
b0a0637
 
069ccf4
 
2e1aad1
 
b0a0637
 
069ccf4
39e9a15
2e1aad1
 
b0a0637
 
069ccf4
 
2e1aad1
 
b0a0637
 
069ccf4
 
2e1aad1
 
b0a0637
 
069ccf4
39e9a15
2e1aad1
 
b0a0637
 
069ccf4
82e5ae4
b0a0637
54174b0
 
 
 
68ce975
39e9a15
069ccf4
 
 
39e9a15
2e1aad1
 
6cb0860
39e9a15
 
069ccf4
 
 
79c3e76
069ccf4
 
 
 
 
79c3e76
069ccf4
 
39e9a15
2e1aad1
 
 
 
 
 
 
 
069ccf4
39e9a15
77d02a4
b0a0637
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
import gradio as gr
import os 
import sys
from pathlib import Path
import random
import string
import time
from ratelimiter import RateLimiter

# rate limit to 4 calls per second
rate_limiter = RateLimiter(max_calls=4, period=1)

text_gen=gr.Interface.load("spaces/Omnibus/MagicPrompt-Stable-Diffusion")


proc1=gr.Interface.load("models/dreamlike-art/dreamlike-photoreal-2.0")
proc5=gr.Interface.load("models/dreamlike-art/dreamlike-diffusion-1.0")


def add_random_noise(prompt, noise_level=0.1):
    noise = "".join(random.choices(string.ascii_letters + string.punctuation, k=int(noise_level * 10)))
    return prompt + noise

def send_it1(inputs, noise_level, proc1=proc1):
    prompt_with_noise = add_random_noise(inputs, noise_level)
    rate_limiter()
    output1 = proc1(prompt_with_noise)
    return output1

def send_it2(inputs, noise_level, proc1=proc1):
    prompt_with_noise = add_random_noise(inputs, noise_level)
    rate_limiter()
    output2 = proc1(prompt_with_noise)
    return output2

def send_it3(inputs, noise_level, proc1=proc1):
    prompt_with_noise = add_random_noise(inputs, noise_level)
    rate_limiter()
    output3 = proc1(prompt_with_noise)
    return output3

def send_it4(inputs, noise_level, proc1=proc1):
    prompt_with_noise = add_random_noise(inputs, noise_level)
    rate_limiter()
    output4 = proc1(prompt_with_noise)
    return output4

def send_it5(inputs, noise_level, proc5=proc5):
    prompt_with_noise = add_random_noise(inputs, noise_level)
    rate_limiter()
    output5 = proc5(prompt_with_noise)
    return output5

def send_it6(inputs, noise_level, proc5=proc5):
    prompt_with_noise = add_random_noise(inputs, noise_level)
    rate_limiter()
    output6 = proc5(prompt_with_noise)
    return output6

def send_it7(inputs, noise_level, proc5=proc5):
    prompt_with_noise = add_random_noise(inputs, noise_level)
    rate_limiter()
    output7 = proc5(prompt_with_noise)
    return output7

def send_it8(inputs, noise_level, proc5=proc5):
    prompt_with_noise = add_random_noise(inputs, noise_level)
    rate_limiter()
    output8 = proc5(prompt_with_noise)
    return output8


def get_prompts(prompt_text):
    return text_gen(prompt_text)

with gr.Blocks() as myface:
    with gr.Row():

        input_text=gr.Textbox(label="Short Prompt")
        see_prompts=gr.Button("Magic Prompt")
    with gr.Row():

        prompt=gr.Textbox(label="Enter Prompt")
        noise_level=gr.Slider(minimum=0.1, maximum=1, step=0.1, label="Noise Level: Adjust noise level to explore different outputs. More noise, more variation. The noise level controls the level of randomness or variations added to the prompt before it is sent to the model. A higher noise level would introduce more variations to the prompt, while a lower noise level would introduce fewer variations.")
        run=gr.Button("Generate")


    with gr.Row():
        output1=gr.Image(label="DreamlikeArt PhotoReal 1")
        output2=gr.Image(label="DreamlikeArt PhotoReal 2")
    with gr.Row():
        output3=gr.Image(label="DreamlikeArt PhotoReal 3")
        output4=gr.Image(label="DreamlikeArt PhotoReal 4")
    with gr.Row():
        output5=gr.Image(label="DreamlikeArt Diffusion 1")
        output6=gr.Image(label="DreamlikeArt Diffusion 2")
    with gr.Row():
        output7=gr.Image(label="DreamlikeArt Diffusion 3")
        output8=gr.Image(label="DreamlikeArt Diffusion 4")        

    run.click(send_it1, inputs=[prompt, noise_level], outputs=[output1])
    run.click(send_it2, inputs=[prompt, noise_level], outputs=[output2])
    run.click(send_it3, inputs=[prompt, noise_level], outputs=[output3])
    run.click(send_it4, inputs=[prompt, noise_level], outputs=[output4])
    run.click(send_it5, inputs=[prompt, noise_level], outputs=[output5])
    run.click(send_it6, inputs=[prompt, noise_level], outputs=[output6])
    run.click(send_it7, inputs=[prompt, noise_level], outputs=[output7])
    run.click(send_it8, inputs=[prompt, noise_level], outputs=[output8])
    see_prompts.click(get_prompts, inputs=[input_text], outputs=[prompt])

    myface.queue(concurrency_count=16)
    myface.launch(enable_queue=True, inline=True)