spotify_images
provides a simple method of retrieving all unique album art from either a Spotify playlist or artist on Spotify and creating a collage from the query.
git clone https://github.com/orioncrocker/spotify_images
Before using this program, you'll need to get credentials from Spotify's API. An account on Spotify will provide two credentials: 'client id' and 'client secret.'
Modify the config.py
file's two fields:
client_id = 'your_client_id'
client_secret = 'your_client_secret'
Two prerequisites you'll need installed on your machine are pillow and spotipy.
You can easily get both of these from the pip
repository.
If you aren't yet aware of the beauty of pip
, go check out it's website.
You're welcome.
pip3 install -r requirements.txt
By default spotify_images
fetches all unique art of any Spotify arist or playlist link given as an argument
python3 main.py https://open.spotify.com/playlist/13OSe3KLY2qnUrdP2Sv6j7
Use the -v
or --verbose
flag to see what the program is doing in real time.
Use the -c
or --collage
collage flag to create a collage of the artwork downloaded.
python3 main.py -vc https://open.spotify.com/playlist/13OSe3KLY2qnUrdP2Sv6j7
Name: SRC#15
Type: playlist
results/src#15/blade_runner_(music_from_the_original_soundtrack).jpeg
results/src#15/low_country.jpeg
results/src#15/true_widow.jpeg
results/src#15/these_changing_skies.jpeg
results/src#15/odyssey.jpeg
results/src#15/can't_buy_happiness.jpeg
results/src#15/reptilians.jpeg
results/src#15/dangerous_days.jpeg
results/src#15/volume_1_(deluxe_edition).jpeg
results/src#15/led_zeppelin_iv.jpeg
results/src#15/lunz.jpeg
results/src#15/tempel.jpeg
12 saved to results/src#15
Total unique pictures: 12
Rows: 3 Cols: 4
Collage saved as: results/src#15.jpeg
The resulting collage:
I would love to be able to specify a width and height for the purposes of creating wallpapers. Additionally, a website that hosts this code via Flask would be ideal so that anyone could utilize this software without the hassle of installation and configuration. However if I'm going do that I may as well rewrite this program in Javascript and save myself some trouble.