Skip to content

spotifeye is a mosaic generator that uses your Spotify playlist album covers to recreate any image of your choice!

Notifications You must be signed in to change notification settings

viv511/spotifeye

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

spotifeye

Spotifeye is a mosaic generator that uses your Spotify playlist album covers to recreate any image of your choice! I had the original idea when trying to visualize music taste in a tangible way, and I thought the similarities between pixels and album covers made for a fun project idea. If you do end up using this tool and/or enjoy it, consider starring the repo!

spotifeye

Table of Contents

Features!

  • Uses your Spotify playlist data exported via Exportify (Huge thanks to Pavel Komarov for creating Exportify—this project would not be possible without it!)
  • Color/brightness matching for an accurate mosaic w/ configurable tile size and blending options!
  • Smart caching of album covers for faster subsequent runs (~instant results after first run!)
  • No Spotify API required (due to its current unavailability)
  • No ML/AI models involved

Prerequisites

  • Python 3.8+ installed on your system
    • Check if Python is installed: python3 --version
    • If not installed, download it from python.org
  • pip (Python package installer)
  • Git (for cloning the repository)

Steps to Use

Step 1: Get your Spotify playlist data

  1. Go to Exportify
  2. Log in with your Spotify account
  3. Select the playlist(s) you want to export and click "Export" to download as CSV
  4. Save the CSV file to the Spotifeye project folder

Step 2: Installation

# Git clone the repository into your local computer
git clone https://github.com/viv511/spotifeye 

# Navigate into the project directory
cd spotifeye

# Create and activate a virtual environment (optional but recommended)
python3 -m venv venv # Windows: python -m venv venv
source venv/bin/activate # Windows: .\venv\Scripts\activate

#!!! Verify that the venv is activated (you should see a `(venv)` prefix in your terminal) !!!

# Install pip
pip install --upgrade pip

# Install required Python packages
pip install -r requirements.txt

# Follow the rest of the steps!

Step 3: Get an input image

  1. Choose an image you want to recreate with album covers
  2. Place it in the input/ folder
  3. Note the filename (e.g., batman.png)

Step 4: Configure the project

Edit config.py with your settings:

DEBUG_FLAG = False                    # Enable debug mode for more logging (False as default)
ALBUM_TILE_SIZE = 50                  # Size of each album tile (pixels)
CSV_PATH = "PLAYLIST_NAME.csv"        # Your CSV file from Exportify
INPUT_IMAGE_NAME = "IMAGE_NAME.png"   # Your input image filename, e.g., "batman.png"
BLEND_FINAL = True                    # Blend original image for better color
BLEND_ALPHA = 0.3                     # How much to blend (0.0 to 1.0)

Step 5: Run the program

python3 main.py

The program will take some time to process, depending on the size of your playlist and the input image. The first run will take longer as it downloads album covers, but subsequent runs will be near-instant due to caching.

The output image will be saved in the output/ folder with a filename based on your input image (e.g., output/batman.png).


some tips!!

  • More songs = more album variety = better results
    • You can upload your entire liked songs as a playlist via the desktop Spotify app
  • Match your image's color distribution to your playlist (e.g., darker playlists work better with darker images)
    • Use test.png as an all-white image to see the distribution
  • Adjust ALBUM_TILE_SIZE to control detail vs. mosaic size
  • Use BLEND_ALPHA to fine-tune the final appearance (assuming BLEND_FINAL is True)

Legal Notice

I wanted to use the SpotifyAPI, but as of now (Jan 2026) it is currently unaccessible for unknown reasons (see proof.png).

For legal reasons, it’s important to note that Spotify’s Terms of Service prohibit scraping or automated collection of data for training AI or machine learning models. Specifically, Spotify ToS → User Guidelines → #5 states that:

"crawling" or "scraping", whether manually or by automated means, or otherwise using any automated means (including bots, scrapers, and spiders), to view, access or collect information, or using any part of the Services or Content to train a machine learning or AI model or otherwise ingesting Spotify Content into a machine learning or AI model;

This project only uses Spotify album covers for personal, algebraic analysis (e.g., computing image brightness and sorting) and does not train or feed any ML/AI models. Therefore, this approach does not violate Spotify’s Terms of Service. Again, all processing is purely mathematical and algebraic. No Spotify content is stored or used beyond what is needed for this project.

Disclaimer

I made this tool to learn more about web scraping and about my friends' music tastes. I think the idea of being able to visualize something as abstract and complicated as music is pretty neat, which is why I made this project open source so other people could try it out too! That being said, I'm not responsible for any misuse of this tool. Please don't recreate images that are copyrighted, explicit, violent, or otherwise inappropriate. Please use this tool responsibly and ethically (ty!)

~viv511

About

spotifeye is a mosaic generator that uses your Spotify playlist album covers to recreate any image of your choice!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages