File size: 1,202 Bytes
bbe7ddd
de0a6cb
758daeb
 
5db7bfe
009a6a3
e04ef84
 
 
758daeb
009a6a3
 
 
 
 
758daeb
 
 
 
de0a6cb
8dd67e8
 
 
de0a6cb
16108ce
de0a6cb
85c1371
 
 
 
0ea6823
85c1371
 
 
de0a6cb
009a6a3
dfde0fa
de0a6cb
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
import os
import gradio as gr
from openai import OpenAI
client = OpenAI(api_key=os.getenv("API_KEY"))

def generate_image(prompt, code):
    if code != os.getenv("code"):
        raise gr.Error("❗ Не верный ключ!")
        return None
    response = client.images.generate(
    model="dall-e-3",
    prompt=prompt,
    size="1024x1024",
    quality="hd",
    n=1,
    )

    image_url = response.data[0].url
    print(image_url)
    return image_url
css = """
footer {visibility: hidden !important;}
"""
# Создание интерфейса с помощью Gradio
with gr.Blocks(css=css, theme='YTheme/Sketch') as demo:
    with gr.Row():
        with gr.Column():
            with gr.Row():
                code = gr.Textbox(label="Ключ доступа", type="password")
            with gr.Row():
                prompt_input = gr.Textbox(label="Описание изображения", lines=3)
            submit_btn = gr.Button("Генерация", variant='primary')
        with gr.Column():
            image_output = gr.Image(label="Изображение")
    
    submit_btn.click(fn=generate_image, inputs=[prompt_input, code], outputs=image_output)

demo.launch()