An open API service indexing awesome lists of open source software.

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.

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).