Spaces:
Running
Running
File size: 7,488 Bytes
5c6edfb 6ee49a9 1528648 5c6edfb 1528648 5c6edfb 6ee49a9 65a7901 a60b83b 5c6edfb 6ee49a9 a60b83b 6ee49a9 8fa2633 6ee49a9 a60b83b 8fa2633 a60b83b 1e94087 6ee49a9 8640ae7 5c6edfb 8640ae7 5c6edfb 6ee49a9 5c6edfb 6ee49a9 5c6edfb 6ee49a9 5c6edfb 6ee49a9 5c6edfb 6ee49a9 5c6edfb 6ee49a9 8640ae7 6ee49a9 5c6edfb 6ee49a9 8640ae7 8cca2fb 78fe0b4 8cca2fb 5c6edfb |
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 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 |
import gradio as gr
from gradio_client import Client
import numpy as np
MAX_SEED = np.iinfo(np.int32).max
MAX_IMAGE_SIZE = 2048
flux_1_schell_spaces = [
"https://black-forest-labs-flux-1-schnell.hf.space",
"ChristianHappy/FLUX.1-schnell",
"innoai/FLUX.1-schnell",
"tuan2308/FLUX.1-schnell",
"FiditeNemini/FLUX.1-schnell"
]
client = None
job = None
def infer(selected_space, prompt, seed=42, randomize_seed=False, width=1024, height=1024,
num_inference_steps=4, progress=gr.Progress(track_tqdm=True)):
global job
global client
if client is None:
try:
client = Client(selected_space)
print(f"Loaded custom model from {selected_space}")
except ValueError as e:
client = None
print(f"Failed to load custom model from {selected_space}: {e}")
raise gr.Error("Failed to load client after trying all spaces.")
try:
job = client.submit(
prompt=prompt,
seed=seed,
randomize_seed=randomize_seed,
width=width,
height=height,
num_inference_steps=num_inference_steps,
api_name="/infer"
)
result = job.result()
except ValueError as e:
client = None
raise gr.Error(e)
return result
# 将示例格式化为正确的嵌套列表格式
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 = """
#col-container {
margin: 0 auto;
max-width: 520px;
}
"""
with gr.Blocks(css=css) as demo:
selected_space_index = gr.State(0)
with gr.Column(elem_id="col-container"):
space = gr.Radio(
flux_1_schell_spaces,
label="Choose Your Flux Model",
value=flux_1_schell_spaces[0]
)
with gr.Row():
prompt = gr.Text(
label="Prompt",
show_label=False,
max_lines=1,
placeholder="Enter your prompt",
container=False,
)
run_button = gr.Button("Run", scale=0)
result = gr.Image(label="Result", show_label=False)
with gr.Accordion("Advanced Settings", open=False):
seed = gr.Slider(
label="Seed",
minimum=0,
maximum=MAX_SEED,
step=1,
value=0,
)
randomize_seed = gr.Checkbox(label="Randomize seed", value=True)
with gr.Row():
width = gr.Slider(
label="Width",
minimum=256,
maximum=MAX_IMAGE_SIZE,
step=32,
value=1024,
)
height = gr.Slider(
label="Height",
minimum=256,
maximum=MAX_IMAGE_SIZE,
step=32,
value=1024,
)
with gr.Row():
num_inference_steps = gr.Slider(
label="Number of inference steps",
minimum=1,
maximum=50,
step=1,
value=4,
)
gr.Examples(
examples=examples,
inputs=prompt, # 只使用 prompt 作为输入
outputs=result, # 只使用 result 作为输出
fn=infer, # 使用 infer 函数
cache_examples="lazy"
)
gr.on(
triggers=[run_button.click, prompt.submit],
fn=infer,
inputs=[
space,
prompt,
seed,
randomize_seed,
width,
height,
num_inference_steps
],
outputs=[result, seed]
)
"""
<div class="footer">
<p>
Best AI Tools •
<a href="https://nudeai.beauty" target="_blank">Nude AI</a> •
<a href="https://uncensoredai.cc" target="_blank">Uncensored AI</a> •
<a href="https://aihentaigenerator.fun" target="_blank">AI Hentai Generator</a> •
<a href="https://stable-diffusion-hentai.aihentaigenerator.fun" target="_blank">Stable Diffusion Hentai</a> •
<a href="https://bingimagecreator.online" target="_blank">Bing Image Creator</a> •
<a href="https://nsfwaiart.art" target="_blank">NSFW AI Art</a> •
<a href="https://nsfw-ai-chatbot.online" target="_blank">NSFW AI Chatbot</a> •
<a href="https://nsfwai.world" target="_blank">NSFW AI Directory</a> •
<a href="https://aitoolsdirectory.online" target="_blank">AI Tools Directory</a> •
<a href="https://viggleai.live" target="_blank">Viggle AI</a> •
<a href="https://chatgpt4o.space" target="_blank">ChatGPT 4o Free</a> •
<a href="https://tdeecalculator.online" target="_blank">TDEE Calculator</a> •
<a href="https://calculatorapp.online" target="_blank">Calculator App</a> •
<a href="https://compoundinterestcalculator.site" target="_blank">Compound Interest Calculator</a> •
<a href="https://aistorygenerator.fun" target="_blank">AI Story Generator</a> •
<a href="https://llamaai.online" target="_blank">Free Online Llama AI</a> •
<a href="https://aiartfree.online" target="_blank">Free AI Art Generator</a> •
<a href="https://cekkhodam.co/" target="_blank">Cek Khodam</a> •
<a href="https://ai-detector.online" target="_blank">AI Detector</a> •
<a href="https://aicover.fun" target="_blank">AI Cover</a> •
<a href="https://flux-ai.online/" target="_blank">Flux AI Image Generator</a> •
<a href="https://bratgenerator.org" target="_blank">Brat Generator</a> •
<a href="https://aitextgenerator.live" target="_blank">AI Text Generator</a> •
<a href="https://blackmythwukong.buzz" target="_blank">Black Myth Wukong Guide</a> •
<a href="https://booksummary.wiki" target="_blank">Book Summary</a> •
<a href="https://chatgptgratuit.chat" target="_blank">ChatGPT Gratuit</a> •
<a href="https://chatgptgratuito.online/" target="_blank">Chat GPT Gratuito</a> •
<a href="https://chatgtponline.com/" target="_blank">Chat GTP</a> •
<a href="https://gauthai.pro/" target="_blank">Gauth AI</a> •
<a href="https://bestrecipe.pro/" target="_blank">Best Recipe</a> •
<a href="https://cookie-clicker-unblocked.pro/" target="_blank">Cookie Clicker Unblocked</a> •
<a href="https://freakyfont.org/" target="_blank">Freaky Font</a> •
<a href="https://chatgratuito.online" target="_blank">Chat Gratuito</a> •
<a href="https://incrediboxsprunki.pro" target="_blank">Incredibox Sprunki</a> •
<a href="https://motox3munblocked.pro" target="_blank">Moto X3M Unblocked</a> •
<a href="https://parkourcivilization.pro" target="_blank">Parkour Civilization</a> •
<a href="https://sledrider3d.com" target="_blank">Sled Rider 3D</a> •
<a href="https://snow-rider-3d.pro" target="_blank">Snow Rider 3D</a> •
<a href="https://sprunkigame.pro" target="_blank">Sprunki Game</a> •
<a href="https://stickmanhookunblocked.pro" target="_blank">Stickman Hook Unblocked</a> •
</p>
"""
demo.launch() |