ImgGen / app.py
Rooni's picture
Update app.py
0782038
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()