Snap2Vibe Project Story

Inspiration

As social media content creation continues to grow, creators often struggle to match visuals with the perfect soundtrack. We wanted to build a tool that makes this effortless — turning any photo into a music experience that fits its mood and scene.

What it does

Snap2Vibe is an AI-powered web app that analyzes the mood and scene of a photo and recommends trending, region-specific songs. Users can also filter results by favorite singers, actors, or genres, creating a personalized soundtrack for their social media posts.

Tagline: Let your photos find their rhythm.

How we built it

  • Frontend: Streamlit for quick UI with image upload and input fields.
  • Backend: FastAPI for handling requests and connecting to Spotify API.
  • Mood & Scene Detection: CLIP model and OpenAI vision models to understand entire scenes (like rain, sports, beach, or city).
  • Music Recommendations: Spotify API fetches trending songs based on detected mood and region.

We used Python libraries like transformers, torch, PIL, and requests to integrate AI and music recommendation pipelines.

Challenges we ran into

  • Large file handling: .venv and PyTorch DLLs exceeded GitHub’s 100MB limit; we had to clean the repository and use .gitignore.
  • Region-based Spotify API calls: Ensuring accurate country codes and handling API token authentication was tricky.
  • Scene detection: Moving from pre-defined labels to AI-based scene understanding required experimenting with CLIP and prompt-based detection.

Accomplishments that we're proud of

  • Successfully implemented scene-aware song recommendations that go beyond facial expressions.
  • Made the system region-aware, giving localized trending songs.
  • Created a fast, user-friendly UI for hackathon presentation within 12 hours.

What we learned

  • How to integrate AI vision models with real-world APIs (Spotify).
  • Managing large repositories and clean Git histories to comply with GitHub limits.
  • Rapid prototyping and team collaboration under time constraints.

What's next for Snap2Vibe

  • Add an Instagram/TikTok caption generator based on mood.
  • Save user “vibe sessions” for later reference.
  • Implement a shareable music card that users can post directly to social media.
  • Improve scene detection with more advanced image-to-text embeddings for better song matching.

Built With

Share this project:

Updates