import gradio as gr # ------------------------- # SMART UNDERSTANDING LOGIC # ------------------------- def detect_mode(user_text): text = user_text.lower() if any(k in text for k in ["upsc", "exam", "notes", "school", "college"]): return "academic" if any(k in text for k in ["instagram", "facebook", "dp", "profile", "post"]): return "social" if any(k in text for k in ["diagram", "flow", "map"]): return "diagram" return "general" def build_prompt(user_text): mode = detect_mode(user_text) base_realism = ( "highly realistic, photorealistic image, " "natural lighting, real human texture, " "no cartoon, no fantasy, professional quality" ) if mode == "academic": return ( f"{base_realism}, academic textbook style, " f"exam-safe visual, subject based on: {user_text}" ) if mode == "social": return ( f"{base_realism}, premium social media portrait, " f"clean background, instagram facebook ready, " f"based on: {user_text}" ) if mode == "diagram": return ( f"clean academic diagram, simple design, " f"clear labels, NCERT style, topic: {user_text}" ) return f"{base_realism}, based on: {user_text}" NEGATIVE_PROMPT = ( "cartoon, anime, illustration, painting, fantasy, unreal, " "plastic skin, blurry, distorted, watermark, text, logo" ) # ------------------------- # IMAGE GENERATION FUNCTION # ------------------------- def generate_image(user_text): final_prompt = build_prompt(user_text) # ๐Ÿ”ด เคฏเคนเคพเค‚ เค…เคชเคจเคพ MODEL / API call เคฒเค—เคพเคจเคพ เคนเฅˆ # image = model.generate( # prompt=final_prompt, # negative_prompt=NEGATIVE_PROMPT # ) # return image return None # placeholder (UI test เค•เฅ‡ เคฒเคฟเค) # ------------------------- # GRADIO UI # ------------------------- with gr.Blocks(title="Smart Text-to-Art AI") as demo: gr.Markdown( """ ## ๐ŸŽ“ Smart Text-to-Art AI Generator เคฌเคธ เคฒเคฟเค–เฅ‹, AI เค–เฅเคฆ เคธเคฎเคเฅ‡เค—เคพ เค”เคฐ realistic image เคฌเคจเคพเคเค—เคพ โœ” Student Safe โœ” Social Media Ready โœ” No Cartoon / No Fantasy """ ) user_input = gr.Textbox( label="เค†เคช เค•เฅเคฏเคพ เคฌเคจเคตเคพเคจเคพ เคšเคพเคนเคคเฅ‡ เคนเฅˆเค‚?", placeholder="Example: UPSC ke liye raja ki realistic photo" ) generate_btn = gr.Button("Generate Image") output = gr.Image(label="Output", type="pil") generate_btn.click( fn=generate_image, inputs=user_input, outputs=output ) if __name__ == "__main__": demo.launch()