Spaces:
Running
Running
import gradio as gr | |
import requests | |
from PIL import Image | |
import io | |
from gradio.inputs_panel import InputGroup | |
API_URL = "https://api-inference.huggingface.co/models/prompthero/openjourney-v4" | |
headers = {"Authorization": "Bearer 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"} | |
def generate_image(text_input, seed): | |
images = [] | |
for i in range(3): | |
prompt_with_randomness = text_input + f" (versão {i+1})" | |
if seed != -1: | |
prompt_with_randomness += f" (seed: {seed})" | |
payload = {"inputs": prompt_with_randomness} | |
response = requests.post(API_URL, headers=headers, json=payload) | |
image_bytes = response.content | |
image = Image.open(io.BytesIO(image_bytes)) | |
images.append(image) | |
return images | |
inputs = [ | |
gr.inputs.Textbox(label="Texto"), | |
InputGroup( | |
[ | |
gr.inputs.Slider( | |
label="Semente", | |
minimum=-1, | |
maximum=1000000, | |
step=1, | |
value=-1, | |
info="Se definido como -1, uma semente diferente será usada a cada vez." | |
) | |
], | |
label="Opções avançadas", | |
help="Escolha as opções avançadas para ajustar a saída do modelo" | |
) | |
] | |
outputs = [ | |
gr.outputs.Image(label="Imagem 1"), | |
gr.outputs.Image(label="Imagem 2"), | |
gr.outputs.Image(label="Imagem 3") | |
] | |
interface = gr.Interface( | |
fn=generate_image, | |
inputs=inputs, | |
outputs=outputs, | |
title="Gerador de Imagens Itacaiúnas", | |
description="Digite o texto para gerar três imagens distintas." | |
) | |
interface.launch() | |