Rooni commited on
Commit
c632d1b
·
1 Parent(s): 62a46e6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -12
app.py CHANGED
@@ -1,6 +1,9 @@
1
  import gradio as gr
2
  import openai
3
  import os
 
 
 
4
 
5
  # Получаем API ключ из переменных среды
6
  api_key = os.getenv("API_KEY")
@@ -9,16 +12,27 @@ api_key = os.getenv("API_KEY")
9
  if api_key is None:
10
  raise ValueError("API_KEY не найден. Установите переменную среды API_KEY с вашим ключом.")
11
 
 
 
12
  # Функция для генерации изображения с помощью DALL-E 3 API
13
  def generate_image(prompt):
14
- openai.api_key = api_key
15
-
16
- # Выполнение запроса к API для генерации изображения
17
  response = openai.Image.create(prompt=prompt, n=1)
18
- image_url = response['data'][0]['url']
19
-
20
- # Возврат URL изображения для отображения
21
- return image_url
 
 
 
 
 
 
 
 
 
 
 
22
 
23
  with gr.Blocks() as demo:
24
  gr.Markdown("# Генератор изображений DALL-E 3")
@@ -27,13 +41,12 @@ with gr.Blocks() as demo:
27
  with gr.TabItem("Базовые настройки"):
28
  with gr.Column():
29
  prompt_input = gr.Textbox(label="Введите ваш запрос (prompt)", placeholder="Например: 'собака в космическом костюме'")
 
 
 
30
 
31
  with gr.TabItem("Расширенные настройки"):
32
  gr.Markdown("## Скоро...")
33
  # Здесь могут быть добавлены дополнительные настройки
34
-
35
- generate_button = gr.Button("Сгенерировать изображение")
36
- output_image = gr.Image(label="Сгенерированное изображение")
37
- generate_button.click(fn=generate_image, inputs=prompt_input, outputs=output_image)
38
-
39
  demo.launch()
 
1
  import gradio as gr
2
  import openai
3
  import os
4
+ import requests
5
+ from PIL import Image
6
+ from io import BytesIO
7
 
8
  # Получаем API ключ из переменных среды
9
  api_key = os.getenv("API_KEY")
 
12
  if api_key is None:
13
  raise ValueError("API_KEY не найден. Установите переменную среды API_KEY с вашим ключом.")
14
 
15
+ openai.api_key = api_key
16
+
17
  # Функция для генерации изображения с помощью DALL-E 3 API
18
  def generate_image(prompt):
19
+ # Создаем задачу для генерации изображения
 
 
20
  response = openai.Image.create(prompt=prompt, n=1)
21
+
22
+ # Получаем файловый ID из ответа
23
+ file_id = response['data'][0]['id']
24
+
25
+ # Получаем список изображений для данного файла
26
+ images = openai.Image.list(file_id=file_id)
27
+
28
+ # Получаем первое изображение из списка
29
+ image_url = images['data'][0]['url']
30
+
31
+ # Загружаем изображение по URL и конвертируем в формат, пригодный для Gradio
32
+ response = requests.get(image_url)
33
+ image = Image.open(BytesIO(response.content))
34
+
35
+ return image
36
 
37
  with gr.Blocks() as demo:
38
  gr.Markdown("# Генератор изображений DALL-E 3")
 
41
  with gr.TabItem("Базовые настройки"):
42
  with gr.Column():
43
  prompt_input = gr.Textbox(label="Введите ваш запрос (prompt)", placeholder="Например: 'собака в космическом костюме'")
44
+ generate_button = gr.Button("Сгенерировать изображение")
45
+ output_image = gr.Image(label="Сгенерированное изображение")
46
+ generate_button.click(fn=generate_image, inputs=prompt_input, outputs=output_image)
47
 
48
  with gr.TabItem("Расширенные настройки"):
49
  gr.Markdown("## Скоро...")
50
  # Здесь могут быть добавлены дополнительные настройки
51
+
 
 
 
 
52
  demo.launch()