|
import gradio as gr |
|
import random |
|
from time import time, ctime |
|
|
|
def promptgen(choice, num): |
|
t = time() |
|
print(ctime(t)) |
|
|
|
if choice == "Prompt Generator v0.1(Better quality)": |
|
prompt = open('prompttext.txt').read().splitlines() |
|
elif choice == "Prompt Generator v0.2(More tags)": |
|
prompt = open('prompttext2.txt').read().splitlines() |
|
|
|
if int(num) < 1 or int(num) > 20: |
|
num = 10 |
|
|
|
vocab = len(prompt) |
|
generated = [] |
|
while len(sorted(set(generated), key=lambda d: generated.index(d))) < num: |
|
rand = random.randint(0, vocab) |
|
generated.append(prompt[rand-1]) |
|
return ' '.join(sorted(set(generated), key=lambda d: generated.index(d))) |
|
|
|
demo = gr.Blocks() |
|
|
|
with demo: |
|
gr.HTML( |
|
""" |
|
<div style="text-align: center; margin: 0 auto;"> |
|
<div style="display: inline-flex;align-items: center;gap: 0.8rem;font-size: 1.75rem;"> |
|
<h1 style="font-weight: 900; margin-bottom: 7px;margin-top:5px"> |
|
Simple Prompt Generator v0.4 (Gradio Demo) |
|
</h1> |
|
</div> |
|
<p style="margin-bottom: 10px; font-size: 94%; line-height: 23px;"> |
|
Simple prompt generation script for Midjourney, DALLe, Stable and Disco diffusion and etc neural networks. <br> <p>More examples in <a class='link-info' href="https://github.com/WiNE-iNEFF/Simple_Prompt_Generator" target="_blank">Github</a> and <a class='link-info' href="https://wine-ineff.github.io/Simple_Prompt_Generator/" target="_blank">Project site</a></p> |
|
</p> |
|
<center> |
|
<img src='https://visitor-badge.glitch.me/badge?page_id=WiNE-iNEFF_Simple_Prompt_Generator&left_text=GithubVisitors' alt='visitor badge'> |
|
</center> |
|
</div> |
|
""" |
|
) |
|
with gr.Column(): |
|
model_size = gr.Radio(["Prompt Generator v0.1(Better quality)", "Prompt Generator v0.2(More tags)"], label="Model Variant", value="Prompt Generator v0.1(Better quality)") |
|
number = gr.Number(value="10", label="Num of tag (MAX 20)", show_label=True) |
|
out = gr.Textbox(lines=4, label="Generated Prompts") |
|
greet_btn = gr.Button("Generate") |
|
greet_btn.click(fn=promptgen, inputs=[model_size, number], outputs=out) |
|
gr.HTML( |
|
""" |
|
<div class="footer"> |
|
<div style='text-align: center;'>Simple Prompt Generator by <a href='https://twitter.com/wine_ineff' target='_blank'>Artsem Holub (WiNE-iNEFF)</a><br>More information about this demo and script your can find in <a class='link-info' href="https://github.com/WiNE-iNEFF/Simple_Prompt_Generator" target="_blank">Github</a> and <a class='link-info' href="https://wine-ineff.github.io/Simple_Prompt_Generator/" target="_blank">Project site</a></div> |
|
</div> |
|
""" |
|
) |
|
|
|
demo.queue(concurrency_count=4) |
|
demo.launch() |