import gradio as gr from models import analyze_content from utils import is_safe_image from config import MAX_FILE_SIZE def process_content(content): if not is_safe_image(content): return "Content violates safety guidelines. Please upload appropriate content." return analyze_content(content) with gr.Blocks(title="Visual Content Analysis") as demo: gr.Markdown("## Professional Visual Content Analysis") gr.Markdown("Upload images or videos for detailed analysis and feedback") with gr.Row(): with gr.Column(): input_media = gr.File(label="Upload Media", file_types=["image", "video"], file_count="single") submit_btn = gr.Button("Analyze", variant="primary") with gr.Column(): output = gr.Textbox(label="Analysis Report", interactive=False) gr.Markdown(f"*Max file size: {MAX_FILE_SIZE}MB*") submit_btn.click( fn=process_content, inputs=input_media, outputs=output ) if __name__ == "__main__": demo.launch()