File size: 3,455 Bytes
a3834c7
 
862c7bd
 
a3834c7
6536af6
 
 
 
6936ea7
 
f067a19
25e72c0
f067a19
 
 
 
 
 
 
 
6936ea7
 
a3834c7
0ddbc62
 
 
 
 
 
f067a19
 
 
a3834c7
 
 
0ddbc62
 
 
 
a3834c7
 
 
 
 
6936ea7
 
 
 
 
 
5ed8116
3fd2856
0c4f2c7
3fd2856
6936ea7
0c4f2c7
6936ea7
 
 
 
 
a0b5183
6936ea7
 
a0b5183
 
5f58162
 
 
a0b5183
90165bb
d87bfdf
3955756
 
d87bfdf
e0e6db0
d87bfdf
3955756
 
0ddbc62
 
b46a3bc
 
 
0ddbc62
 
7a517a0
1c8e2bc
862c7bd
1c8e2bc
44f7691
7a517a0
d6c66c9
837be6d
 
 
7a517a0
819355a
a3834c7
4f7efa4
 
6936ea7
 
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
import numpy as np
import gradio as gr
import ast
import requests

from theme_dropdown import create_theme_dropdown  # noqa: F401

dropdown, js = create_theme_dropdown()

models = [
    {"name": "Stable Diffusion 2", "url": "stabilityai/stable-diffusion-2-1"},
    {"name": "stability AI", "url": "stabilityai/stable-diffusion-2-1-base"},
    {"name": "Compressed-S-D", "url": "nota-ai/bk-sdm-small"},
    {"name": "Future Diffusion", "url": "nitrosocke/Future-Diffusion"},
    {"name": "JWST Deep Space Diffusion", "url": "dallinmackay/JWST-Deep-Space-diffusion"},
    {"name": "Robo Diffusion 3 Base", "url": "nousr/robo-diffusion-2-base"},
    {"name": "Robo Diffusion", "url": "nousr/robo-diffusion"},
    {"name": "Tron Legacy Diffusion", "url": "dallinmackay/Tron-Legacy-diffusion"},
]   

text_gen = gr.Interface.load("spaces/daspartho/prompt-extend")

current_model = models[0]

models2 = []
for model in models:
    model_url = f"models/{model['url']}"
    loaded_model = gr.Interface.load(model_url, live=True, preprocess=True)
    models2.append(loaded_model)

def text_it(inputs, text_gen=text_gen):
    return text_gen(inputs)

def flip_text(x):
    return x[::-1]

def send_it(inputs, model_choice):
    proc = models2[model_choice]
    return proc(inputs)


def flip_image(x):
    return np.fliplr(x)


def set_model(current_model_index):
    global current_model
    current_model = models[current_model_index]
    return gr.update(value=f"{current_model['name']}")


with gr.Blocks(theme='pikto/theme@>=0.0.1,<0.0.3') as pan:
    gr.Markdown("AI CONTENT TOOLS.")
                    
    with gr.Tab("T-to-I"):
        
    ##model = ("stabilityai/stable-diffusion-2-1")
         model_name1 = gr.Dropdown(
                label="Choose Model",
                choices=[m["name"] for m in models],
                type="index",
                value=current_model["name"],
                interactive=True,
         )
         input_text = gr.Textbox(label="Prompt idea",)

        ##  run = gr.Button("Generate Images")
         with gr.Row():
             see_prompts = gr.Button("Generate Prompts")
             run = gr.Button("Generate Images", variant="primary")
        
         with gr.Row():
             magic1 = gr.Textbox(label="Generated Prompt", lines=2)
             output1 = gr.Image(label="")
          
             
         with gr.Row():    
             magic2 = gr.Textbox(label="Generated Prompt", lines=2)
             output2 = gr.Image(label="")

            
         run.click(send_it, inputs=[magic1, model_name1], outputs=[output1])
         run.click(send_it, inputs=[magic2, model_name1], outputs=[output2])
         see_prompts.click(text_it, inputs=[input_text], outputs=[magic1])
         see_prompts.click(text_it, inputs=[input_text], outputs=[magic2])
        
    model_name1.change(set_model, inputs=model_name1, outputs=[output1, output2,])
        
    #with gr.Tab("Flip Image"):
         #Using Gradio Demos as API - This is Hot!
           

    with gr.Tab("Diffuser"):
        with gr.Row():
            text_input = gr.Textbox()                      ##   Diffuser
            image_output = gr.Image()
        image_button = gr.Button("Flip")



   # text_button.click(flip_text, inputs=text_input, outputs=text_output)
   # image_button.click(flip_image, inputs=image_input, outputs=image_output)
pan.queue(concurrency_count=200)
pan.launch(inline=True, show_api=True, max_threads=400)