Eroji is an elegant, modern web application that leverages OpenAI's GPT-4.1 Vision capabilities to provide detailed face analysis from uploaded images. The app features a polished, responsive UI built with Streamlit and custom CSS styling.
- No dependencies on traditional computer vision libraries (OpenCV, DeepFace, etc.)
- State-of-the-art analysis leveraging GPT-4.1's powerful vision capabilities
- JSON-structured responses for consistent data handling
- Primary and secondary emotions with confidence scores
- Emotional intensity and expression details
- Age estimation with confidence ranges
- Gender perception with confidence metrics
- Ethnicity/race perception (when detectable)
- Facial attributes (hair, facial hair, glasses, accessories)
- Pose and positioning analysis
- Face quality metrics (visibility, lighting)
- Clean, polished interface with custom styling
- Dark/Light theme support via Streamlit's theme toggle
- Responsive design that works on various screen sizes
- Interactive elements with visual feedback
- Progress indicators during analysis
- Detailed result cards with organized metrics
- Raw JSON data access for developers
- Handles multiple faces in a single image
- Individual analysis for each detected face
- Numerical identification to distinguish between faces
- Python 3.8+
- OpenAI API key with GPT-4.1 Vision access
-
Clone the repository:
git clone https://github.com/a3ro-dev/eroji.git cd eroji
-
Set up a virtual environment (recommended):
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Configure your OpenAI API key:
- Create a
.streamlit/secrets.toml
file with:OPENAI_API_KEY = "sk-your-api-key-here"
- Or set it as an environment variable:
export OPENAI_API_KEY=sk-your-api-key-here
- Create a
streamlit run app.py
The app will be accessible at http://localhost:8501
in your web browser.
- Static Image Analysis - Analyze any image file
- Interactive Menu - User-friendly navigation
This project is licensed under the MIT License - see the LICENSE.md file for details.
Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests to the GitHub repository.
Made with ❤️ by a3ro-dev