Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from huggingface_hub import InferenceClient | |
| import os | |
| # Initialize the Inference Client | |
| client = InferenceClient(token=os.getenv("HF_TOKEN")) | |
| def generate_image(prompt): | |
| try: | |
| # Generate image using Stable Diffusion 2.1 (free tier compatible) | |
| image = client.text_to_image( | |
| prompt, | |
| model="stabilityai/stable-diffusion-2-1", | |
| negative_prompt="blurry, low quality", # Optional quality improvement | |
| guidance_scale=7.5, # Controls creativity vs prompt adherence | |
| height=512, # Standard size | |
| width=512 | |
| ) | |
| return image | |
| except Exception as e: | |
| raise gr.Error(f"Generation failed: {str(e)}. Please try again later.") | |
| with gr.Blocks(title="Free AI Image Generator") as demo: | |
| gr.Markdown("## 🖼️ Free AI Image Generator (Powered by Hugging Face)") | |
| with gr.Row(): | |
| with gr.Column(): | |
| prompt = gr.Textbox( | |
| label="Describe your image", | |
| placeholder="A astronaut riding a horse on Mars", | |
| lines=2 | |
| ) | |
| generate_btn = gr.Button("Generate Image", variant="primary") | |
| with gr.Column(): | |
| output_image = gr.Image( | |
| label="Generated Image", | |
| height=512, | |
| width=512 | |
| ) | |
| # Additional controls | |
| with gr.Accordion("Advanced Options", open=False): | |
| negative_prompt = gr.Textbox( | |
| label="What to exclude from image", | |
| placeholder="blurry, distorted, low quality" | |
| ) | |
| guidance = gr.Slider(3, 20, value=7.5, label="Creativity vs Accuracy") | |
| steps = gr.Slider(10, 50, value=25, label="Generation Steps") | |
| generate_btn.click( | |
| fn=generate_image, | |
| inputs=[prompt, negative_prompt, guidance, steps], | |
| outputs=output_image | |
| ) | |
| demo.launch(share=True) # share=True creates public link |