File size: 4,071 Bytes
ed64d4e 66b1848 ed64d4e 15d0d7e 66b1848 ed64d4e 15d0d7e ed64d4e 15d0d7e 66b1848 15d0d7e ed64d4e 15d0d7e 66b1848 15d0d7e 66b1848 15d0d7e 66b1848 ed64d4e 15d0d7e |
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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
import streamlit as st
from gradio_client import Client
import time
def generate_image(prompt):
try:
client = Client("mukaist/Midjourney")
result = client.predict(
prompt=prompt,
negative_prompt="(deformed iris, deformed pupils, semi-realistic, cgi, 3d, render, sketch, cartoon, drawing, anime:1.4), text, close up, cropped, out of frame, worst quality, low quality, jpeg artifacts, ugly, duplicate, morbid, mutilated, extra fingers, mutated hands, poorly drawn hands, poorly drawn face, mutation, deformed, blurry, dehydrated, bad anatomy, bad proportions, extra limbs, cloned face, disfigured, gross proportions, malformed limbs, missing arms, missing legs, extra arms, extra legs, fused fingers, too many fingers, long neck",
use_negative_prompt=True,
style="2560 x 1440",
seed=0,
width=1024,
height=1024,
guidance_scale=6,
randomize_seed=True,
api_name="/run"
)
return result
except Exception as e:
st.error(f"Error generating image: {str(e)}")
return None
def handle_prompt_click(prompt_text, key):
st.session_state[f'selected_prompt_{key}'] = prompt_text
# Show loading message
with st.spinner('Generating artwork...'):
# Generate the image
result = generate_image(prompt_text)
if result:
# Store the result in session state
st.session_state[f'generated_image_{key}'] = result
st.success("Artwork generated successfully!")
def main():
st.title("๐จ Art Prompt Generator")
st.markdown("### Select a prompt style to generate artwork:")
# Dictionary mapping prompts to emojis
prompt_emojis = {
"AIart/AIArtistCommunity": "๐ค",
"Black & White": "โซโช",
"Black & Yellow": "โซ๐",
"Blindfold": "๐",
"Break": "๐",
"Broken": "๐จ",
"Christmas Celebrations art": "๐",
"Colorful Art": "๐จ",
"Crimson art": "๐ด",
"Eyes Art": "๐",
"Going out with Style": "๐",
"Hooded Girl": "๐งฅ",
"Lips": "๐",
"MAEKHLONG": "๐ฎ",
"Mermaid": "๐งโโ๏ธ",
"Morning Sunshine": "๐
",
"Music Art": "๐ต",
"Owl": "๐ฆ",
"Pink": "๐",
"Purple": "๐",
"Rain": "๐ง๏ธ",
"Red Moon": "๐",
"Rose": "๐น",
"Snow": "โ๏ธ",
"Spacesuit Girl": "๐ฉโ๐",
"Steampunk": "โ๏ธ",
"Succubus": "๐",
"Sunlight": "โ๏ธ",
"Weird art": "๐ญ",
"White Hair": "๐ฑโโ๏ธ",
"Wings art": "๐ผ",
"Woman with Sword": "โ๏ธ"
}
# Create columns for better button layout
col1, col2, col3 = st.columns(3)
# Distribute buttons across columns
for idx, (prompt, emoji) in enumerate(prompt_emojis.items()):
full_prompt = f"QT {prompt}"
col = [col1, col2, col3][idx % 3]
with col:
if st.button(f"{emoji} {prompt}", key=f"btn_{idx}"):
handle_prompt_click(full_prompt, idx)
# Display generated images and prompts
st.markdown("---")
st.markdown("### Generated Artwork:")
# Create columns for displaying images and prompts
display_cols = st.columns(2)
for key in st.session_state:
if key.startswith('selected_prompt_'):
idx = key.split('_')[-1]
image_key = f'generated_image_{idx}'
# Display prompt
with display_cols[0]:
st.write("Prompt:", st.session_state[key])
# Display image if it exists
if image_key in st.session_state:
with display_cols[1]:
# Assuming the result is a path or URL to the image
st.image(st.session_state[image_key], caption="Generated Artwork", use_column_width=True)
if __name__ == "__main__":
main() |