from transformers import pipeline #Create Image Captioning Pipeline imagecaptioningpipe = pipeline("image-to-text",model="Salesforce/blip-image-captioning-base") from diffusers import DiffusionPipeline #Create Image Generation Pipeline imagegenpipe = DiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5") #Define Image Captioner and Image Generate Functions from helper import image_to_base64_str, base64_to_pil def captioner(image): base64_image = image_to_base64_str(image) result = imagecaptioningpipe(base64_image) return result[0]['generated_text'] def generate(prompt): return imagegenpipe(prompt).images[0] #Build Image Caption and Generate Image Game App. import gradio as gr def caption_and_generate(image): caption = captioner(image) image = generate(caption) return [caption, image] with gr.Blocks() as demo: gr.Markdown("# Caption Image-and-Generate Image🖍️") image_upload = gr.Image(label="Upload Your image",type="pil") btn_all = gr.Button("Caption and generate") caption = gr.Textbox(label="Generated caption") image_output = gr.Image(label="Generated Image") btn_all.click(fn=caption_and_generate, inputs=[image_upload], outputs=[caption, image_output]) gr.close_all() demo.launch()