File size: 2,941 Bytes
ff1df2a 7d9be07 056a538 f6b6ceb 7fcead6 f6b6ceb 7d9be07 056a538 f6b6ceb aeb71ff db9320e aeb71ff 24da95e 7d9be07 f6b6ceb 7fcead6 f6b6ceb a5b71c1 0619f29 7d9be07 5cbcb31 0619f29 75d0567 0619f29 5cbcb31 0619f29 70ba535 7d9be07 9cb2b2f 5cbcb31 c8514d9 4210b53 cac4c70 4210b53 cac4c70 4210b53 0782038 4210b53 c8514d9 0aaeb17 5cbcb31 9cb2b2f a5b71c1 0619f29 7d9be07 |
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 |
import gradio as gr
import requests
# Базовые настройки
prompt = gr.Textbox(label="Prompt")
models = gr.Radio(
["Bard", "DALL-E 2", "VQGAN+CLIP", "VQGAN", "CLIP", "InceptionV3", "VQGAN+CLIP-ViT-B16", "VQGAN+CLIP-ViT-B32", "VQGAN+CLIP-ViT-L", "VQGAN+CLIP-ViT-H", "VQGAN+CLIP-ViT-XL"],
label="Model",
)
# Расширенные настройки
negative_prompt = gr.Textbox(label="Negative Prompt")
sampling_method = gr.Radio(
["random", "greedy", "nucleus", "top_k", "top_p"], label="Sampling Method"
)
sampling_steps = gr.Number(
label="Sampling Steps", value=30, minimum=1, maximum=100
)
cfg_scale = gr.Number(label="CFG Scale", minimum=0.1, maximum=10.0, value=1.0)
seed = gr.Number(label="Seed", minimum=0, maximum=2**31, value=0)
# Улучшение качества
algorithm = gr.Radio(
["nearest", "bilinear", "bicubic", "lanczos", "cubic", "mitchell", "bicubic_nn", "bicubic_nn_diff", "bicubic_nn_diff_v2"], label="Algorithm"
)
# Функция генерации изображения
def generate_image(prompt, model, negative_prompt, sampling_method, sampling_steps, cfg_scale, seed):
url = "https://api.huggingface.co/models/text-to-image/v1/generate"
data = {
"prompt": prompt,
"model": model,
"negative_prompt": negative_prompt,
"sampling_method": sampling_method,
"sampling_steps": sampling_steps,
"cfg_scale": cfg_scale,
"seed": seed,
}
response = requests.post(url, json=data)
image = response.json()["image"]
return image
# Функция улучшения качества изображения
def improve_quality(image, algorithm):
url = "https://api.huggingface.co/models/text-to-image/v1/improve-quality"
data = {
"image": image,
"algorithm": algorithm,
}
response = requests.post(url, json=data)
image = response.json()["image"]
return image
# Основная функция
def main():
interface = gr.Interface(
generate_image,
[
gr.Row(
gr.Column(prompt, "Базовые настройки"),
gr.Column(models, "Базовые настройки"),
),
gr.Row(
gr.Column(negative_prompt, "Расширенные настройки"),
gr.Column(sampling_method, "Расширенные настройки"),
gr.Column(sampling_steps, "Расширенные настройки"),
gr.Column(cfg_scale, "Расширенные настройки"),
gr.Column(seed, "Расширенные настройки"),
),
gr.Row(
algorithm, # Assuming 'algorithm' is a single component
),
],
outputs=gr.Image(),
title="Gradio Image Generator",
)
interface.launch()
if __name__ == "__main__":
main()
|