https://github.com/vickydev810/snapify
Snapify is a creative app that combines image captioning, emotion analysis, and music recommendation. Users upload photos, and Snapify curates personalized Spotify playlists based on the emotions detected in the image.
https://github.com/vickydev810/snapify
Last synced: 2 months ago
JSON representation
Snapify is a creative app that combines image captioning, emotion analysis, and music recommendation. Users upload photos, and Snapify curates personalized Spotify playlists based on the emotions detected in the image.
- Host: GitHub
- URL: https://github.com/vickydev810/snapify
- Owner: VickyDev810
- License: mit
- Created: 2025-01-23T08:31:47.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-25T10:04:07.000Z (over 1 year ago)
- Last Synced: 2025-01-25T11:17:33.064Z (over 1 year ago)
- Language: Python
- Size: 4.88 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Snapify πΈπ΅
Snapify is a creative app that combines image captioning, emotion analysis, and music recommendation. Users upload photos, and Snapify curates personalized Spotify playlists based on the emotions detected in the image.
---
## π Features
- **Upload Photos**: Users can upload pictures directly from their devices.
- **Emotion Detection**: Analyze the emotion conveyed by the image using AI-powered models.
- **Spotify Integration**: Connect your Spotify account and receive playlists tailored to match the mood of your photo.
- **Seamless Experience**: Smooth interaction between image analysis and music recommendation for an intuitive user journey.
---
## π οΈ Tech Stack
### Models & Libraries
- **Image Captioning**: [Salesforce/blip-image-captioning-base](https://huggingface.co/Salesforce/blip-image-captioning-base)
- **Emotion Detection**: [bhadresh-savani/bert-base-uncased-emotion](https://huggingface.co/bhadresh-savani/bert-base-uncased-emotion)
- **Hugging Face Pipelines**: Streamline text classification and NLP processes.
### Backend
- **Python**: For integrating AI models and backend logic.
### Integration
- **Spotify API**: For fetching music recommendations and creating personalized playlists.
---
## πΌοΈ How It Works
1. **Upload an Image**: Users upload their favorite pictures from their devices.
2. **Generate Captions**: The app uses the `Salesforce/blip-image-captioning-base` model to create descriptive prompts for the uploaded image.
3. **Analyze Emotions**: The `bert-base-uncased-emotion` model identifies the emotions reflected in the generated prompt.
4. **Fetch Playlists**: Based on the detected emotions, Snapify fetches and suggests personalized playlists via the Spotify API.
---
## π Setup & Installation
### Prerequisites
- Python 3.8+
- Spotify developer account
- Hugging Face account
### Installation
1. Clone the repository:
```bash
git clone https://github.com/your-username/snapify.git
cd snapify
```
2. Install dependencies:
```bash
pip install -r requirements.txt
```
3. Set up your Spotify credentials:
- Go to the [Spotify Developer Dashboard](https://developer.spotify.com/dashboard/).
- Create an app and get the client ID and client secret.
- Add them to the environment variables or a `.env` file.
4. Run the app:
```bash
python app.py
```
---
## π Future Enhancements
- Multi-language support for captions and emotion analysis.
- Advanced playlist curation with user preferences.
- Social sharing to let users share their Snapify moments.
---
## π License
This project is licensed under the [MIT License](LICENSE).