import gradio as gr import requests from PIL import Image from io import BytesIO API_KEY = '980ec5edcf1070c6022f28762a504bc7c4d1cf5d3aa45a5d0a8cf5134a3a381da0b2fa967f82e69426fca77db5f4924e' API_URL = 'https://clipdrop-api.co/text-to-image/v1' def api_integration_function(prompt): # Make API request headers = {'x-api-key': API_KEY} files = {'prompt': (None, prompt, 'text/plain')} response = requests.post(API_URL, headers=headers, files=files) # Process the response if response.ok: image_bytes = response.content image = Image.open(BytesIO(image_bytes)) return image else: return None def generate_image(): image = api_integration_function(inp.value) if image is not None: out.image(image) else: out.image("placeholder.png") with gr.Blocks() as demo: gr.Markdown( """ # Text-to-Image Demo Enter your text prompt below to generate an image. """) inp = gr.Textbox(placeholder="Enter your text prompt") out = gr.Image() button = gr.Button(label="Generate", action=generate_image) inp.change(api_integration_function,inp, out) demo.launch()