Rooni commited on
Commit
75d0567
·
1 Parent(s): a89d517

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +37 -33
app.py CHANGED
@@ -1,55 +1,59 @@
1
- import os
2
  import gradio as gr
3
  import requests
 
4
 
5
- # Получение URL модели и API-ключа из переменных окружения
6
  BASE_URL = os.getenv("BASE_URL")
7
  API_KEY = os.getenv("API_KEY")
8
 
9
- # Функция для отправки запроса к API модели
10
  def generate_image(prompt, negative_prompt, sampling_steps, cfg_scale, seed):
 
11
  headers = {"Authorization": f"Bearer {API_KEY}"}
12
-
13
- # Параметры для запроса
14
- params = {
15
  "prompt": prompt,
16
  "negative_prompt": negative_prompt,
17
- "sampling_steps": int(sampling_steps),
18
- "cfg_scale": int(cfg_scale),
19
- "seed": int(seed)
20
  }
21
-
22
- # Отправка запроса к API модели
23
- response = requests.post(BASE_URL, headers=headers, json=params)
24
-
25
- # Получение сгенерированного изображения
26
- generated_image = response.content
27
-
28
- return generated_image
 
29
 
30
  # Определение интерфейса Gradio
31
  iface = gr.Interface(
32
  fn=generate_image,
33
  inputs=[
34
- gr.Textbox(default="Prompt"),
35
- gr.Textbox(default="Negative Prompt"),
36
  ],
37
- outputs=gr.Image(type="pil"),
38
  live=True,
39
  layout="vertical",
40
- title="Hugging Face Image Generator",
41
- description="Generate images using Hugging Face Inference API.",
42
- theme="compact",
43
- tabs=[
44
- "Prompt Input",
45
- [
46
- gr.Slider(minimum=1, maximum=30, step=1, default=15, label="Sampling Steps"),
47
- gr.Slider(minimum=1, maximum=20, step=1, default=10, label="CFG Scale"),
48
- gr.Textbox(default="-1", label="Seed"),
49
- ]
50
- ],
51
- interpretation="default"
 
52
  )
53
 
54
- # Запуск интерфейса Gradio
 
 
55
  iface.launch()
 
 
1
  import gradio as gr
2
  import requests
3
+ import os
4
 
5
+ # Замените URL и API_KEY на ваши значения
6
  BASE_URL = os.getenv("BASE_URL")
7
  API_KEY = os.getenv("API_KEY")
8
 
9
+ # Функция для выполнения запроса к Inference API
10
  def generate_image(prompt, negative_prompt, sampling_steps, cfg_scale, seed):
11
+ url = f"{BASE_URL}/generate"
12
  headers = {"Authorization": f"Bearer {API_KEY}"}
13
+
14
+ data = {
 
15
  "prompt": prompt,
16
  "negative_prompt": negative_prompt,
17
+ "sampling_steps": sampling_steps,
18
+ "cfg_scale": cfg_scale,
19
+ "seed": seed
20
  }
21
+
22
+ response = requests.post(url, headers=headers, json=data)
23
+
24
+ # Обработка ответа и возврат сгенерированного изображения
25
+ if response.status_code == 200:
26
+ generated_image = response.json()["image"]
27
+ return generated_image
28
+ else:
29
+ return "Ошибка при генерации изображения"
30
 
31
  # Определение интерфейса Gradio
32
  iface = gr.Interface(
33
  fn=generate_image,
34
  inputs=[
35
+ gr.Textbox("text", label="Prompt", default=""),
36
+ gr.Textbox("text", label="Negative Prompt", default=""),
37
  ],
38
+ outputs=gr.Image(label="Generated Image"),
39
  live=True,
40
  layout="vertical",
41
+ title="Huggingface Image Generator",
42
+ description="Генератор изображений с использованием Huggingface Inference API",
43
+ theme="default"
44
+ )
45
+
46
+ # Добавление второй вкладки
47
+ cfg_tab = gr.Tab(
48
+ gr.Row(
49
+ gr.Slider(minimum=1, maximum=30, default=15, label="Sampling Steps", key="sampling_steps"),
50
+ gr.Slider(minimum=1, maximum=20, default=10, label="CFG Scale", key="cfg_scale"),
51
+ gr.Textbox("text", label="Seed", default="-1", key="seed"),
52
+ gr.Button("Сгенерировать", key="generate_button")
53
+ )
54
  )
55
 
56
+ iface.add_tab("Advanced Settings", cfg_tab)
57
+
58
+ # Запуск приложения
59
  iface.launch()