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, )