nevproject/PonyDiffusionV10
0
1import gradio as gr2import requests3from PIL import Image4from io import BytesIO5import os6 7 8 9# Load API Token from environment variable10API_TOKEN = os.getenv("HF_API_TOKEN") # Ensure you've set this environment variable11 12# Hugging Face Inference API URL13API_URL = "https://api-inference.huggingface.co/models/Benevolent/PonyDiffusionV10"14 15# Function to call Hugging Face API and get the generated image16def generate_image(prompt):17 headers = {"Authorization": f"Bearer {API_TOKEN}"}18 data = {"inputs": prompt}19 20 response = requests.post(API_URL, headers=headers, json=data)21 22 if response.status_code == 200:23 image_bytes = BytesIO(response.content)24 image = Image.open(image_bytes)25 return image26 else:27 return f"Error: {response.status_code}, {response.text}"28 29# Create Gradio interface30def create_ui():31 with gr.Blocks() as ui:32 gr.Markdown("## PonyDiffusionV10 - Text to Image Generator")33 34 with gr.Row():35 prompt_input = gr.Textbox(label="Enter a Prompt", placeholder="Describe the image you want to generate", lines=3)36 generate_button = gr.Button("Generate Image")37 38 with gr.Row():39 output_image = gr.Image(label="Generated Image")40 41 # Link the button to the function42 generate_button.click(fn=generate_image, inputs=prompt_input, outputs=output_image)43 44 return ui45 46# Run the interface47if __name__ == "__main__":48 create_ui().launch()