Spaces:
Running
on
Zero
Running
on
Zero
import gradio as gr | |
from gradio_client import Client | |
import os | |
from dotenv import load_dotenv | |
# Load environment variables | |
load_dotenv() | |
HF_TOKEN = os.getenv("HF_TOKEN") | |
# Enhanced examples with more detailed prompts and specific styling | |
EXAMPLES = [ | |
{ | |
"title": "Knowledge Tree", | |
"prompt": """A handrawn colorful mind map diagram, educational style, vibrant colors, clear hierarchy, golden ratio layout. | |
KNOWLEDGE | |
βββ ACQUISITION [Brain with Lightning ~60px] | |
β βββ READING [Open Book with Glow] | |
β βββ PRACTICE [Hands-on Tools] | |
β βββ OBSERVATION [Eye with Magnifier] | |
βββ PROCESSING [Gear Network ~50px] | |
β βββ ANALYSIS [Graph Trending Up] | |
β βββ SYNTHESIS [Puzzle Pieces] | |
βββ RETENTION [Memory Chip ~45px] | |
β βββ SHORT-TERM [Quick Flash] | |
β βββ LONG-TERM [Solid Archive] | |
βββ APPLICATION | |
βββ CREATION [Artist Palette] | |
βββ INNOVATION [Lightbulb Constellation]""", | |
"width": 1024, | |
"height": 1024 | |
}, | |
{ | |
"title": "Digital Transformation", | |
"prompt": """A handrawn colorful mind map diagram, tech-focused style, neon accents, circuit board patterns. | |
DIGITAL TRANSFORM | |
βββ CLOUD [Cloud with Data Rain ~55px] | |
β βββ STORAGE [Database Cluster] | |
β βββ COMPUTING [Server Array] | |
βββ AUTOMATION [Robot Arm ~50px] | |
β βββ WORKFLOWS [Flowchart] | |
β βββ AI/ML [Neural Network] | |
βββ SECURITY [Shield Matrix ~45px] | |
β βββ ENCRYPTION [Lock Code] | |
β βββ MONITORING [Radar Screen] | |
βββ INTEGRATION | |
βββ APIS [Puzzle Connect] | |
βββ MICROSERVICES [Building Blocks]""", | |
"width": 1024, | |
"height": 1024 | |
}, | |
{ | |
"title": "Creative Process", | |
"prompt": """A handrawn colorful mind map diagram, artistic style, watercolor effects, flowing connections. | |
CREATIVITY | |
βββ INSPIRATION [Constellation Stars ~60px] | |
β βββ NATURE [Organic Patterns] | |
β βββ CULTURE [Global Icons] | |
βββ IDEATION [Floating Bubbles ~50px] | |
β βββ BRAINSTORM [Thunder Cloud] | |
β βββ REFINEMENT [Diamond Polish] | |
βββ EXECUTION [Artist Tools ~45px] | |
β βββ TECHNIQUE [Skilled Hands] | |
β βββ MEDIUM [Palette Mix] | |
βββ PRESENTATION | |
βββ GALLERY [Frame Display] | |
βββ FEEDBACK [Echo Ripples]""", | |
"width": 1024, | |
"height": 1024 | |
}, | |
{ | |
"title": "Future Cities", | |
"prompt": """A handrawn colorful mind map diagram, futuristic style, holographic elements, sustainable themes. | |
SMART CITY | |
βββ MOBILITY [Hover Transport ~60px] | |
β βββ AUTONOMOUS [Self-Driving] | |
β βββ CONNECTED [Network Grid] | |
βββ ENERGY [Solar Crystal ~55px] | |
β βββ RENEWABLE [Green Power] | |
β βββ STORAGE [Battery Hub] | |
βββ LIVING [Eco Building ~50px] | |
β βββ VERTICAL [Sky Gardens] | |
β βββ COMMUNITY [People Connect] | |
βββ INFRASTRUCTURE | |
βββ AI GRID [Neural City] | |
βββ ECO SYSTEM [Nature Tech]""", | |
"width": 1024, | |
"height": 1024 | |
}, | |
{ | |
"title": "Health Evolution", | |
"prompt": """A handrawn colorful mind map diagram, medical style, DNA helix patterns, wellness focus. | |
HEALTH 3.0 | |
βββ PREVENTION [Shield DNA ~60px] | |
β βββ LIFESTYLE [Activity Pulse] | |
β βββ MONITORING [Health Watch] | |
βββ TREATMENT [Caduceus Tech ~55px] | |
β βββ PERSONALIZED [DNA Code] | |
β βββ REGENERATIVE [Cell Renew] | |
βββ ENHANCEMENT [Upgrade Spiral ~50px] | |
β βββ COGNITIVE [Brain Boost] | |
β βββ PHYSICAL [Body Optimize] | |
βββ INTEGRATION | |
βββ AI HEALTH [Smart Doctor] | |
βββ COMMUNITY [Global Care]""", | |
"width": 1024, | |
"height": 1024 | |
}, | |
{ | |
"title": "Space Exploration", | |
"prompt": """A handrawn colorful mind map diagram, cosmic style, star field background, planetary elements. | |
SPACE FRONTIER | |
βββ DISCOVERY [Telescope Array ~60px] | |
β βββ MAPPING [Star Charts] | |
β βββ ANALYSIS [Data Stream] | |
βββ TRAVEL [Rocket Launch ~55px] | |
β βββ PROPULSION [Energy Core] | |
β βββ NAVIGATION [Space Map] | |
βββ COLONIZATION [Dome City ~50px] | |
β βββ HABITATS [Life Sphere] | |
β βββ RESOURCES [Mine Extract] | |
βββ RESEARCH | |
βββ ASTROBIOLOGY [Life Search] | |
βββ PHYSICS [Space Time]""", | |
"width": 1024, | |
"height": 1024 | |
}, | |
{ | |
"title": "Ocean Innovation", | |
"prompt": """A handrawn colorful mind map diagram, marine style, wave patterns, aqua themes. | |
OCEAN TECH | |
βββ EXPLORATION [Deep Submersible ~60px] | |
β βββ MAPPING [Sonar Wave] | |
β βββ RESEARCH [Lab Bubble] | |
βββ CONSERVATION [Marine Life ~55px] | |
β βββ PROTECTION [Reef Shield] | |
β βββ RESTORATION [Growth Core] | |
βββ HARVESTING [Sustainable Net ~50px] | |
β βββ ENERGY [Wave Power] | |
β βββ RESOURCES [Bio Extract] | |
βββ MONITORING | |
βββ AI SYSTEMS [Smart Sensors] | |
βββ ECOLOGY [Life Web]""", | |
"width": 1024, | |
"height": 1024 | |
}, | |
{ | |
"title": "Quantum Computing", | |
"prompt": """A handrawn colorful mind map diagram, quantum style, wave-particle duality, matrix patterns. | |
QUANTUM TECH | |
βββ COMPUTATION [Qubit Matrix ~60px] | |
β βββ PROCESSING [Wave Function] | |
β βββ ALGORITHMS [Code Quantum] | |
βββ APPLICATIONS [Use Cases ~55px] | |
β βββ SIMULATION [Model World] | |
β βββ OPTIMIZATION [Peak Find] | |
βββ INFRASTRUCTURE [Q-Hardware ~50px] | |
β βββ CONTROL [Pulse Shape] | |
β βββ COOLING [Zero Point] | |
βββ DEVELOPMENT | |
βββ SOFTWARE [Q-Code Web] | |
βββ INTEGRATION [Classical Bridge]""", | |
"width": 1024, | |
"height": 1024 | |
}, | |
{ | |
"title": "Bio Engineering", | |
"prompt": """A handrawn colorful mind map diagram, biological style, DNA patterns, organic flow. | |
BIOTECH | |
βββ GENETICS [DNA Helix ~60px] | |
β βββ EDITING [CRISPR Tool] | |
β βββ SYNTHESIS [Gene Build] | |
βββ APPLICATIONS [Lab Array ~55px] | |
β βββ MEDICINE [Heal Cell] | |
β βββ AGRICULTURE [Grow Plus] | |
βββ PLATFORMS [Bio Factory ~50px] | |
β βββ SENSORS [Live Detect] | |
β βββ PROCESSORS [Cell Compute] | |
βββ INTEGRATION | |
βββ AI BIOLOGY [Smart Life] | |
βββ ECOSYSTEM [Nature Net]""", | |
"width": 1024, | |
"height": 1024 | |
}, | |
{ | |
"title": "AI Evolution", | |
"prompt": """A handrawn colorful mind map diagram, neural network style, digital patterns, intelligence flow. | |
AI FUTURE | |
βββ COGNITION [Brain Network ~60px] | |
β βββ LEARNING [Growth Path] | |
β βββ REASONING [Logic Tree] | |
βββ PERCEPTION [Sensor Array ~55px] | |
β βββ VISION [Eye Matrix] | |
β βββ LANGUAGE [Word Web] | |
βββ INTERACTION [Connect Hub ~50px] | |
β βββ HUMAN [Bridge Link] | |
β βββ MACHINE [Code Path] | |
βββ EVOLUTION | |
βββ CONSCIOUSNESS [Mind Spark] | |
βββ CREATIVITY [Art Core]""", | |
"width": 1024, | |
"height": 1024 | |
} | |
] | |
def generate_diagram(prompt, width=1024, height=1024): | |
"""Generate a diagram using FLUX AI""" | |
try: | |
client = Client("black-forest-labs/FLUX.1-schnell", hf_token=HF_TOKEN) | |
result = client.predict( | |
prompt, | |
1872187377, # seed | |
False, # randomize_seed | |
width, | |
height, | |
4, # num_inference_steps | |
api_name="/infer" | |
) | |
return result | |
except Exception as e: | |
raise gr.Error(f"Error generating diagram: {str(e)}") | |
# Convert examples to Gradio format | |
GRADIO_EXAMPLES = [ | |
[example["prompt"], example["width"], example["height"]] | |
for example in EXAMPLES | |
] | |
# Create Gradio interface | |
demo = gr.Interface( | |
fn=generate_diagram, | |
inputs=[ | |
gr.Textbox( | |
label="Diagram Prompt", | |
placeholder="Enter your diagram structure...", | |
lines=10 | |
), | |
gr.Slider( | |
label="Width", | |
minimum=512, | |
maximum=2048, | |
step=128, | |
value=1024 | |
), | |
gr.Slider( | |
label="Height", | |
minimum=512, | |
maximum=2048, | |
step=128, | |
value=1024 | |
) | |
], | |
outputs=gr.Image(type="filepath", label="Generated Diagram"), | |
title="π¨ FLUX Diagram Generator", | |
description="""Generate beautiful hand-drawn style diagrams using FLUX AI. | |
Create intricate mind maps with custom themes and detailed iconography.""", | |
article=""" | |
### Tips for Better Results | |
- Use descriptive style hints (e.g., "vibrant colors", "flowing connections") | |
- Include specific icon sizes (e.g., "~60px") | |
- Add theme-specific patterns (e.g., "circuit board patterns", "wave patterns") | |
- Use consistent hierarchy and formatting | |
- Combine both functional and decorative elements | |
### Template Structure | |
``` | |
MAIN TOPIC | |
βββ PRIMARY [Icon ~60px] | |
β βββ SUB-A [Specific Icon] | |
β βββ SUB-B [Detailed Icon] | |
βββ SECONDARY [Icon ~55px] | |
β βββ SUB-C [Themed Icon] | |
β βββ SUB-D [Custom Icon] | |
βββ TERTIARY | |
βββ SUB-E [Dynamic Icon] | |
βββ SUB-F [Unique Icon] | |
``` | |
""", | |
examples=GRADIO_EXAMPLES, | |
cache_examples=True, | |
theme=gr.themes.Soft(), | |
css=""" | |
.gradio-container { | |
font-family: 'Inter', sans-serif; | |
} | |
.gr-prose { | |
max-width: 850px; | |
margin: auto; | |
} | |
.gr-prose code { | |
background-color: #f3f4f6; | |
padding: 0.2em 0.4em; | |
border-radius: 0.3em; | |
font-size: 0.95em; | |
} | |
.gr-prose h3 { | |
margin-top: 1.5em; | |
color: #2563eb; | |
} | |
""" | |
) | |
# Launch app | |
if __name__ == "__main__": | |
# Set HF space configs | |
demo.queue(max_size=15) # Increased queue size | |
demo.launch( | |
share=False, | |
show_error=True, | |
server_name="0.0.0.0", | |
server_port=7860, | |
) |