Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
File size: 5,529 Bytes
e547b24 1134d0a e547b24 1134d0a e547b24 79e0fd9 ce1ed13 5be34e2 a3c4559 79e0fd9 1134d0a e547b24 1134d0a b8e8a65 e547b24 1134d0a e547b24 1134d0a e547b24 1134d0a 3f2e57b 1134d0a b8e8a65 e547b24 3f2e57b f94e79d 1134d0a f94e79d e547b24 b8e8a65 e547b24 6f5a32e 1134d0a e547b24 6f5a32e 1134d0a e547b24 40d7442 e547b24 02f8cfa bc84ac0 02f8cfa 73f7edc e547b24 02f8cfa 5be34e2 02f8cfa b8e8a65 1134d0a b8e8a65 1134d0a b8e8a65 72ada85 b8e8a65 1134d0a b8e8a65 79e0fd9 1134d0a e547b24 ce1ed13 |
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 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
import gradio as gr
import requests
import io
import random
import os
import time
from PIL import Image
from deep_translator import GoogleTranslator
import json
API_TOKEN = os.getenv("HF_READ_TOKEN")
headers = {"Authorization": f"Bearer {API_TOKEN}"}
timeout = 100
article_text = """
<div style="text-align: center;">
<p>Walone LoRA Library မှ Train ထားသည့် Custom Model များကို ထည့်သွင်းပြီးထုတ်နိုင်ပါတယ်။</p>
<div style="display: flex; justify-content: center;">
<a href="https://writtech.com/waloneai/walone-lora-library/">
<img src="https://writtech.com/waloneai/premium/lora.png"
alt="Buy Me a Coffee"
style="height: 40px; width: auto; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); border-radius: 10px;">
</a>
</div>
</div>
"""
def query(lora_id, prompt, steps=28, cfg_scale=3.5, randomize_seed=True, seed=-1, width=1024, height=1024):
if prompt == "" or prompt == None:
return None
if lora_id.strip() == "" or lora_id == None:
lora_id = "black-forest-labs/FLUX.1-dev"
key = random.randint(0, 999)
API_URL = "https://api-inference.huggingface.co/models/"+ lora_id.strip()
API_TOKEN = random.choice([os.getenv("HF_READ_TOKEN")])
headers = {"Authorization": f"Bearer {API_TOKEN}"}
#prompt = GoogleTranslator(source='my', target='en').translate(prompt)
# print(f'\033[1mGeneration {key} translation:\033[0m {prompt}')
prompt = f"{prompt} | ultra detail, ultra elaboration, ultra quality, perfect."
# print(f'\033[1mGeneration {key}:\033[0m {prompt}')
# If seed is -1, generate a random seed and use it
if randomize_seed:
seed = random.randint(1, 4294967296)
payload = {
"inputs": prompt,
"steps": steps,
"cfg_scale": cfg_scale,
"seed": seed,
"parameters": {
"width": width, # Pass the width to the API
"height": height # Pass the height to the API
}
}
response = requests.post(API_URL, headers=headers, json=payload, timeout=timeout)
if response.status_code != 200:
print(f"Error: Failed to get image. Response status: {response.status_code}")
print(f"Response content: {response.text}")
if response.status_code == 503:
raise gr.Error(f"{response.status_code} : The model is being loaded")
raise gr.Error(f"{response.status_code}")
try:
image_bytes = response.content
image = Image.open(io.BytesIO(image_bytes))
print(f'\033[1mGeneration {key} completed!\033[0m ({prompt})')
return image, seed, seed
except Exception as e:
print(f"Error when trying to open the image: {e}")
return None
examples = [
"a tiny astronaut hatching from an egg on the moon",
"a cat holding a sign that says hello world",
"an anime illustration of a wiener schnitzel",
]
css = """
#app-container {
max-width: 600px;
margin-left: auto;
margin-right: auto;
}
"""
with gr.Blocks(theme='Nymbo/Nymbo_Theme', css=css) as app:
gr.HTML("<center><h1>Walone AI Image Custom</h1></center>")
with gr.Column(elem_id="app-container"):
with gr.Row():
with gr.Column(elem_id="prompt-container"):
with gr.Row():
text_prompt = gr.Textbox(label="Prompt", placeholder="Enter a prompt here ( English လိုသာရေးလို့ရပါမယ် ) ", lines=2, elem_id="prompt-text-input")
with gr.Row():
custom_lora = gr.Textbox(label="Custom Model", info="Model path (Walone LoRA Library မှာ Model path များရနိုင်ပါတယ်)", placeholder="shweaung/mawc-cc")
with gr.Row():
with gr.Accordion("Advanced Settings", open=False):
with gr.Row():
width = gr.Slider(label="Width", value=1024, minimum=64, maximum=1216, step=8)
height = gr.Slider(label="Height", value=1024, minimum=64, maximum=1216, step=8)
seed = gr.Slider(label="Seed", value=-1, minimum=-1, maximum=4294967296, step=1)
randomize_seed = gr.Checkbox(label="Randomize seed", value=True)
with gr.Row():
steps = gr.Slider(label="Sampling steps", value=28, minimum=1, maximum=100, step=1)
cfg = gr.Slider(label="CFG Scale", value=3.5, minimum=1, maximum=20, step=0.5)
# method = gr.Radio(label="Sampling method", value="DPM++ 2M Karras", choices=["DPM++ 2M Karras", "DPM++ SDE Karras", "Euler", "Euler a", "Heun", "DDIM"])
with gr.Row():
text_button = gr.Button("Run", variant='primary', elem_id="gen-button")
with gr.Row():
image_output = gr.Image(type="pil", label="Image Output", elem_id="gallery")
with gr.Row():
seed_output = gr.Textbox(label="Seed Used", show_copy_button = True, elem_id="seed-output")
gr.Markdown(article_text)
gr.Examples(
examples = examples,
inputs = [text_prompt],
)
text_button.click(query, inputs=[custom_lora, text_prompt, steps, cfg, randomize_seed, seed, width, height], outputs=[image_output,seed_output, seed])
app.launch(show_api=False, share=True) |