Spaces:
Sleeping
Sleeping
File size: 1,556 Bytes
51ec5df b82ab13 51ec5df 1fc8f8d 51ec5df 1fc8f8d 51ec5df 1fc8f8d 8990314 51ec5df 8990314 51ec5df 8990314 5a6aef2 1fc8f8d 51ec5df 1fc8f8d 51ec5df b82ab13 51ec5df afb2bba 36bd520 1fc8f8d 51ec5df afb2bba |
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 39 40 41 42 43 44 45 46 |
from contextlib import nullcontext
import csv
import random
import gradio as gr
from gradio.components import Textbox, Dropdown
def parametroAleatorio(lista):
res = random.choice(list(lista))
while res == '':
res = random.choice(list(lista))
return res
def concat_prompt(*args):
campos = {campo: parametroAleatorio(valoresUnicos[campo]) for campo in csv_reader.fieldnames}
campos.update({campo: valor for campo, valor in zip(csv_reader.fieldnames, args) if valor})
prompt = ', '.join([campos[campo] for campo in csv_reader.fieldnames])
return prompt
with open('escenografia.csv', 'r') as csv_file:
csv_reader = csv.DictReader(csv_file)
valoresUnicos = {}
for campo in csv_reader.fieldnames:
valoresUnicos[campo] = set()
for row in csv_reader:
for campo, valor in row.items():
valoresUnicos[campo].add(valor)
dropdowns = []
for campo, valores in valoresUnicos.items():
dropdown = Dropdown(list(valores), label=campo.capitalize())
dropdowns.append(dropdown)
output_text = Textbox(label='Prompt')
title = "Generador Prompts Midjourney"
description = '<div align="center"> Selecciona entre los distintos menús desplegables para generar un Prompt creativo, los que dejes en blanco serán elegidos aleatoriamente.</div>'
inputs = [Dropdown(list(valoresUnicos[campo]), label=campo.capitalize()) for campo in valoresUnicos.keys()]
outputs = output_text
gr.Interface(fn=concat_prompt, inputs=inputs, outputs=outputs, title=title, description=description).launch()
|