File size: 2,999 Bytes
645a646
 
bdc1000
645a646
 
1e9186f
65b9940
082714d
 
 
08c6b22
f158749
645a646
5c44832
645a646
2a151c5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
988fab5
645a646
1e9186f
645a646
 
 
 
 
2a151c5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
645a646
dd7838a
2a151c5
 
 
dd7838a
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
import gradio as gr
import requests
import os

# API ссылка
url = "https://stablediffusionapi.com/api/v4/dreambooth"

# API ключ
api_key = os.getenv("KEY")

model_list = ["AbsoluteReality 1.8.1", "Elldreth's Vivid Mix", "Anything V5", "Openjourney V4", "Analog Diffusion", "Lyriel 1.6", "Realistic Vision 5.0", "Dreamshaper 8", "epiCRealism v5", "CyberRealistic 3.3", "ToonYou 6", "Deliberate 3"]

# Функция для отправки запроса
def render(prompt, model, negative_prompt, width, height, guidance, seed, upscale):
    data = {
        "key": api_key,
        "model_id": model,
        "prompt": prompt,
        "negative_prompt": negative_prompt,
        "width": width,
        "height": height,
        "samples": "1",
        "num_inference_steps": "40",
        "safety_checker": "no",
        "enhance_prompt": "yes",
        "seed": seed,
        "guidance_scale": guidance,
        "multi_lingual": "no",
        "panorama": "no",
        "self_attention": "no",
        "upscale": upscale,  # Исправлено: передавайте значение upscale
        "embeddings": "embeddings_model_id",
        "lora": "lora_model_id",
        "webhook": None,
        "track_id": None,
    }
    response = requests.post(url, json=data)
    if response.status_code == 200:
        return response.content
    else:
        return None

tab_1 = [
    gr.Textbox(render, label="Описание изображения:", placeholder="Введите описание изображения", lines=3),
    gr.Radio(render, interactive=True, value="Anything V5", show_label=True, label="Модель:", choices=model_list),
]

tab_2 = [
    gr.Textbox(render, label="Negative Prompt:", placeholder="Введите Negative Prompt", value="[deformed | disfigured], poorly drawn, [bad : wrong] anatomy, [extra | missing | floating | disconnected] limb, (mutated hands and fingers), blurry", lines=3),
    gr.Slider(render, show_label=True, minimum=256, maximum=2048, label="Ширина:", value=512, step=1),  # Исправлено: передавайте числовые значения
    gr.Slider(render, show_label=True, minimum=256, maximum=2048, label="Высота:", value=512, step=1),  # Исправлено: передавайте числовые значения
    gr.Slider(render, show_label=True, minimum=1, maximum=20, label="CFG Scale:", value=7.5, step=0.5),  # Исправлено: передавайте числовые значения
    gr.Slider(render, show_label=True, label="Seed:", minimum=-1, maximum=1000000, value=-1, step=1),
    gr.Dropdown(render, choices=["yes", "no"], label="Upscale", value="no"),
]

tabs = gr.Tab([tab_1, tab_2], title=["Базовые настройки", "Расширенные настройки"])

# UI
gr.Interface(
    fn=render,
    inputs=[tabs],  # Исправлено: передавайте входные данные как список
    outputs=gr.Image(),
).launch()