import os import random import gradio as gr import requests from PIL import Image from utils import read_css_from_file from inference import generate_image_from_text, generate_image_from_text_with_persistent_storage # Read CSS from file css = read_css_from_file("style.css") DESCRIPTION = '''
WordCraft : Visuals from Verbs

A small, lighting fast efficient AI image generator

This 💻 demo uses the EfficientCLIP-GAN model trained on CUB and CC12M dataset.
Keep your prompt coherent to domain of the selected model.
If you like the demo, don't forget to click on the like 💖 button.
''' available_models = [ ("EfficientCLIP-GAN trained on CUB dataset (Restricted to birds)", "CUB"), ("EfficientCLIP-GAN trained on CC12M dataset (More flexible)", "CC12M") ] # Creating Gradio interface with gr.Blocks(css=css) as app: gr.Markdown(DESCRIPTION) with gr.Row(): with gr.Column(): text_prompt = gr.Textbox(label="Input Prompt", value="this tiny bird has a very small bill, a belly covered with white delicate feathers and has a set of black rounded eyes.", lines=3) model_selector = gr.Dropdown(choices=available_models, value="CUB", label="Select Model", info="Select a model with which you want to generate images") generate_button = gr.Button("Generate Images", variant='primary') with gr.Row(): with gr.Column(): image_output1 = gr.Image(label="Generated Image 1") image_output2 = gr.Image(label="Generated Image 2") with gr.Column(): image_output3 = gr.Image(label="Generated Image 3") image_output4 = gr.Image(label="Generated Image 4") generate_button.click(generate_image_from_text_with_persistent_storage, inputs=[text_prompt, model_selector], outputs=[image_output1, image_output2, image_output3, image_output4]) # Launch the app app.launch()