aadi/ # Project root
│
├── app.py # Main Flask application
├── requirements.txt # Python dependencies
├── .env # Environment configuration
├── README.md # This documentation
│
├── static/ # All static assets
│ │ └── uploads/ # Image uploads directory
│ └───────style.css # Main stylesheet
│ ├── demo-animation.gif
│ ├── flask-logo.png
│ ├── gemini-logo.png
│ ├── landing-hero.png
│ ├── sqlite-logo.png
│ ├── user1.jpg
│ ├── user2.jpg
│ └── user3.jpg
│
├── templates/ # HTML templates
│ ├── base.html # Base template
│ ├── index.html # Main chat interface
│ ├── landing.html # Landing page
│ ├── login.html # Login page
│ ├── profile.html # User profile
│ └── signup.html # Registration page
│
└── instance/ # Auto-generated
└── database.db # SQLite database file
A conversational Flask web application that uses Google's Gemini API to analyze images through natural language interactions.
- Image Analysis: Upload images and get AI-generated descriptions
- Conversational Interface: Ask follow-up questions about your images
- User System: Login, registration, and profile management
- Responsive Design: Works on desktop and mobile devices
- Backend: Python Flask
- AI Engine: Gemini 1.5 Flash API
- Database: SQLite with SQLAlchemy
- Frontend: HTML5, CSS3, Vanilla JavaScript
-
Clone the repository
git clone https://github.com/Supriyadasari04/AI-Powered-Image-Chatbot.git cd AI-Powered-Image-Chatbot -
Set up environment
python -m venv venv # Windows: venv\Scripts\activate # Mac/Linux: source venv/bin/activate
-
Install dependencies
pip install -r requirements.txt
-
Configure environment
echo "GEMINI_API_KEY=your_api_key_here" > .env echo "SECRET_KEY=your_secret_key_here" >> .env
-
Run the application
python app.py
-
Ctrl + C Notice - a new instance folder to store database is created
-
Re-run the application
python app.py
Visit http://localhost:5000 in your browser.
app.py: Main application logicstatic/: All CSS, JS, and uploaded imagestemplates/: HTML pages with Jinja2 templatinginstance/: Database storage
POST /upload: Handle image uploadsPOST /chat: Process chat messagesGET /history: Retrieve conversation history
- Image editing capabilities
- Multi-language support
- Advanced user analytics
- Docker deployment
Pull requests are welcome! For major changes, please open an issue first.
This project is licensed under the MIT License - see the LICENSE file for details.



