import gradio as gr from dotenv import load_dotenv from transformers import pipeline # Load environment variables from the .env file de forma local load_dotenv() import base64 with open("Iso_Logotipo_Ceibal.png", "rb") as image_file: encoded_image = base64.b64encode(image_file.read()).decode() import os import openai openai.api_key = os.environ["OPENAI_API_KEY"] es_en_translator = pipeline("translation",model = "Helsinki-NLP/opus-mt-es-en") def translate_text(text): text = es_en_translator(text)[0].get("translation_text") #type: ignore return text def get_image(text: str,translate: bool): print(text) if(translate): text = translate_text(text) response = openai.Image.create(prompt=text, n=1, size="512x512") #,response_format="b64_json" print(text) return response['data'][0]['url']# type: ignore with gr.Blocks() as demo: gr.Markdown( """

Uso de AI para la generación de imagenes a partir de texto.

Con este espacio podrás generar imagenes a partir de texto. Utiliza el modelo DALL-E de OpenAI.

Obtendrás mejores resultados cuanto más larga sea la descripción.

""".format( encoded_image ) ) with gr.Row(): with gr.Column(): with gr.Row(): gr.Markdown("El modelo funciona mejor con entradas en inglés, podés elegir traducir al inglés con este check:") check = gr.Checkbox(label="Traducir al inglés") with gr.Row(): gr.Markdown("Primero debes ingresar el texto para generar la imagen:") with gr.Row(): with gr.Column(scale=4): prompt = gr.Textbox( label="Texo base para generar la imagen" ) # Give prompt some real estate with gr.Column(scale=1, min_width=50): btn = gr.Button("Generar") # Submit button side by side! with gr.Column(): output = gr.Image( label="Resultado", height=512, width=512 ) # Move the output up too # examples = gr.Examples( # inputs=[prompt] # examples=[["Un perro en el parque", "low quality"]], # ) btn.click( fn=get_image, inputs=[prompt,check], outputs=[output], ) # steps,guidance,width,height] demo.launch(debug=True)